Qual idioma você planeja usar para a GUI? Adivinhando C / C ++ com base na chamada system()
. Você também pode usar os os.exec * () ou os.system () funciona ou funções similares em vários outros idiomas, incluindo apenas outro script de shell que chama Zenity , Yad ou GTKDialog para as interações da GUI.
O uso da função system (/ system) C / C ++ tem uma série de ressalvas . Como a maioria dos outros compiladores e interpretadores de linguagem são escritos em C / C ++, suas funções / métodos equivalentes geralmente têm os mesmos problemas. Use com cuidado.
A comunidade Puppy Linux faz amplo uso do GTKDialog chamado a partir de scripts de shell bash, já que ele suporta mais todos os widgets usuais de GUI do GTK +. O código GTKDialog semelhante a XML é incorporado em uma string de script de shell export
ed que é passada na chamada para o executável gtkdialog
. Assim, todo o código permanece no mesmo arquivo.
Yad é uma bifurcação de Zenity que multiplica drasticamente as capacidades de GTK + GUI do Zenity e é a minha preferência atual ferramenta.
A abordagem geral do GTKDialog , Zenity e Yad é ...
- Escreva um script de shell que interativamente coleta os argumentos com uma ou mais chamadas para GTKDialog , Zenity ou Yad (ou qualquer um deles ou todos)
- Execute o programa de linha de comando com os argumentos coletados
A GUI interativa e o código funcional também podem estar no mesmo script , com uma opção de linha de comando para selecionar GUI, CLI ou API (não interativa), se desejado. Melhor ainda seria a detecção interna na inicialização do tipo de ambiente com a seleção automática da interface apropriada.