如何使用键盘快捷键挂起?


11

我想通过键盘快捷方式暂停xubuntu(14.04)系统,而无需输入超级用户密码(sudo)。我正在寻找一个可以转换为快捷方式的命令行。

到目前为止,我尝试了两种解决方案:

Xfce命令:

xfce4-session-logout --suspend

问题:系统没有锁定会话。唤醒时无需输入密码,而我想这样做。

Dbus

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

问题:唤醒后,Internet连接已断开,我必须重新引导系统才能将其恢复。

是否存在第三个解决方案,即1.在唤醒过程中询问密码,并且2.不打乱Internet连接?

实际上,图形默认快捷方式(从菜单中)可以正常工作。我只是不知道调用哪个命令行。

Answers:


8

我写了一个剧本。它似乎可以满足您的要求:

#!/usr/bin/env zsh
# Custom suspend
#
# (That 'zsh' up there can be switched to 'bash', or 
# pretty much any shell - this doesn't do anything too fancy.)
#
# Dependencies are mostly xfce stuff:
#
#   xbacklight
#   xflock4
#   xfce4-session-logout

# Set how dim we want the screen to go (percentage, out of 100)
dim=5

# Pack up your toys
previous_dimness=$(xbacklight -get)

# Turn down the lights
xbacklight -set $dim

# Lock the door (this requires a password to get back in)
xflock4

# And go to sleep
xfce4-session-logout --suspend

# When we wake up, turn the lights back on
xbacklight -set $previous_dimness

1
+1为精彩评论。我想在安装Ubuntu时会使用此脚本。
2015年

很抱歉,但是我应该将该脚本放在哪里?我应该如何用键盘快捷键(例如ctrl + alt + s)连接它?我正在使用Lubuntu
hipoglucido

从技术上讲,您可以将脚本放置在任何地方。我的主目录下有一个bin /目录,仅用于我要使用的此类个人脚本。在这种情况下,脚本的路径为:/ home / <用户名> / bin / custom-suspend您将要确保脚本是可执行的。一种方法是运行以下命令:$ chmod + x / home / <用户名> / bin / custom-suspend要为它提供LXDE(Lubuntu)使用的快捷方式,您应该可以搜索类似从开始菜单中选择“键盘”,该菜单应显示键盘配置应用程序。
乔恩·卡特

4

您可以非常简单地先发送命令使其锁定屏幕,然后将其挂起:

xscreensaver-command -lock ; xfce4-session-logout --suspend

要使用xscreensaver-command,请运行xscreensaver-command --help


它可以从命令行运行(尽管不需要锁定屏幕,因为它是自动挂起的),但不能用作键盘应用程序的快捷方式(至少在Ubuntu 12.04中)。顺便说一下,用于锁定屏幕的Xfce应用程序是xflock4(没有args),默认情况下绑定到control-alt-delete。
BobDoolittle

xscreensaver-command似乎在15.10中消失了。
杰西·格里克

@JesseGlick-安装xscreensaver软件包
Wilf

2

奇怪的xfce4-session-logout --suspend是,一切正常,我的系统是xubuntu 14.04。尽管我已打开“睡眠前锁定屏幕”选项,但它也确实锁定了会话,请转至“设置”->“会话和启动”->“高级”,然后检查是否已打开该会话。


它可以从命令行运行(尽管不需要锁定屏幕,因为它是自动挂起的),但不能用作键盘应用程序的快捷方式(至少在Ubuntu 12.04中)。
BobDoolittle

好吧,它应该在x ubuntu中工作,而不是在ubuntu中工作。我不确定您为什么还要使用该xfce4-session-logout命令。
Ufos 2015年

我们正在谈论Xfce,可以将其添加到任何ubuntu发行版中。Xubuntu只是一个便利发行版,恰好添加了Xfce软件包并将它们配置为桌面。您可以从ubuntu开始并自己添加/配置它。xubuntu / ubuntu的区别在这里是红色鲱鱼。
BobDoolittle

在Xubuntu 15.10中使用屏幕锁定对我来说工作正常。
杰西·格里克

0

此命令对我有用:我只是为桌面创建启动器,并为此设置了“关机”图标。将此命令放在命令字段中:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

拳头时间问我使可执行文件,然后很好地工作。

我正在使用wicd进行互联网连接,并且在唤醒后也能正常工作!


Xubuntu 15.10:Error org.freedesktop.DBus.Error.UnknownMethod: Method "Suspend" with signature "" on interface "org.freedesktop.UPower" doesn't exist
Jesse Glick

0

如果您在笔记本电脑上,只想按一个键。您可以使用电源按钮。可以从电源设置中设置行为:

  1. 打开设置管理器(或通过命令:xfce4-settings-manager)
  2. 打开电源管理器设置
  3. 一般:设置当按下电源按钮询问时
  4. 关闭电源管理器设置

如果安装了ACPI脚本,请从以下位置停用或更新电源按钮脚本:

/etc/acpi/events/, and change the action field to /bin/true:
# EXAMPLE
event=button/power.*
#action=/usr/lib/acpid/power_button
action=/bin/true

参考:https : //wiki.xfce.org/tips#solution_2

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.