如何暂停命令行以锁定屏幕?

我正在使用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 )。 但是,该命令仅在屏幕保护程序运行时才有效,因此不太有用。