如何暂停命令行以锁定屏幕?
我正在使用Xubuntu 12.04。 在电源管理器中,我在进行暂停/hibernate时检查了扩展 – >锁定屏幕。 如果我选择从主菜单/面板1暂停,屏幕将被锁定。 但是,如果我使用dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
(请参阅如何从命令暂停/hibernateline?;我通过键盘快捷键使用此命令),屏幕未锁定。 我怎样才能(1)暂停系统(2)同时锁定屏幕(3)不需要root权限[因为我希望将命令分配给键盘快捷键]。
您可以使用以下方法执行此操作:
gnome-screensaver-command --lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
在键盘快捷键中,您需要使用上面的命令将sh -c "
替换为
,例如:
sh -c "gnome-screensaver-command --lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"
如果上述命令不起作用,您还可以尝试使用shell脚本文件(例如suspend_lockscreen.sh
)。 首先在控制台中创建文件调用以下命令:
cd ~ echo "gnome-screensaver-command --lock" >> suspend_lockscreen.sh echo "dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend" >> suspend_lockscreen.sh chmod +x suspend_lockscreen.sh
这将在用户主文件夹中创建名为suspend_lockscreen.sh的文件。 然后,在快捷方式中只需调用: ./suspend_lockscreen.sh
。
注意: gnome-screensaver-command
可以替换为xscreensaver-command
,如一条注释中所指出的那样。
我正在使用amfcosta的dbus命令暂停命令行。 但是,一旦恢复,eth0就会失败。
然后我找到了这个命令:
xfce4-session-logout --suspend
此命令在计算机唤醒时禁用网络连接,挂起,然后重新启用网络连接。
xfce4-session-logout
特定于xfce,但其他桌面环境可能具有类似的*-session-logout
命令。
我正在运行Xubuntu 14.04。
更新:这可能不会影响其他人,但事实certificate,在我的Asus EEE 900上,有线以太网连接仅在EEE唤醒时每隔一段时间运行一次。 当然,这非常烦人,意味着暂停是无法使用的。
使用Ubuntu 15.10,这也适用:
gnome-screensaver-command --lock && systemctl -i suspend
注意: xscreensaver-command
仅适用于-lock
选项(带有1个连字符,而不是像gnome-screensaver-command
那样的双gnome-screensaver-command
)。 但是,该命令仅在屏幕保护程序运行时才有效,因此不太有用。