How can I suspend or hibernate my laptop using command line, without installing additional software?
Traditionally ubuntu supported a fairly blunt method of suspend and hibernate. Neither would integrate well with other apps and sometimes not even work on some machines. The new method doesn't require root and notifies all applications listening for power events.
Starting with Ubuntu 16.04,
systemctl call must be used (See Suspend command in Ubuntu 16.04)
See the answer here on this page from Adam Paetznick regarding the use of dbus. Ideally you would create a
~/bin/suspend shortcut/script that makes the use of this action easy.
For use over ssh, you should modify policykit rules as outlined by Peter V. Mørch
According to the Ubuntu Forum you can use the following commands:
pmi action suspend
pmi action hibernate
This requires that you install the powermanagement-interface package (not tested).
sudo apt-get install powermanagement-interface
I have also found the commands
sudo pm-suspend and
sudo pm-hibernate to work on my netbook.
The gnome-friendly way is to use dbus.
dbus-send --system --print-reply \ --dest="org.freedesktop.UPower" \ /org/freedesktop/UPower \ org.freedesktop.UPower.Suspend
There are two advantages to this command over
It will lock your screen (upon resume) if you have that option selected in gnome.
It does not require root privilege, so it is easy to add it as a keyboard shortcut, for example.
As mentioned in the comments exchanging the
Suspend in the last line to
Hibernate creates a hibernate command:
dbus-send --system --print-reply \ --dest="org.freedesktop.UPower" \ /org/freedesktop/UPower \ org.freedesktop.UPower.Hibernate
If the hibernation throws
Error org.freedesktop.UPower.GeneralError: not authorized your user might not be allowed to hibernate. Edit or create
/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla so it contains the following section: (source)
[Re-enable hibernate by default] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes
This was tested on UbuntuGnome 14.04.
Note: This is basically the same as qbi's answer, but updated to work for newer versions of Ubuntu as well as including hibernate.
If you want your computer to suspend in one hour because you want to go to bed listening to your favorite radio station, open terminal and type:
sudo bash -c "sleep 1h; pm-suspend"
and your computer will fall asleep in 1 hour. When you awake, it will have kept your open images and all your stuff.
You can replace
1h by what you want:
h for hours,
m for minutes,
s for seconds,
d for days.
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.
Si quieres suspender tu computadora en una hora porque quieres ir a dormir escuchando tu estación de radio favorita, tan solo abre el terminal y escribe:
sudo bash -c "sleep 1h; pm-suspend"
y tu computadora se quedará dormida en 1 hora. Cuando despiertes, allí habrán quedado abiertas tus imágenes y todas tus cosas.
1h por lo que desees:
h para horas,
m para minutos,
s para segundos,
d para días.
For Ubuntu 12.04 LTS and Ubuntu 13.04
To get Hibernation:
To get Suspend:
You can use the file
/sys/power/state to do this. First find out what states are supported:
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
or via dbus:
According to this entry in launchpad the above interface was removed. So it would not work anymore in Ubuntu.
To shutdown a system (14.04) from the command line (or keyboard shortcut) use:
dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true
I found this out by playing around with gdbus which can list the interfaces available:
To list the services available on the bus:
dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
To find the methods:
gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
since 15.04 systemD is the standard init system so there is a new command to be used:
Adam Paetznick's dbus-send answer didn't work as purported for me on lucid; the machine woke up unlocked, even though the gnome-power-manager is set to lock the screen on wake-up. I want the screen to be locked at wake-up, and found that the following does that:
$ gnome-screensaver-command --lock && pmi action hibernate
I imagine this does not depend on the gnome configuration, but I haven't tested that.
…which works in 15.10 Wily, and possibly Utopic and Vivid.
dbus-send --print-reply --system \ --dest=org.freedesktop.login1 \ /org/freedesktop/login1 \ org.freedesktop.login1.Manager.Suspend boolean:true
Helpfully this doesn't require sudo, unlike the
Here's how to put a remote machine in standby over ssh:
ssh -t 192.168.1.4 'sudo nohup &>/dev/null bash -c "(sleep 1; echo -n mem >/sys/power/state) &"' firstname.lastname@example.org's password: [sudo] password for x: Connection to 192.168.1.4 closed.
/sys/power/state works in Ubuntu 13.10. pmi gives Dbus error.
Personally, I've been experimenting with the pmi method. However, when I tried this, I got an error message:
Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1. However, there is a workaround in the 3rd comment of this bug report, which seems to have worked for me (I'm using Ubuntu 13.03).
Update for those who, like me, still work on KDE/Ubuntu 14.04 systems. To lock use
qdbus, and to suspend use
dbus. Full command:
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
To hibernate, i.e. suspend to harddisk instead of RAM, replace 'Suspend' at the end of the command by 'Hibernate'.
To just lock the screen without suspending,
xscreensaver-command -lock will work, IF you type only 1 hyphen for the '-lock' option, and only if the screensaver is running. Actually not a very useful command. Using
i3lock is easier, but then you will not get a neat login dialog to get back to work, as you will when using
The following works for me on 16.04 (with Gnome desktop):
gnome-screensaver-command --lock && compsleep
I have also installed it as a custom keyboard shortcut via the Gnome settings panel as keys "Shift-Super-X".
protected by rɑːdʒɑ Aug 11 '14 at 10:35
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?