Muestra cuadros de diálogo para scripts
$ dialog --calendar "mes de junio" 0 0 1 6 2010
$ dialog --checklist "Escoger servicios" 0 0 3 vnc "" "" ssh "" "" cups "" ""
$ dialog --dselect /home/usuario/ 0 0
$ dialog --editbox /etc/fstab 0 0
$ dialog --fselect /home/usuario/ 0 0
$ dialog --gauge "Uso del software libre" 0 0 0
$ for var in 0 10 20 30 40 50 60 70 80 90 100; do sleep 1; echo $var; done | dialog --gauge "Total completado" 6 60 0
$ dialog --infobox "Esto va a explotar...." 3 26
$ dialog --sleep 3 --infobox "Esto va a explotar...." 3 26
$ dialog --sleep 3 --title "AVISO" --infobox "Esto va a explotar en 3 segundos...." 3 40; dialog --infobox "BOOOOOOOMMMM" 0 0
$ dialog --inputbox "Ingrese su nombre" 0 0
$ dialog --passwordbox "Ingrese contraseña" 0 0
$ dialog --title "Aquí me las den" --no-cancel --inputbox "Dejame un mensaje cariño" 0 0 ""
$ dialog --inputmenu "Nombre del usuario" 0 0 3 " juan Perez" "c/ del Pulgar num 5" "Jose Gonzalez" "c/ pez num 11"
$ dialog --menu "Escoge una distro..." 0 0 3 1 "Arch" 2 "Red Had" 3 "Ubuntu" 4 "Debian"
$ dialog --mixedgauge "errores" 0 0 30 ubuntu distros
$ dialog --msgbox "\n Aquí puedes poner un texto" 0 0
$ dialog --timeout 10 --clear --passwordbox "Entra la contraseña" 0 0 ""
$ dialog --backtitle "Sobre timeout..." --timeout 5 --pause "Espera un rato..." 10 10 5
$ dialog --radiolist "Escoger servicios" 0 0 3 vnc "" "" ssh "" "" cups "" ""
$ dialog --no-shadow --tailbox /etc/fstab 0 0
$ dialog --timebox "Tiempo de espera" 0 0 22 55 33
$ dialog --extra-button --timebox "Tiempo de espera" 0 0 22 55 33
$ dialog --defaultno --timebox "Tiempo de espera" 0 0 22 55 33
$ dialog --yesno "Quieres pasar a la siguiente opción?" 0 0
$ dialog --tailbox /var/log/fail2ban.log 20 100
Algunos ejemplos prácticos de su uso en scripts:
1.-
#!/bin/bash
dialog --menu "Opciones del script" 16 60 14 1 "Puertos abiertos" 2 "Intentos de acceso" 3 "las IPs externas e internas" 4 "Cantidad de intentos de ataques" 5 "Servicios activos" 6 "Salir"
clear
2.-
#!/bin/bash
# Escanear puertos abiertos
nmapResultat=$(sudo nmap -O localhost | grep "open" | awk '{print$1,$3}')
dialog --title "Resultado del escaneo de puertos" --msgbox "Los puertos abiertos son:
$nmapResultat" 0 0
clear
3.-
#!/bin/bash
# Parar un servicio
dialog --title "samba" --yesno "Quieres detener samba?" 0 0
case $? in
0)
sudo /etc/init.d/samba stop
dialog --title "Info" --msgbox "samba detenido" 0 0;;
1)
dialog --title "Info" --msgbox "samba continua activo" 0 0 ;;
255)
dialog --title "Info" --msgbox "ESC presionado... samba activo" 0 0 ;;
esac
clear
$ dialog --title "Mensaje al mundo" --msgbox "\n Hola a todos" 6 35
$ dialog --yesno "¿Estás de acuerdo?" `tput lines` `tput cols`
$ dialog --menu "Escoger interfaz" 0 0 0 g "gnome" k "kde" x "xfce" 2>&1
4.-
#!/bin/bash
# Respuestas como variables
TMPFILE="/tmp/scripttemp.$$"
dialog --inputbox "Ingrese su nombre" 10 30 2> $TMPFILE
N=`cat $TMPFILE`
dialog --inputbox "Ingrese su edad" 10 30 2> $TMPFILE
E=`cat $TMPFILE`
# Borrar tmpfile
rm -f $TMPFILE
dialog --infobox "$N tiene $E años" 3 50