Você pode usar o utilitário diálogo . Ele pode funcionar tanto dentro e fora de um terminal.
Para obtê-lo no servidor X, você pode usar seu xdialog ou gdialog / zenity variante. Tome nota que zenity é recomendado para XFCE, desde o seu uso GTK +. Na verdade, acho que o Kdialog é uma variante do Kdialog para o KDE.
Aqui está um script Zenity simples, executado no servidor X com uma caixa sim / não:
DIALOG=zenity
$DIALOG --title " My first dialog" --clear \
--yesno "Hi, this is my first dialog" 10 30
Aqui está um simples tutorial com vários exemplos sobre o diálogo diferente acessível. E há também um bom tutorial sobre o zenity.
Sobre o seu diálogo de progresso gráfico, há um dedicado para esse fim . Aqui está o exemplo de script da documentação:
#!/bin/sh
(
echo "10" ; sleep 1
echo "# Updating mail logs" ; sleep 1
echo "20" ; sleep 1
echo "# Resetting cron jobs" ; sleep 1
echo "50" ; sleep 1
echo "This line will just be ignored" ; sleep 1
echo "75" ; sleep 1
echo "# Rebooting system" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
--title="Update System Logs" \
--text="Scanning mail logs..." \
--percentage=0
if [ "$?" = -1 ] ; then
zenity --error \
--text="Update canceled."
fi