Na minha área de trabalho, uso os seguintes itens de menu para reinicializar e parar:
<item label='Shutdown'>
<action name='Execute'>
<command>/usr/local/bin/opBox-exit.sh halt</command>
</action>
</item>
<item label='Reboot'>
<action name='Execute'>
<command>/usr/local/bin/opBox-exit.sh reboot</command>
</action>
</item>
O script /usr/local/bin/opBox-exit.sh
usa zenity
para abrir uma caixa de diálogo cancelar confirmação e quando o botão confirmar foi pressionado, executa sudo halt
ou sudo reboot
. Eu configurei o arquivo sudoers
para que meu usuário não precise digitar uma senha para executar halt
e reboot
com sudo
. Para mim isso é mais conveniente. Aqui está o script completo
#!/usr/bin/env bash
if [ -z $1 ];then
echo "Usage: $0 [reboot|halt]"
exit
fi
if [ $1 = reboot ];then
zenity --question --ok-label "Reboot" --text "Reboot $HOST?" && sudo /sbin/reboot
elif [ $1 = halt ];then
zenity --question --ok-label "Shudown" --text "Shutdown $HOST?" && sudo /sbin/halt -p
fi
Quando você quiser um diálogo para a senha do usuário, recomendo que use gksudo halt -p
em vez de todo o zenity --question ... && sudo halt -p
stuff. Para isso, seu usuário ainda precisaria poder executar comandos via sudo
. Dê uma olhada em man sudoers
para mais informações.
gksudo
está no pacote Debain gksu
.