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
Estou atrasado aqui, mas isso ainda pode ser útil.