Is there a way to shutdown the PC via a dialog box (ie.
"Do you want to shutdown?" [Yes] [No]
)?
Eu acredito que a maneira mais simples de fazer isso é via xmessage
. Algo parecido com isto:
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
export DISPLAY=:0.0
xmessage -timeout 10 "Shutdown computer?" -buttons yes:0,no:1
case $? in
0)
echo "Shutting down..."
#systemctl poweroff
;;
1)
echo "Ok."
;;
*)
echo "Mystic error!"
;;
esac
Eu adicionei as variáveis $PATH
e $DISPLAY
para que ele possa ser usado por cron
(mais sobre isso aqui ). E, é claro, se você quiser que desligue seu computador, você terá que remover o comentário dessa linha, e você pode remover as instruções echo
também. Eu apenas juntei isso rapidamente como uma amostra.
A essência disso:
Quando um usuário pressiona yes
, o código de retorno é 0
e o computador é desligado.
Se um usuário pressionar no
, o código de retorno será 1
, em seguida, desligue o não . (Editar :) Se nenhum usuário pressionar nenhum botão após timeout
segundos ( 10
neste caso), xmessage
sairá com 0
e o computador será encerrado.
Quando executado, o script produz esta pequena caixa de diálogo:
Tenho certeza de que zenity
é ótimo, mas, para uma tarefa simples como essa, acho que xmessage
pode ser mais fácil.