使用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 

我已将此命令绑定到快捷方式: Ctrl Alt`它可以工作。

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

您可以使用以下脚本,

 #!/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 

用法

将脚本保存为shutdown.sh 。 给它执行权限,因为,

 chmod +x shutdown.sh 

关闭使用,

 ./shutdown.sh 

您将从zenity获得以下通知

在此处输入图像描述

键盘快捷键

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

 /path/to/shutdown.sh 

从终端

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

 echo $PATH 

如果您无法在路径中看到它,请将其显示在路径中。 您可以在终端中使用以下命令:

 cd mkdir bin echo -e "\nexport PATH=\$HOME/bin:\$PATH" | tee -a ~/.bashrc . ~/.bashrc 

shutdown.sh放在bin文件夹中。 然后,您将能够从终端访问可执行文件,因为,

 shutdown.sh