Pagina inicial » como » Como criar scripts de shell gráficos simples com o Zenity no Linux

    Como criar scripts de shell gráficos simples com o Zenity no Linux

    O Zenity adiciona interfaces gráficas a shell scripts com um único comando. Scripts shell são uma ótima maneira de automatizar tarefas repetitivas, mas eles normalmente são confinados ao terminal - o Zenity os traz para fora do terminal e para o seu desktop.

    Nós demos uma introdução ao script de shell no passado. Você não precisa ser um programador para começar a usar scripts de shell - eles exigem pouco mais que o conhecimento dos comandos do terminal Linux.

    Obtendo Zenity

    O Zenity vem com o Ubuntu por padrão. Se você usa um derivado do Ubuntu, como o Kubuntu, você pode ter que instalá-lo manualmente com o seguinte comando:

    sudo apt-get instale zenity

    O Zenity faz parte do GNOME, então ele já deve estar incluído nas distribuições do Linux que usam a área de trabalho do GNOME. Verifique seu gerenciador de pacotes para o zenidade pacote se você não tem isso.

    Usando Zenity

    Você pode brincar com o Zenity no terminal. Digamos que você queira criar uma janela de erro quando ocorrer um problema com seu script de shell. Aqui está um exemplo de comando que você poderia usar:

    zenity -error -title = "Ocorreu um erro" -text = "Ocorreu um problema ao executar o script de shell.”

    Execute o comando e você verá uma janela com a mensagem.

    Coloque este único comando em seu script de shell no local correto e você terá uma mensagem de erro gráfica. Você também pode usar variáveis ​​para incluir mais informações sobre o erro.

    Digamos que você queira fazer uma pergunta sim ou não. Você poderia usar um comando como este:

    zenity -question -title = "Consulta" -text = "Você gostaria de executar o script?"

    Você pode capturar a resposta sim ou não em seu script de shell e executar comandos diferentes com base em qual botão o usuário clica.

    Há também uma caixa de diálogo de entrada de texto:

    zenity -entry -title = "Site favorito" -text = "Qual é o seu site favorito?"

    Pegue a entrada do usuário em um shell script e você pode armazená-lo como uma variável.

    Há também um seletor de arquivos, calendário e outros tipos de diálogos. Para uma lista completa dos tipos de caixas de diálogo e suas opções, consulte a página de manual do Zenity.

    Um script de exemplo

    Vamos tentar usar o Zenity para criar um script de shell gráfico simples. Com apenas três comandos, podemos criar um programa de timer gráfico:

    #! / bin / bash
    # Este script pede ao usuário por um tempo, aguarda o valor especificado
    # de tempo e mostra uma caixa de diálogo de alerta.

    TIME = $ (zenity -entry -title = "Timer" -text = "Digite uma duração para o timer. \ N \ n Use 5s por 5 segundos, 10m por 10 minutos ou 2h por 2 horas.")

    dormir $ TIME

    zenity -info -title = ”Timer Complete” -text = ”O temporizador acabou. \ n \ n Tem sido $ TIME.”

    Estamos usando alguns truques extras aqui. Obtemos o valor da variável TIME do primeiro comando zenity e o alimentamos no comando sleep. Nós também estamos usando / n criar novas linhas de texto nos diálogos do zenity.

    Depois de salvar o script de shell e executar o chmod + x comando nele para dar permissões executáveis, podemos lançá-lo.

    Digite uma duração e o script usará o padrão dormir comando para contar em segundo plano. Quando o temporizador do comando sleep terminar, o script exibirá a mensagem de informação do zenity.

    Você pode criar um atalho na área de trabalho ou no painel para esse script e executá-lo sem tocar no terminal.


    Isto é apenas arranhar a superfície do que você poderia fazer com zenity; você poderia usá-lo para criar programas muito mais complicados. Se você está procurando mais informações sobre shell scripts, confira nosso guia para usar loops for em shell scripts.