用 Zenity 确认关机?

DK *_*ose 4 command-line keyboard shutdown zenity

我得到了这个命令,它使我能够直接从键盘关闭 Ubuntu 13.10(无需打开终端并运行类似的东西sudo shutdown -h now):

dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Run Code Online (Sandbox Code Playgroud)

我已将此命令绑定到快捷方式:CtrlAlt`并且它有效。

但是,我想知道是否可以获得Zenity窗口,如果我输入y作为响应,它将运行上述关闭命令;但是如果我按下nZenity 窗口应该关闭,我可以继续我的会话。

sou*_* c. 7

您可以使用以下脚本,

#!/bin/bash

zenity --question --text="Are you sure, proceed to shutdown?"
if [ $? = 0 ]; then
    dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

else
    exit
fi
Run Code Online (Sandbox Code Playgroud)

用法

将脚本另存为shutdown.sh. 授予它执行权限,

chmod +x shutdown.sh
Run Code Online (Sandbox Code Playgroud)

要关机使用,

./shutdown.sh
Run Code Online (Sandbox Code Playgroud)

您将收到以下通知 zenity

在此处输入图片说明

键盘快捷键

您可以从系统设置>>键盘>>快捷方式>>自定义快捷方式为脚本设置自定义键盘快捷方式在现场command使用中,

/path/to/shutdown.sh  
Run Code Online (Sandbox Code Playgroud)

从终端

bin在您的家中创建一个文件夹。检查它是否在您的PATH,

echo $PATH
Run Code Online (Sandbox Code Playgroud)

如果您在路径中看不到它,请使其在路径中可用。为此,您可以在终端中使用以下命令,

chmod +x shutdown.sh
Run Code Online (Sandbox Code Playgroud)

shutdown.shbin文件夹中。然后您将能够从终端访问可执行文件,

shutdown.sh
Run Code Online (Sandbox Code Playgroud)