如何从命令行暂停计算机,并在唤醒后显示 Unity 的锁定屏幕?我想复制确切地当我点击 Unity 面板右上角的系统齿轮图标并进入Suspend
Ubuntu 14.04 时会发生什么情况 (不是早期版本!)。
我发现了许多不起作用的答案,例如这里和这里。它们均适用于旧版本的 Ubuntu 或调用 gnome-screensaver 或 xscreensaver 的锁屏。
例如,此命令会暂停计算机,但不会锁定屏幕:
dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
,尽管在设置Require my password when waking from suspend
中已选中Brightness & Lock system
。
实际上,我甚至不知道如何在 14.04 中调用 Unity 的锁定屏幕:我能想到的最接近的方法是dm-tools lock
,但这并不完全相同,因为它允许您以其他用户身份登录并显示更多指示器。
答案1
由于我知道如何获取 14.04 锁屏,我只需将 dbus lock 命令与 suspend 命令链接起来:
sh -c "dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"