it-swarm-pt.tech

Como posso suspender / hibernar da linha de comando?

Como posso suspender ou hibernar meu laptop usando a linha de comando, sem instalar software adicional?

347
user1034

Tradicionalmente, o ubuntu suportava um método bastante abrupto de suspensão e hibernação. Nenhum deles se integraria bem com outros aplicativos e às vezes nem funcionaria em algumas máquinas. O novo método não requer raiz e notifica todos os aplicativos que estão ouvindo eventos de energia.

Método Systemd

A partir do Ubuntu 16.04, a chamada systemctl deve ser usada (See Suspender o comando no Ubuntu 16.04 )

systemctl suspend

e

systemctl hibernate

Novo método

Veja a resposta aqui nesta página de Adam Paetznick sobre o uso de dbus . O ideal seria criar um atalho/script ~/bin/suspend que facilite o uso dessa ação.

Para uso sobre o ssh, você deve modificar as regras do policykit conforme descrito por Peter V. Mørch

Método Antigo

De acordo com o Fórum do Ubunt você pode usar os seguintes comandos:

pmi action suspend

e

pmi action hibernate

Isso requer que você instale o pacote powermanagement-interface (não testado).

Sudo apt-get install powermanagement-interface

Eu também encontrei os comandos Sudo pm-suspend e Sudo pm-hibernate para trabalhar no meu netbook.

294
txwikinger

A maneira amigável para o gnome é usar o dbus.

dbus-send --system --print-reply \
    --dest="org.freedesktop.UPower" \
    /org/freedesktop/UPower \
    org.freedesktop.UPower.Suspend

Existem duas vantagens para este comando sobre pm-suspend.

  1. Ele irá bloquear sua tela (no currículo) se você tiver essa opção selecionada no gnome.

  2. Ele não requer privilégios de root, por isso é fácil adicioná-lo como um atalho de teclado, por exemplo.

Como mencionado nos comentários, a troca do Suspend na última linha para Hibernate cria um comando de hibernação:

dbus-send --system --print-reply \
    --dest="org.freedesktop.UPower" \
    /org/freedesktop/UPower \
    org.freedesktop.UPower.Hibernate

Se a hibernação lançar Error org.freedesktop.UPower.GeneralError: not authorized, seu usuário pode não ter permissão para hibernar. Edite ou crie /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla para que contenha a seguinte seção: (source)

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Isso foi testado em buntuGnome 14.04 .

Nota: Este é basicamente o mesmo que a resposta do qbi, mas atualizado para trabalhar para versões mais recentes do Ubuntu, bem como incluindo o hibernate.

187
Adam Paetznick

inglês

Se você quiser que seu computador seja suspenso em uma hora, porque você quer ir para a cama ouvindo sua estação de rádio favorita, abra o terminal e digite:

Sudo bash -c "sleep 1h; pm-suspend"

e o seu computador adormecerá em 1 hora. Quando você acordar, ele terá mantido suas imagens abertas e todas as suas coisas.

Você pode substituir 1h pelo que deseja: hpara horas, mpara minutos, spara segundos, dpara dias.

Boa noite!

Français

Si vous voulez juste que votre ordinateur se mette en veille dans une heure parce que vous voulez vous endormir en ecoutant votre radio preférée, ouvrez Terminal et tapez:

Sudo bash -c "sleep 1h; pm-suspend"

et votre ordinateur s'endormira dans une heure. Quand vous vous réveillerez, il aura conserved en mémoire vos applications ouvertes.

Vous pouvez remplacer 1h par ce que vous voulez: hpour les heures, mpour les minutos, spour les secondes, dpour les jours.

Bonne nuit!

Español

Si quieres suspender tu computadora em um momento por quieres ir um dormir escuchando tu estación de radioa solo, tan solo opens el terminal e escribe:

Sudo bash -c "sleep 1h; pm-suspend"

y tu computadora se quedará dormida en 1 hora. O Cuando desponta, todos os livros são abatidos para as imagens e todas as cosas.

Puedes reemplazar 1h por lo que desees: hpara horas, mpara minutos, spara segundos, dpara días.

¡Buenas noches!

57
greg

