Dirección y Coordinación General
Esteban Saavedra López (
[email protected])
Diseño y Maquetación
Jenny Saavedra López (
[email protected])
Esteban Saavedra López (
[email protected])
Colaboración
Williams Chorolque Choque (
[email protected])
Herramientas
La edición de esta revista fue realizada de forma integra haciendo uso de Software
Libre
Desde el momento en que nos concibieron, mantuvimos estrecha relación primero
con nuestra madre, quien día a día nos alimento, ya sea proveyéndonos alimentos
desde el punto de vista nutritivo, y también nos alimento desde el punto de vista de
conocimiento, sirviéndonos como interfaz hacia el mundo exterior.
La actividad de alimentarnos con el tiempo, no ha disminuido, más al contrario ha
aumentado, si bien llega una punto en nuestras vidas que nos valemos por nosotros
mismos, esto hace que podamos decidir que, como y cuando alimentarnos, pero
también tenemos la posibilidad de decidir si o no contribuir con la alimentación de
otros.
Son muchas las formas de poder brindar alimento, pero bien dicen nuestros
abuelos: “la mejor herencia, es la educación que recibimos”, y por ende el decidir
alimentarnos día tras día de mayores y mejores conocimientos, hace que crezcamos
como personas.
Alimentamos tu conocimiento, un título que encierra el pequeño, pero gran aporte
que hemos venido realizando en nuestros primeros números en la revista, números
que han contenido artículos, a lo mejor sencillos pero que han contribuido a
alimentar el conocimiento de los recién empiezan a introducirse en este maravilloso
mundo del software libre, y también una forma de compartir el conocimiento que
otros han adquirido alimentando el suyo propio.
En éste cuarto número ponderamos aspectos como la entrevista a Julian Fagotti
coordinador de la Conferencia Latino Americana de Software Libre
LATINOWARE, a quién ofrecemos nuestra gratitud por concedernos una entrevista;
un segundo aspecto va referido a la participación de algunos investigadores que
recién empiezan y son entusiastas del Software Libre.
Alimenta tu conocimiento hoy y siempre.
Bienvenidos a nuestro cuarto número
Esteban Saavedra López
Director y Coordinador General
Frontends para
nuestros Shell Scripts
Los diálogos son utilidades que sirven para crear interfaces a shell scripts, u otros
lenguajes como Perl y Python. Muchos de éstas utilidades no son gráficas (utiliza
curses) así es que puede funcionar bien en cualquier consola. Hay versiones gráficas
llamadas Xdialog con variantes para Gnome y KDE.
Introducción
Para las personas que estamos aprendiendo a programar shell scripts y que deseamos que
nuestros programas tengan una interfaz que nos ayude a manejarla, es importante contar con
utilidades como Dialog o de forma genérica con XDialog, que en su mayoría tienen los paquetes
disponibles para cualquier distribución.
Estas utilidades inicialmente sólo estaban disponibles para funcionar dentro de un entorno en
modo texto, pero actualmente se han actualizado de tal forma que nos permiten trabajar en
modo texto, modo gráfico y poseen algunas especificaciones para algunos lenguajes
específicos como es el caso de Udpm (User Dialog Perl Modulates) y pythondialog
Diálogos de forma general
Simplemente son utilidades que nos permiten crear interfaces (texto o gráfica) para nuestros
shell scripts o para algún lenguaje especifico.
Porqué usar Diálogos?
Porque dentro de nuestros shell scripts, podremos aprovechar las ventajas que se encuentran
dentro de estas utilidades; en ningún caso debemos programar o desarrollar estos diálogos, por
que ya están listos para invocarlos y hacer uso de ellos
Características de los Diálogos
✔ Fáciles e intuitivos de aprender y utilizar.
✔ Nos permiten hacer uso de los diálogos más genéricos y más frecuentemente
necesarios para desarrollar cualquier shell script
✔ Disponibles tanto para trabajar tanto en modo texto como en modo gráfico
Pasos para crear interfaces para nuestros Shell Scripts
Instalar la utilidad, que está presente en todas las distribuciones actuales.
✔
✔ Revisar la documentación de la utilidad correspondiente y ver la forma de uso de cada
diálogo.
Incluir el diálogo en nuestros shell scripts.
✔
✔
Diálogos existentes
Entre las utilidades para realizar diálogos se encuentran:
✔ Dialog
✔ Whiptail
✔ gdialog
✔ Xdialog
✔ Zenity
✔ Kdialog
✔ Udpm (User Dialog Perl Modulates)
✔ pythondialog
Qué se pueden hacer con los diálogos
Habilitar interfaces que permitan hacer uso de recursos como:
✔ Calendario y Hora
✔ Cajas de mensajes (messagebox)
✔
✔
Error
Información
Preguntas
✔
✔ Alerta
✔ Cajas de entrada de texto (inputbox, editbox)
✔ Listas de opciones(listbox, combobox)
✔ Listas de opciones (radiobuttons, checkbox)
✔ Selección de archivos o directorios(selectfile)
✔ Vistas jerárquicas(treeview)
✔ Progreso de operaciones
✔ Mensajes en el área de notificación
✔ etc.
Algunas posibilidades de estas utilidades
En internet podemos encontrar una gran cantidad de ejemplos de estas utilidades, pero para los
que recién empiezan como yo, es bueno verlos en acción, así que a continuación realizaremos
una revisión de algunas posibilidades de estas utilidades.
Dialog
Cajas de diálogo
Asignación de hora
dialog \
--title 'IMPORTANTE' \
--yesno 'La instalacion ha terminado
correctamente' \
0 0
Progreso de operaciones
dialog \
--title 'Ajuste de la hora local' \
--timebox '\nNOTA: Use TAB para seleccionar
los campos.' \
0 0 \
12 17 30
Menú de opciones
dialog \
--title 'Transferencia de ArchivoS' \
--gauge '\nTransferencia en progreso...' \
8 40 60
Diálogo estándar de selección de directorio
dialog \
--title 'Perfiles de usuario' \
--menu 'Seleccione el perfil adecuado:' \
0 0 0 \
usuario 'Usuario del sistema' \
desarrolador 'Desarrollador del sistema' \
administrador 'Administrador del sistema'
Lista de opciones
dialog \
--title 'Directorio de Instalacion' \
--fselect /home/rocio/ \
10 45
dialog \
--title 'Seleccion de distribuciones' \
--checklist 'Que distribución prefieres?' \
0 0 0 ubuntu 'Ubuntu 8.04' on \
fedora 'Fedora 9' off \
centos 'Centos 5.2' on \
debian 'Debian leny' off
XDialog
Lista de opciones
Rango de valores
Xdialog --title "Distribuciones" \
--combobox "Selección de una
distribución" \
0 0 "Ubuntu 1" "Fedora 2" "CentOS 3"
"Debian 4" \
"Mandriva 5"
Escala de valores
Xdialog --title "Porcentaje de avance" \
--rangebox "Valor del porcentaje
avanzado" 0 0 1 100 60
Diálogo estándar de selección de color
Xdialog --title "Valoracion del evento" \
--spinbox "¿Qué nota le das al
evento?" 0 0 1 10 9 "Nota"
Vistas jerárquicas
Xdialog --title "Seleccion de Color" \
--colorsel "Color de la paleta" 18 55
50 60 70
Construcción de listas
Xdialog --title "Distribuciones disponibles" \
--buildlist "Seleccione las
distribuciones" \
0 0 0 "ubuntu" "Ubuntu" "on" "fedora"
"Fedora" "off" \
"debian" "Debian" "on" "centos"
"CentOS" "off"
Xdialog --title "Arbol de proyectos"
--treeview \
"Clasificacion" 0 0 0 \
"General" "Generales" "off" 1 \
"Internet" "Internet" "off" 2 \
"Firefox" "Firefox" "off" 3 \
"Pidgin" "Pidgin " "off" 3 \
"Oficina" "Ofimaticas" "off" 1 \
"OpenOffice" "OpenOffice" "off"
2 \
"Kile" "Kile" "off" 2 \
KDialog
Cajas de diálogo
Entrada de contraseñas
kdialog --title "Instalaciones" \
--yesnocancel "Desea realizar la
instalación"
Entradas de texto con valores definidos
kdialog --title "Autenticacion" \
--password "ingrese la palabra clave:"
Menú de opciones
kdialog --title "Entrada de datos" \
--inputbox "Nombre de usuario" \
"Usuario por defecto"
kdialog --radiolist "Seleccione el idioma:" \
1 "Ingles" off 2 "Castellano" on 3
"Frances" off
Diálogo estándar de selección de directorio
Diálogo estándar de selección de directorio
kdialog --getopenfilename .
kdialog --getexistingdirectory .
Zenity
Rango de valores
Progreso de operaciones
zenity --scale --title "Escala"\
--text "Seleccione la escala
adecuada" \
--min-value=2 --max-value=100
--value=50 --step 2
Listas de opciones
zenity --progress --title="Actualizacion
delsistema" \
--text="Se esta procediendo a
actualizar su sistema..." \
--percentage=17
Selección de archivos y directorios
zenity --list --title "Distribuciones"\
--text "Seleccion de distribución" \
--radiolist --column "Seleccion"
--column "Distribucion" TRUE \
"CentOS" FALSE "Debian" FALSE "Ubuntu"
FALSE "Ninguna"
Lista de opciones
zenity --file-selection --title="Seleccione un
archivo"
Dialogo de notificación
zenity --notification\
--window-icon="info" \
--text="!Hay actualizaciones que son
necesarias para su sistema!"
zenity --title "Aplicaciones disponibles"
--list \
--text "Seleccione una aplicacion" \
--checklist --column "Check" --column
"Opcion" \
TRUE "OpenOffice" TRUE "Firefox" FALSE
"Gimp" \
FALSE "Inkscape" --separator=":"
Interfaces para lenguajes específicos
Cuando existan oportunidades de desarrollar programas en lenguajes como Perl y Python,
podemos hacer uso de utilidades como Udpm (User Dialog Perl Modulates) y pythondialog,
que nos permiten habilitar interfaces como las vistas en éste artículo, pero orientadas
directamente a estos lenguajes.
Conclusiones
El uso de utilidades como Dialog, XDialog, KDialog, Zenity, facilitan enormemente el
desarrollo de shell scripts con una inte
Comentarios de: atix04 2008 (0)
No hay comentarios