Você pode usar isso para arquivos:
zenity --file-selection
e isso para pastas:
zenity --file-selection --directory
para uso, execute:
zenity --help-general
zenity --help-file-selection
Geralmente ele corresponde ao tema atual (para os gerenciadores de janelas GTK de qualquer maneira); na minha máquina, com uma versão modificada do Zukitwo 3.8, fica assim:
Uma maneira de usá-lo é assim:
echo "you selected $(zenity --file-selection)"
O que resultaria em you selected /path/to/file
.
Você também pode usar opções para definir um título apropriado e o diretório em que ele começa - Com o seu caso de uso do rsync, por exemplo:
zenity --file-selection --directory --title="Choose rsync source directory" --filename=$HOME/Desktop/
Para arquivos, você também pode especificar um tipo de arquivo para selecionar - por exemplo:
zenity --file-selection --file-filter='PDF files (pdf) | *.pdf' --title="Select a PDF file"
NOTA: Você também pode usar o YAD , um fork do Zenity que possui mais recursos.
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install yad
Fonte
Na maioria das vezes, você pode usá-lo da mesma maneira - no navegador de arquivos:
yad --file-selection
e para a página de ajuda:
yad --help-all
Embora na época (em torno da versão 26?), Ele não tivesse sido atualizado para corresponder à nova interface GTK 3.14+ (havia zenity) - ele tem mais recursos, mas verifique a compatibilidade (com base na documentação, ele deve funcionar no GTK +> = 2.16. 0 0