In Ubuntu 14.04 I used to use the following command to suspend the computer as a user without root privileges:

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

Unfortunately in Ubuntu 16.04 this doesn't work anymore and I get an error message:

Error org.freedesktop.DBus.Error.UnknownMethod: No such method 'Suspend'

Apparently there has been some changes so what would be the correct command now?


As per Debian's wiki, with systemd this is the new command:

systemctl suspend

NOTE: This command still requires root privileges if there is another user's session open. It also doesn't work in Cron. In both cases you you will need to create extra settings.

  • 4
    For information, -i means ignore-inhibitors (See systemctl manpage: manpages.ubuntu.com/manpages/xenial/en/man1/systemctl.1.html) which might not be what you want. – CJlano Jun 22 '16 at 7:04
  • @CJlano, thanks for bringing it up because I was actually wondering whether to include this flag in my answer. The reason I did was that during my (brief) test the suspend seems to be not performed if some other user is logged in and the flag is not used. I will have another closer look into it. Meanwhile, if you have some more information on how to create command line equivalent of the suspend performed in GUI, please come up with a new answer or post it as a comment and I will include your info in mine (and give you credit :-)). – tmt Jun 22 '16 at 7:16
  • Is there a way to make it also lock the screen? (Using Ubuntu MATE.) – Joschua Dec 7 '18 at 11:05

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.