Para buntu 12.04 LTS e buntu 13.04

Para obter a hibernação:

Sudo pm-hibernate

Para obter a suspensão:

Sudo pm-suspend
31
rɑːdʒɑ

Você pode usar o arquivo /sys/power/state para fazer isso. Primeiro, descubra quais estados são suportados:

[email protected]:_> cat /sys/power/state
standby mem disk

[email protected]:~> echo -n mem > /sys/power/state  # suspend to ram
[email protected]:~> echo -n disk > /sys/power/state  # suspend to disk

ou via dbus:

# Suspender dbus-send --session --dest = org.gnome.PowerManager\--type = method_call --print-reply --reply-timeout = 2000 \/org/gnome/PowerManager org.gnome.PowerManager.Suspend # Hibernate dbus-send --sessão --dest = org.gnome.PowerManager\--type = método_call --print-reply --reply-timeout = 2000 \/org/gnome/PowerManager org.gnome.PowerManager.Hibernate

De acordo com isto entrada na barra de ativação a interface acima foi removida. Por isso, não funcionaria mais no Ubuntu.

22
qbi

Para desligar um sistema (14.04) da linha de comando (ou atalho de teclado) use:

dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true

Eu descobri isso brincando com o gdbus, que pode listar as interfaces disponíveis:

Para listar os serviços disponíveis no barramento:

dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames

Para encontrar os métodos:

gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
12
simonltwick

desde 15.04 systemD é o sistema init padrão, portanto, há um novo comando a ser usado:

systemctl suspend
11
k1l

A resposta dbus-send de Adam Paetznick não funcionou como supostamente lúcido para mim; a máquina acordou desbloqueada, mesmo que o gerenciador de energia gnome esteja configurado para travar a tela ao acordar. Eu quero que a tela seja bloqueada no wake-up e descobri que o seguinte faz isso:

$ gnome-screensaver-command --lock && pmi action hibernate

Eu imagino que isso não depende da configuração do gnome, mas eu não testei isso.

8
Aryeh Leib Taurog

nova interface

… Que trabalha em 15.10 Wily, e possivelmente utópico e vívido.

dbus-send --print-reply --system                         \
    --dest=org.freedesktop.login1                        \
    /org/freedesktop/login1                              \
    org.freedesktop.login1.Manager.Suspend boolean:true

Isso não requer Sudo, ao contrário do comando pm-suspend.

3
Gringo Suave

Veja como colocar uma máquina remota em standby sobre o ssh:

 ssh -t 192.168.1.4 'Sudo Nohup &>/dev/null bash -c "(dormir 1; echo -n mem>/sys/poder/estado) &"' 
 x @ Senha de 192.168.1.4: 
 [Sudo] senha para x: 
 Conexão para 192.168.1.4 fechada. 

/ sys/power/state funciona no Ubuntu 13.10. pmi dá erro de Dbus.

1
user229115

Atualização para quem, como eu, ainda trabalha nos sistemas KDE/Ubuntu 14.04. Para bloquear use qdbus e suspender use dbus. Comando completo:

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Para hibernar, ou seja, suspender para o disco rígido em vez de RAM, substitua "Suspender" no final do comando por "Hibernar".

Para apenas bloquear a tela sem suspender, xscreensaver-command -lock funcionará, se você digitar apenas 1 hífen para a opção 'bloquear' e somente se a proteção de tela estiver sendo executada. Na verdade não é um comando muito útil. Usar i3lock é mais fácil, mas você não receberá uma caixa de diálogo de login para voltar ao trabalho, como você faria ao usar qdbus.

0
LinuxRev

O seguinte funciona para mim em 16.04 (com a área de trabalho do Gnome):

gnome-screensaver-command --lock && compsleep

Eu também instalei-o como um atalho de teclado personalizado através do painel de configurações do Gnome como teclas "Shift-Super-X".

0
christopherbalz

Pessoalmente, tenho experimentado o método pmi. No entanto, quando tentei isso, recebi uma mensagem de erro: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1. No entanto, há uma solução alternativa no º comentário de este relatório de bug , o que parece ter funcionado para mim (estou usando o Ubuntu 13.03).

0
TSJNachos117