Questão Como posso suspender / hibernar da linha de comando?


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


311
2017-08-09 20:24


origem


Para o Ubuntu 16.04, veja esta pergunta: askubuntu.com/questions/777178/suspend-command-in-ubuntu-16-04 e sua resposta systemctl suspend - CJlano


Respostas:


Tradicionalmente, o ubuntu suportava um método bastante abrupto de suspensão e hibernação. Nenhum deles se integraria bem a 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

Começando com o Ubuntu 16.04, systemctl chamada deve ser usada 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. Idealmente você criaria um ~/bin/suspend atalho / script que facilita o uso dessa ação.

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

Método Antigo

De acordo com Fórum do Ubuntu 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.


260
2017-08-09 20:32



pm-suspend e pm-hibernate funciona para mim e é fácil. Requer sudo mas tudo bem. (Found pmi idéia antes, mas instalar um pacote para usar suspender é bem ruim ...) - user1034
Note que você tem que apt-get install powermanagement-interface para rodar o pmi. - nealmcb
Em 11,10 apenas pm- * funciona, também com interface de powermanagament adicionada - Omegafil
não funciona com o meu Ubuntu 12.10. depois de apt-get install powermanagement-interface - somethis
novo método está agora quebrado veja unix.stackexchange.com/questions/153099/… - ijk


A maneira amigável do 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 trocando 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 for lançada 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 então contém a seguinte seção: (fonte)

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

Isso foi testado em UbuntuGnome 14.04.

Nota: Isto é basicamente o mesmo que a resposta do qbi, mas atualizado para funcionar para versões mais novas do Ubuntu, incluindo também o hibernate.


185
2018-05-03 20:40



Sua resposta realmente deveria ser a primeira. É uma maneira não-raiz de não-pacotes-para-ser-instalado do gnome de fazê-lo. Gostar! - turbo
Para Hibernate, você pode simplesmente substituir a última linha com org.freedesktop.UPower.Hibernate - Sheharyar
no meu 13.10 ele funciona. no entanto, a tela é não bloqueado no currículo, mesmo em "Segurança e privacidade", "Exigir minha senha ao acordar do modo suspenso" é ativado. - andreas-h
Não funcionou para mim (Gnome 3.12, Ubuntu 14.04). Parece que a interface [UPower.Suspend] foi removida, de acordo com bugs.launchpad.net/ubuntu/+source/gnome-power-manager/+bug/… - Gui Ambros
A interface de suspensão foi movida para logind; askubuntu.com/questions/652978 - Khurshid Alam


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 você quer: h por horas, m por minutos, s por segundos, d por dias.

Boa noite!

Français

Si vous Voulez juste ele votre ordinateur 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: h pour les heures, m despeje os minutos, s despeje os segundos, d pour 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. Cuando despiertes, todos habrán quedado abiertas tus imágenes y todas tus cosas.

Puedes reemplazar 1h por lo que desees: h para horas, m para minutos, s para segundos, d para días.

¡Buenas noches!


52
2018-01-18 08:31



Solução perfeita e mais fácil! - wakeup
Esse é o meu caso de uso que estou procurando! AFIK pm- * pode ser executado sem permissões de superusuário - ruX
melhor resposta, simples, elegante, sem instalação de pacotes adicionais - Louis


Para Ubuntu 12.04 LTS  e Ubuntu 13.04

Para obter a hibernação:

sudo pm-hibernate

Para obter o Suspend:

sudo pm-suspend

30
2017-09-14 13:45



"sudo pm-suspend" não está funcionando na mint 13 mate :( - rsjethani
Sim, acho que o pacote não foi instalado. procure esses pacotes no synaptic. - Ten-Coin
o pacote está instalado, acho que 'mate-power-manager' está interferindo nisso. - rsjethani
A desvantagem desse método é que, se você estiver usando a GUI, o pm-suspend NÃO bloqueará sua sessão, o que pode ser inseguro. - Raúl Salinas-Monteagudo
Ele também funciona no ubuntu 15.10. - Searene


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

user@linux:_> cat /sys/power/state
standby mem disk

root@linux:~> echo -n mem > /sys/power/state  # suspend to ram
root@linux:~> 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     #Hibernar     dbus-send --session --dest = org.gnome.PowerManager \       --type = method_call --print-reply --reply-timeout = 2000 \       / org / gnome / PowerManager org.gnome.PowerManager.Hibernate

De acordo com isso entrada no launchpad a interface acima foi removida. Por isso, não funcionaria mais no Ubuntu.


22
2017-08-09 20:35



A primeira idéia me dá: "bash: echo: write error: Argumento inválido" Dbus idea dá saída: "Erro org.freedesktop.DBus.Error.UnknownMethod: Método" Suspend "com assinatura" "na interface" org.gnome.PowerManager " não existe " - user1034
Eu adicionei uma pequena explicação para o /sys/power/state-coisa. Além disso, o método dbus foi removido do Ubuntu para que não funcione mais. - qbi
$ sudo echo -n mem > /sys/power/state - bash: /sys/power/state: Permission denied - Hubro
Isso funciona muito bem. Para as pessoas com problemas com este método ao usar o sudo, o "pipe to file", também conhecido como ">" está sendo executado no seu shell atual, para que ele não obtenha privilégios de superusuário enquanto o seu eco é executado. Você precisará usar sudo -i primeiro, ou pipe para sudo tee igual a: echo mem | sudo tee /sys/power/state - RandomInsano


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

11
2017-08-07 15:08





A resposta dbus-send de Adam Paetznick não funcionou como supostamente lúcida 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
2018-05-15 16:07



Agradável. Ou xscreensaver-command --lock conforme o caso. - phyzome


Desde a 15,04 systemD é o sistema init padrão, portanto, há um novo comando a ser usado:

systemctl suspend

8
2017-11-27 13:36



Estou usando o Xubuntu 15.04. O comando systemctl suspend suspende o computador, mas não bloqueia a tela, embora tenha marcado a caixa de seleção "Bloquear tela quando o sistema está em suspensão" em Configurações -> Gerenciador de energia -> Segurança. Alguém faz algum ideia do porque? - Teemu Leisti
Eu atualizei para o Xubuntu 16.04. O comando systemctl suspend ainda suspende o computador. Agora, isso também faz com que a tela seja bloqueada, se e somente se a caixa de seleção "Bloquear tela quando o sistema for suspenso" em Configurações -> Gerenciador de energia -> Segurança estiver marcada. - Teemu Leisti


Nova interface

… O que funciona 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 um sudo, ao contrário do pm-suspend comando.


2
2017-11-18 18:09



Meu XPS 13 9350 com Debian / Gnome estava com problemas de suspensão / hibernação ao fechar a tampa. Depois de executar este comando (e o equivalente para a hibernação), ele foi colocado com sucesso na suspensão (e na hibernação) e agora fechando e abrindo o trabalho da tampa como esperado! - Victor Schröder


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) &"'
Senha de x@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
2017-12-27 05:09