在 Ubuntu 14.04 中,我曾经使用以下命令以没有 root 权限的用户身份暂停计算机:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" \
/org/freedesktop/UPower org.freedesktop.UPower.Suspend
不幸的是,在 Ubuntu 16.04 中这不再起作用,并且我收到一条错误消息:
错误 org.freedesktop.DBus.Error.UnknownMethod:没有这样的方法“Suspend”
显然已经发生了一些变化,所以现在正确的命令是什么?
答案1
按照Debian 的维基,使用 systemd 这是新命令:
systemctl suspend
笔记:此命令仍然需要如果有 root 权限另一个用户的会话打开. 它也不起作用克罗恩。在这两种情况下,您都需要创建额外的设置。
答案2
Suspend
如果需要的话,方法在 D-Bus 上仍然可用:
dbus-send \
--system \
--print-reply \
--dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.Suspend \
boolean:true
boolean:true
是user_interaction
参数:
user_interaction 布尔参数可用于控制 PolicyKit 是否应在需要时以交互方式向用户询问身份验证凭据。