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

Índice:

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

Vídeo: Como criar scripts de shell gráficos simples com o Zenity no Linux

Vídeo: Como criar scripts de shell gráficos simples com o Zenity no Linux
Vídeo: Como Formatar o PC e Instalar o Windows 8.1 sem usar DVD ou Pendrive - YouTube 2024, Abril
Anonim
O Zenity adiciona interfaces gráficas a shell scripts com um único comando. Os scripts do shell são uma ótima maneira de automatizar tarefas repetitivas, mas eles normalmente estão confinados ao terminal - o Zenity os traz para fora do terminal e para o seu computador.
O Zenity adiciona interfaces gráficas a shell scripts com um único comando. Os scripts do shell são uma ótima maneira de automatizar tarefas repetitivas, mas eles normalmente estão confinados ao terminal - o Zenity os traz para fora do terminal e para o seu computador.

Já apresentamos uma introdução ao script de shell no passado. Você não precisa ser um programador para começar a usar scripts shell - eles exigem pouco mais do que 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, pode ser necessário instalá-lo manualmente com o seguinte comando:

sudo apt-get install zenity

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

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. Veja um exemplo de comando que você pode usar:

zenity –error –title=”An Error Occurred” –text=”A problem occurred while running the shell script.”

Execute o comando e você verá uma janela com a mensagem.
Execute o comando e você verá uma janela com a mensagem.
Coloque esse comando único 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.
Coloque esse comando único 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=”Query” –text=”Would you like to run the 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.
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:
Há também uma caixa de diálogo de entrada de texto:

zenity –entry –title=”Favorite Website” –text=”What is your favorite website?”

Capture a entrada do usuário em um script de shell e você poderá armazená-lo como uma variável.
Capture a entrada do usuário em um script de shell e você poderá armazená-lo como uma variável.
Há também um seletor de arquivos, calendário e outros tipos de caixas de diálogo. Para uma lista completa dos tipos de caixas de diálogo e suas opções, consulte a página de manual do Zenity.
Há também um seletor de arquivos, calendário e outros tipos de caixas de diálogo. 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 # This script asks the user for a time, waits the specified amount # of time, and shows an alert dialog.

TIME=$(zenity –entry –title=”Timer” –text=”Enter a duration for the timer.

Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.”)

sleep $TIME

zenity –info –title=”Timer Complete” –text=”The timer is over.

It has been $TIME.”

Image
Image

Estamos usando alguns truques extras aqui. Obtemos o valor da variável TIME do primeiro comando zenity e o alimentamos no comando sleep. Também estamos usando / n para criar novas linhas de texto nas caixas de diálogo 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.

Image
Image

Digite uma duração e o script usará o padrão dormir comando para contar em segundo plano. Quando o cronômetro do comando de suspensão terminar, o script exibirá a mensagem de informações do zenity.

Você pode criar um atalho na área de trabalho ou no painel para esse script e executá-lo sem tocar no terminal.
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 sobre como usar loops em scripts de shell.

Recomendado: