我找到了两个可以正确将我的笔记本暂停到 RAM 的版本。
$ dbus-send --system --print-reply \
--dest=org.freedesktop.login1 /org/freedesktop/login1 \
"org.freedesktop.login1.Manager.Suspend" boolean:true
和
$ systemctl suspend
以上哪一个是可以使用的以及它们之间有什么区别?
答案1
据我所知,正确的命令是systemctl suspend
或hibernate
因为该命令使用 Systemd 并且自 16.04 以来是首选
链接到之前的类似问题。 在评论/答案部分,他们说旧的 dbus 方法(这是您的第一个示例命令)据称已被弃用
答案2
在 15.04 之前的系统中,您只能使用 dbus 方法。在 Ubuntu 15.04 及更高版本上,您可以同时使用这两种方法,因为 Ubuntu 启动了 systemd init 系统。这两种方法都适用,只是使用不同的程序来实现相同的结果。
不同之处在于 systemd 是一个 init 系统,它控制在启动时启动其他进程。dbus 是一个进程间通信 (IPC) 系统(systemd 也使用)。
答案3
如果可用,您可以使用 qdbus。当 KDE 中的 Kickstart/菜单按钮不起作用(您单击菜单按钮或按 Alt + F1 但菜单不会打开)时,此命令可能很有用,这意味着您无法注销或休眠。
以下命令应该适用于 KDE 5(Plasma)。
通过命令行休眠:
qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement CanHibernate && qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement Hibernate
通过命令行暂停:
qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement CanSuspend && qdbus org.kde.Solid.PowerManagement /org/freedesktop/PowerManagement Suspend
通过命令行显示注销屏幕:
qdbus org.kde.ksmserver /KSMServer logout 1 3 3