PDF de programación - (X)dialog: Talking shells

Imágen de pdf (X)dialog: Talking shells

(X)dialog: Talking shellsgráfica de visualizaciones

Actualizado el 23 de Julio del 2017 (Publicado el 17 de Julio del 2017)
764 visualizaciones desde el 17 de Julio del 2017
416,7 KB
3 paginas
Creado hace 19a (10/01/2005)
LinuxFocus article number 267
http://linuxfocus.org

(X)dialog: Talking shells

Abstract:

Xdialog y dialog son dos utilidades clásicas que permiten mejorar tus scripts
de shell con una interfaz de usuario gráfica.
Necesitarás saber un poco sobre programación de shell para comprender este
este artículo. Para aprender lo básico sobre programación de shell puedes ver
nuestro artículo en Programas Shell (Shell Programming).

_________________ _________________ _________________

by Katja y Guido Socher
<katja/at/linuxfocusorg
guido/at/linuxfocus.org>>

About the authors:

Katja es la editora en alemán
de LinuxFocus. A ella le
gustan Tux, el cine, la
fotografía y el mar. Puedes
encontrar su página aquí.

Guido ha sido un admirador
de Linux desde hace tiempo.
Le gusta Linux porque está
diseñado por gente honesta y
abierta. Esta es una de las
razones por las cuales lo
llamamos fuente abierta. Su
página está en
linuxfocus.org/~guido.

Presentación

UNIX shell es un entorno muy productivo en sí mismo y funciona bien sin una interfaz de usuario gráfica.
En algunos pocos casos, sin embargo, conviene contar con un diálogo gráfico con el usuario. Un ejemplo de
esto es el diálogo de instalación de un programa. Tienes un número de opciones de características que se
pueden instalar y puedes elegir el directorio de destino ....

Ingresar (X)dialog...

con dialog y Xdialog puedes diseñar una aplicación gráfica con sólo escribir un breve shell script. Dialog es
un programa basado puramente en terminal Xdialog es un programa X11.
Aquí encontrarás un ejemplo:
Puedes escribir (o bien copiar/pegar) lo siguiente en un shell (xterm, konsole,....):

bash
Xdialog −−yesno "Do you want to learn more about Xdialog?" 0 0;\

1/3

case $? in
0)
echo "Result: Yes chosen.";;
1)
echo "Result: No chosen.";;
255)
echo "ESC pressed.";;
esac

El cuadro que aparecerá mostrará algo como esto:

Si utilizas dialog en lugar de Xdialog (borra la X en la segunda línea en el script que se mostró anteriormente)
entonces obtendrás una aplicación que se basa en expresiones extrañas que se ejecuta sin el xterm y no abre
una ventana separada. En algunos casos esto es más apropiado para un shell script ya que se ejecuta
simplemente sin la ventana terminal. Esto es importante si quieres ejecutarlo en forma remota con diferentes
hosts entre tu ordenador y el host remoto donde el IP routing no se encuentra disponible. En este caso dialog
funcionará pero no podrás iniciar una aplicación X11 del tipo de Xdialog.

Lo que antecede es una aplicación de dialog/Xdialog que no tendrá realmente uso pero que muestra que fácil
es programar un diálogo gráfico sencillo. Hay más cuadros de diálogo interesantes tales como calendario,
menúes, administrador de archivos, barra progess, cuadro de texto, casilla de mensajes, cuadro de diálogo de
contraseña, ... Si ejecutas:

2/3

dialog −−help
o
Xdialog −−help

verás un listado de los cuadros de diálogo disponibles. Xdialog ofrece algunos cuadros de diálogo más que
dialog.

Cómo funciona

Los cuadros de diálogo se configuran en la línea de comandos.

dialog −−yesno "text string" <height> <width>

Después de escribir dialog o Xdialog debes indicar el nombre del cuadro de diálogo que deseas, seguido de
sus parámetros específicos.

El cuadro de diálogo yesno implica 3 parámetros. La altura <height> y el ancho <width> pueden establecerse
en cero en cuyo caso la geometría del cuadro será ajustada automáticamente al tamaño del texto. El resultado
se mostrará como estado de salida en la pantalla en la variable "$?". Si hay algo más que deba mostrarse
como, por ejemplo, los nombres de las opciones seleccionadas, esto aparecerá como un error tipo (o standard).
El error tipo (o standard) generalmente se muestra en la pantalla pero puede ser redireccionado con ">2".

Una solución muy simple pero eficaz.

Verdaderas aplicaciones

Una verdadera aplicación mundial en donde Xdialog/dialog realmente presenta una ventaja sobre los
programas de tipo shell scripts convencionales: Un menú en el que puedes seleccionar distintos proveedores
de Internet y conectarte a ella. Este script requiere de los ppp−on/ppp−off scripts que se encuentran en la
edición de marzo 2001, en el artículo Using different ISPs for your Internet access. El script se llama
pppdialout y despliega un menú diferente según te encuentres conectado a Internet o no.

#!/bin/sh
#
#DIALOG=Xdialog
DIALOG=dialog
#
# name of your default isp:
defaultisp=maxnet
#
error()
{
echo "$1"
exit 2
}
help()
{
cat <<HELP
pppdialout −− select an ISP and dial out.
All available ISPs must have a config file in
/etc/ppp/peers

pppdialout executes the ppp−on/ppp−off scripts as described
in

3/3
  • Links de descarga
http://lwp-l.com/pdf5492

Comentarios de: (X)dialog: Talking shells (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad