Con Ubuntu 16.04 LTS y más recientes yo sugeriría usar systemctl
porque los sistemas más recientes utilizan systemd
para controlar las cosas.
El comando seguro a ejecutar es systemctl suspend
que suspende la máquina inmediatamente a menos que algún proceso esté pidiendo que el sistema permanezca encendido (por ejemplo, un reproductor de vídeo mostrando una película, una grabadora de CD activa, otro usuario conectado haciendo algo, etc).
Si quieres forzar la suspensión inmediatamente e ignorar todos los "inhibidores" simplemente añade -i
como se explica en la salida del comando anterior.
Si desea bloquear inmediatamente el salvapantallas y suspender el sistema en todos los casos, puede ejecutar
loginctl lock-session && systemctl suspend -i
Esto es mejor que utilizar el dbus
para enviar mensajes, ya que el uso de loginctl
y systemctl
evita la codificación de cualquier información sobre el salvapantallas o el gestor de sesiones.