如何通过命令正确暂停

如何通过命令正确暂停

我找到了两个可以正确将我的笔记本暂停到 RAM 的版本。

$ dbus-send --system --print-reply \
   --dest=org.freedesktop.login1 /org/freedesktop/login1 \
   "org.freedesktop.login1.Manager.Suspend" boolean:true

$ systemctl suspend

以上哪一个是可以使用的以及它们之间有什么区别?

答案1

据我所知,正确的命令是systemctl suspendhibernate因为该命令使用 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

相关内容