我在笔记本电脑上新安装了 Ubuntu 16.04(带 Unity),我希望能够使用自定义键盘快捷键。
这样做的目的是当笔记本电脑盖关闭并使用外部显示器时,能够启动与外部(USB 或 BT)键盘的对话,至少使电源按钮无法访问或不方便。
在旧版 Ubuntu 12.04 中我使用了这个简单的命令:
exec /usr/lib/indicator-session/gtk-logout-helper --shutdown
我将 Ctrl-Alt-Del 键盘快捷键绑定到它(“注销”我重定向到 Ctrl-Shift-Del)。
Ubuntu 16.04 中是否有类似的命令(或者这只是另一个“改进”得更糟的东西,就像很多东西看起来那样)?
在此先非常感谢您的帮助!
答案1
通常,可以通过 启动注销、重启和关机对话框dbus
。具体来说,你想要的是
qdbus com.canonical.Unity /com/canonical/Unity/Session com.canonical.Unity.Session.RequestShutdown
您可以通过此命令列出其他方法:
$ qdbus com.canonical.Unity /com/canonical/Unity/Session | grep '\.Request.*'
method void com.canonical.Unity.Session.RequestLogout()
method void com.canonical.Unity.Session.RequestReboot()
method void com.canonical.Unity.Session.RequestShutdown()
我已经对多个其他答案使用了同样的方法,例如
如果有人觉得该命令有点长,请记住 Linux 101:您可以为命令或函数创建别名。
alias quit_session='qdbus com.canonical.Unity /com/canonical/Unity/Session com.canonical.Unity.Session.RequestShutdown'
quit_session()
{
qdbus com.canonical.Unity \
/com/canonical/Unity/Session \
com.canonical.Unity.Session.RequestShutdown
}
在命令行上,它将被称为quit_session
。很简单,对吧?您可以将其放入~/.bashrc
。如果它仍然很长,请使用更短的名称。
尽管很长,但它确实实现了问题所要求的功能。
答案2
命令:
gnome-session-quit --power-off
简单有效,确切地你想要什么:
从man gnome-session-quit
:
OPTIONS
The following options are supported:
--logout
Prompt the user to confirm logout. This is the default behavior.
--power-off
Prompt the user to confirm system power off.
--reboot
Prompt the user to confirm system reboot.
--force
Ignore any inhibitors.
--no-prompt
End the session without user interaction. This only works with
--logout.
答案3
Serg 的回答给出了一种 Unity 特有的实现方法。以下是通用的 X11 方法(需要xdotool
安装包):
xdotool key XF86PowerOff
对我来说,这在 KDE 和 XFCE 中开箱即用。大多数现代 DE 都可以配置为以类似的方式处理键盘上的电源键。即使您的键盘没有这样的键,Xorg 仍然可以使用该键符并正常工作。