从命令行暂停并在 14.04 中显示 Unity 的锁定屏幕?

从命令行暂停并在 14.04 中显示 Unity 的锁定屏幕?

如何从命令行暂停计算机,并在唤醒后显示 Unity 的锁定屏幕?我想复制确切地当我点击 Unity 面板右上角的系统齿轮图标并进入SuspendUbuntu 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"

相关内容