¿Cómo puedo suspender / hibernar desde la línea de comandos?

309

¿Cómo puedo suspender o hibernar mi computadora portátil usando la línea de comando, sin instalar software adicional?

    
pregunta user1034 09.08.2010 - 22:24

13 respuestas

257

Tradicionalmente ubuntu soportaba un método bastante directo de suspender e hibernar. Ninguno de los dos se integraría bien con otras aplicaciones y, a veces, ni siquiera funcionaría en algunas máquinas. El nuevo método no requiere root y notifica todas las aplicaciones que escuchan eventos de energía.

Método sistemado

Comenzando con Ubuntu 16.04, se debe usar systemctl call (Ver Suspender comando en Ubuntu 16.04 )

systemctl suspend

y

systemctl hibernate

Nuevo método

Consulte la respuesta aquí en esta página de Adam Paetznick sobre el uso de dbus . Lo ideal sería crear un acceso directo / script ~/bin/suspend que facilite el uso de esta acción.

Para utilizar en ssh, debe modificar las reglas del juego de políticas tal como lo describe Peter V. Mørch

Método antiguo

Según el Foro de Ubuntu , puede usar los siguientes comandos:

pmi action suspend

y

pmi action hibernate

Esto requiere que instale el paquete powermanagement-interface (no probado).

sudo apt-get install powermanagement-interface

También he encontrado que los comandos sudo pm-suspend y sudo pm-hibernate funcionan en mi netbook.

    
respondido por el txwikinger 09.08.2010 - 22:32
185

La manera fácil de usar gnome es usar dbus.

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

Este comando tiene dos ventajas sobre pm-suspend .

  1. Bloqueará tu pantalla (al reanudar) si tienes esa opción seleccionada en gnome.

  2. No requiere privilegios de root, por lo que es fácil agregarlo como un atajo de teclado, por ejemplo.

Como se mencionó en los comentarios al cambiar el Suspend en la última línea a Hibernate , se crea un comando de hibernación:

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

Si la hibernación arroja Error org.freedesktop.UPower.GeneralError: not authorized , es posible que su usuario no pueda hibernar. Edite o cree /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla para que contenga la siguiente sección: (fuente)

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

Esto se probó en UbuntuGnome 14.04 .

Nota: Esto es básicamente lo mismo que la respuesta de qbi, pero se actualizó para funcionar con las versiones más nuevas de Ubuntu, así como también con la hibernación.

    
respondido por el Adam Paetznick 03.05.2012 - 22:40
51

inglés

Si quiere que su computadora se suspenda en una hora porque quiere acostarse escuchando su estación de radio favorita, abra la terminal y escriba:

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

y su computadora se quedará dormida en 1 hora. Cuando despiertes, habrá conservado tus imágenes abiertas y todas tus cosas.

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

¡Buenas noches!

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 préfé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 conservé en mémoire vos applications ouvertes.

Vous pouvez remplacer 1h par ce que vous voulez: h pour les heures, m pour les minutes, s pour les secondes, d pour les jours.

Bonne nuit!

Español

Si quieres suspender tu computadora en una hora porque quieres dormir tu estación de radio favorita, entonces solo abre la terminal y escribe:

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

y tu computadora se quedará dormida en 1 hora. Cuando despiertes, allí habrás abierto 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!

    
respondido por el greg 18.01.2012 - 09:31
30

Para Ubuntu 12.04 LTS y Ubuntu 13.04

Para obtener la Hibernación:

sudo pm-hibernate

Para suspender:

sudo pm-suspend
    
respondido por el Ten-Coin 14.09.2012 - 15:45
22

Puedes usar el archivo /sys/power/state para hacer esto. Primero descubra qué estados son compatibles:

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

o vía 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

Según esta entrada en la plataforma de lanzamiento , la interfaz anterior se eliminó . Entonces ya no funcionaría en Ubuntu.

    
respondido por el qbi 09.08.2010 - 22:35
11

Para apagar un sistema (14.04) desde la línea de comando (o atajo de teclado), use:

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

Descubrí esto jugando con gdbus que puede enumerar las interfaces disponibles:

Para enumerar los servicios disponibles en el autobús:

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

Para encontrar los métodos:

gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
    
respondido por el simonltwick 07.08.2014 - 17:08
8

La respuesta de dbus-send de Adam Paetznick no funcionó como se pretendía para mí en lúcido; la máquina se despertó desbloqueada, a pesar de que el gnome-power-manager está configurado para bloquear la pantalla al despertar. Quiero que la pantalla se bloquee en el despertador, y descubrí que lo siguiente hace eso:

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

Me imagino que esto no depende de la configuración de gnome, pero no lo he probado.

    
respondido por el Aryeh Leib Taurog 15.05.2012 - 18:07
8

ya que 15.04 systemD es el sistema de inicio estándar, por lo que hay un nuevo comando que se utilizará:

systemctl suspend
    
respondido por el k1l 27.11.2015 - 14:36
2

Nueva interfaz

... que funciona en 15.10 Wily, y posiblemente Utopic and Vivid.

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

Esto no requiere sudo, a diferencia del comando pm-suspend .

    
respondido por el Gringo Suave 18.11.2015 - 19:09
1

Aquí se explica cómo poner una máquina remota en modo de espera sobre ssh:

ssh -t 192.168.1.4 'sudo nohup &>/dev/null bash -c "(sleep 1; echo -n mem >/sys/power/state) &"'
x@192.168.1.4's password: 
[sudo] password for x: 
Connection to 192.168.1.4 closed.

/ sys / power / state funciona en Ubuntu 13.10. pmi da error de Dbus.

    
respondido por el user229115 27.12.2013 - 06:09
0

Personalmente, he estado experimentando con el método pmi. Sin embargo, cuando probé esto, recibí un mensaje de error: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1 . Sin embargo, hay una solución en el tercer comentario de < a href="https://bugs.launchpad.net/ubuntu/+source/powermanagement-interface/+bug/1176829"> este informe de errores , que parece haber funcionado para mí (estoy usando Ubuntu 13.03).

    
respondido por el TSJNachos117 31.08.2013 - 07:11
0

Actualización para aquellos que, como yo, todavía trabajan en sistemas KDE / Ubuntu 14.04. Para bloquear usa qdbus , y para suspender el uso 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, es decir, suspender en disco duro en lugar de RAM, reemplace 'Suspender' al final del comando por 'Hibernar'.

Para bloquear la pantalla sin suspender, xscreensaver-command -lock funcionará, SI escribe solo 1 guión para la opción 'bloqueo', y solo si el salvapantallas se está ejecutando. En realidad no es un comando muy útil. Usar i3lock es más fácil, pero no obtendrá un diálogo de inicio de sesión limpio para volver al trabajo, como lo hará cuando use qdbus .

    
respondido por el LinuxRev 26.05.2017 - 14:28
0

Lo siguiente me funciona el 16.04 (con el escritorio Gnome):

gnome-screensaver-command --lock && compsleep

También lo he instalado como un atajo de teclado personalizado a través del panel de configuración de Gnome como las teclas "Shift-Super-X".

    
respondido por el christopherbalz 28.05.2018 - 17:16

Lea otras preguntas en las etiquetas