使用 Ubuntu 10.10。我使用 XMonad 窗口管理器作为主要的。我将 CommandKey+S 映射到一个显示屏幕保护程序和锁定的 bash 文件,并使 PC 进入睡眠状态(在恢复时我必须输入密码)。
#/bin/bash
gnome-screensaver-command -a
gnome-screensaver-command -l
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Run Code Online (Sandbox Code Playgroud)
这工作正常。但是,我希望 XMonad 在 X 分钟没有键盘/鼠标活动后自动运行该脚本(即锁定屏幕和挂起)。
在其他桌面/窗口管理器中,我认为它(基本屏幕保护程序/锁定/挂起)是理所当然的。
小智 11
您可以使用 xautolock 来执行此操作。例如,
xautolock -time 1 -locker "gnome-screensaver-command -l" -notify 10 \
-notifier "notify-send -t 5000 -i gtk-dialog-info 'Locking in 10 seconds'"
Run Code Online (Sandbox Code Playgroud)
这将在空闲 1 分钟后锁定您的屏幕,并在锁定前 10 秒向您发送通知(持续 5 秒)。这对我在 Xmonad 中很好用。
要使用通知发送,您可能需要
sudo apt-get install libnotify-bin
Run Code Online (Sandbox Code Playgroud)
或类似的东西。我相信你也可以用 gnome-screensaver 代替 xscreensaver 或其他东西。