![从命令行暂停并在 14.04 中显示 Unity 的锁定屏幕?](https://linux22.com/image/1121230/%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%9A%82%E5%81%9C%E5%B9%B6%E5%9C%A8%2014.04%20%E4%B8%AD%E6%98%BE%E7%A4%BA%20Unity%20%E7%9A%84%E9%94%81%E5%AE%9A%E5%B1%8F%E5%B9%95%EF%BC%9F.png)
如何从命令行暂停计算机,并在唤醒后显示 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"