在 Ubuntu 16.04 中挂起命令

tmt*_*tmt 26 suspend dbus 16.04

在 Ubuntu 14.04 中,我曾经使用以下命令以没有 root 权限的用户身份挂起计算机:

dbus-send --system --print-reply --dest="org.freedesktop.UPower" \
/org/freedesktop/UPower org.freedesktop.UPower.Suspend
Run Code Online (Sandbox Code Playgroud)

不幸的是,在 Ubuntu 16.04 中这不再起作用,我收到一条错误消息:

错误 org.freedesktop.DBus.Error.UnknownMethod: 没有这样的方法“暂停”

显然已经发生了一些变化,那么现在正确的命令是什么?

tmt*_*tmt 37

根据Debian 的 wiki,使用 systemd 这是新命令:

systemctl suspend
Run Code Online (Sandbox Code Playgroud)

注意:如果有另一个用户的会话打开,此命令仍然需要root 权限。它也不适用于Cron。在这两种情况下,您都需要创建额外的设置。

  • 有关信息,`-i` 表示 `ignore-inhibitors`(请参阅 systemctl 联机帮助页:http://manpages.ubuntu.com/manpages/xenial/en/man1/systemctl.1.html),这可能不是您想要的。 (4认同)