Utilitário Shell com Interface(whiptail)

Eu fiz um script utilitário para automatizar coisas rotineiras.

Pequisei como se faz uma interface usando somente o shell e encontrei o tal do whiptail.

O exemplo que eu fiz ele utiliza um menu principal e depois um checkbox list. No caso se estiver marcado ele ativa o serviço, se estiver desmarcado ele desativa. Eu não gosto de deixar serviços que não estou utilizando funcionando, gasta recurso sem necessidade e não abre portas.

OBS: Ele é um script bash, então eu pesquisei como se faz um atalho com icone, ele tem que ser executado com sudo, pois serviços só ativam e desativam rodando como sudo.

Eu fiz o atalho de tal forma que quando ele é executado o terminal já maximiza e pergunta a senha do usuário, pois o redimencionamento do whiptail é meio chato de fazer em tempo de execução.

É um menu list com coisas que eu faço com frequência, do tipo ligar e desligar o serviço do docker.

Usei um checklist, se estiver desmarcado o item, ele desativa os serviços ao dar OK. Se estiver marcado ele ativa. Ainda vou refinar essa lógica para ele não desativar o que já estava desativado e vice versa.

No menu firewall eu vou fazer um checklist no qual vai ter as regras de bloquear e desbloquear os IP do tio gates do vscode, ativar ou desativar os IPs de um pbx que eu estou desenvolvendo, ou ligar ou desligar o UFW.

No terceiro submenu eu vou fazer um utilitario de instalação limpa contendo outros submenu.

Um de instalar os driver da nvidia no debian, quem tem notebook hibrido sabe que isso é dor de cabeça.

Outro menu para instalar os pacotes que eu utilizo no dia a dia:
vim, htop, git, iftop, net-tools, conntrack, sublime, dbeaver, docker, vscode e rsyslog.

e por ultimo um submenu para dar stop e mask nas porcarias: avahi, cups, cups browser.
Editado:Se alguém interessar comenta que eu coloco no github.

Um irmão pediu para compartilhar.

Recomendo ler o LICENSE.

Só achei legal a interface, lembra instalador de linux antigos.


Eu atualizei e adicionei termos de uso. Se o cara aceitar em menos de 15s ele vai dizer que não deu tempo de ler e vai confirmar se ele realmente leu.
Se for aceito os termos não vai mais aparecer.

O script grava um arquivo .aceitou_termos, dai nas proximas vezes que for executado o script verifica que existe esse arquivo e não exibe os termos de uso.
Cuidado ao aceitarem termos de uso sem ler.

4 curtidas

Parabéns pelo ideia e pelo script @omladalan !! Compartilha conosco o link do projeto! :rocket:

1 curtida

Recomendo ler o LICENSE

2 curtidas

lembra o dialog já usei muito.

whiptail -h

whiptail -v

1 curtida

Sim, eh similar, mas nao quis usar o dialog pois tem que instalar no debian 13. Enquanto o que usei ja vem nativo no debian.

1 curtida