启动关机/重启对话框的命令

启动关机/重启对话框的命令

我在笔记本电脑上新安装了 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 仍然可以使用该键符并正常工作。

相关内容