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 combina com o tema atual, na minha máquina com uma versão modificada do Zukitwo 3.8, é 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 inicia - Com seu caso de uso de 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 tem cargas mais recursos.
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install yad
Na maior parte, você pode usá-lo da mesma maneira:
yad --file-selection
para o navegador de arquivos
yad --help-all
para a página de ajuda
Embora a versão que estou usando não tenha sido atualizada para coincidir com a nova interface GTK 3.14+ (zenity has) - esqueça que tem mais recursos:)