Na minha opinião, o Zenity é uma ferramenta CLI realmente maravilhosa, porque você pode facilmente escrever GUIs com apenas um comando. Recentemente, decidi construir um script que me permite iniciar e interromper o serviço da web Apache em meu servidor local, com apenas 2 cliques.
Aqui está o código:
#!/bin/bash
process_started[0]='FALSE'
process_started[1]='TRUE'
if [ -n "$(pidof apache2)" ] ; then
process_started[0]='TRUE'
process_started[1]='FALSE'
fi
output=$(zenity --title='Apache switcher' --text='Would you like to activate Apache?' --list --radiolist --column='Select' --column='Choice' --column='Option' ${process_started[0]} 'start' 'Start' FALSE 'restart' 'Restart' ${process_started[1]} 'stop' 'Stop' --hide-column=2)
if [ -z $output ] ; then
zenity --error --text="No value selected!"
exit 1
fi
zenity --info --text="`/etc/init.d/apache2 $output`"
salve este arquivo e execute um chmod nele para executar o arquivo como um programa. Então, depois de clicar nele, você verá uma janela como esta:
Agora você pode, por exemplo, fazer um lançador de ícones em seu DE:
Lembre-se de executar o script como root , portanto, se você decidir criar um inicializador, execute o comando como:
gksu ./apache-switch
ou
sudo ./apache-switch