Eu postei uma resposta aqui , isso pode ser útil, por conveniência, vou apenas colocá-lo aqui novamente.
Yad pode ser útil a este respeito, é uma bifurcação de zenity com mais recursos, um deles a capacidade de criar formulários.
Aqui está um exemplo muito simples de um formulário:
#!/bin/bash
frmdata=$(yad --title "Test Form" --form --field "Address" --field="Name")
frmaddr=$(echo $frmdata | awk 'BEGIN {FS="|" } { print }')
frmname=$(echo $frmdata | awk 'BEGIN {FS="|" } { print }')
echo $frmaddr > test.txt
echo $frmname >> test.txt
O script acima exibirá um formulário como este:
Depois de inserir seus dados e clicar em OK ou pressionar Enter no teclado, os dados do formulário serão gravados em um arquivo de texto chamado test.txt. Estou usando o awk para separar os dados do formulário, que é uma string com um pipe. separador de campo, eu acredito que há uma maneira direta de obter os dados sem awk, mas eu não sou nenhum especialista em yad, por favor, verifique o projeto em casa e fazer perguntas, você pode encontrar uma maneira mais elegante.
Como obter e instalar o yad aqui:
yad project home:
link
mais exemplos aqui:
link
link
Ainda não existe um designer de formulários, mas como a sintaxe é tão simples e tão próxima do zenity, isso geralmente não é um problema.