Zenity is much like the dialog package from the day before, except it shows dialog as GUI. WineTricks is an example of a package that uses zenity.

We are stepping a bit away from pure bash here. This should only be used for scripts intended for desktop users.

Info

To make a simple dialog that just showing some information.

zenity --info --title="Hello" --text="Hello World"

Form

You can also create a dialog with a form.

zenity --forms --title="Login" --text="Credentials" --add-entry="Username" --add-password="Password"

File

A file chooser.

zenity --file-selection

Directory

Or pick a directory.

zenity --file-selection --directory

Other

To see a fill list of dialog types:

zenity --help-all

Zenity is based on GTK so it integrates nicely into GNOME desktop environment. If you use KDE then you might take a look at kdialog instead.