• No se han encontrado resultados

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN"

Copied!
10
0
0

Texto completo

(1)

ESCUELA DE COMPUTACIÓN

CICLO:01/2015

GUIA DE LABORATORIO #7

Nombre de la Practica: Instalación y manejo de dialog. Lugar de Ejecución: Laboratorio de Redes, Edificio 3 del CITT Tiempo Estimado: 2:30

MATERIA: Aplicaciones Para Redes

DOCENTES: Denis Altuve, Marvin Martínez.

I. OBJETIVOS Que el estudiante:

 Pueda instalar la librería gráfica dialog.

 Comprenda el manejo de las librerías.

 Implemente cada una de las opciones según su necesidad.

II. INTRODUCCION TEORICA

El lenguaje de scripting puede ser una excelente herramienta para la administración de sistemas, brinda la flexibilidad propia del lenguaje con estas características y a su vez es muy potente.

Una de las herramientas más utilizadas por los administradores de sistemas tipo UNIX es el propio uso del interprete de comandos para generar shell script, siguiendo con la filosofía de usar pequeñas herramientas simples que hacen cosas puntuales para hacer grande algo más grande y complejo.

El interprete de comandos más usado en el mundo del Software Libre (y en UNIX privativos también ya que lo han adoptado) es el BASH o Bourne-again shell, como se prefiera reconocerlo. También se utiliza mucho el sh o Bourne shell.

Además de ser interpretes poderosos, son a su vez potentes lenguajes de shell script que permiten utilizar todas las herramientas disponibles desde la interface de comandos y que cuentan con estructuras similares a otros lenguajes compilados.

En este mundo de solo texto, se tiene el problema de que la interface de usuario no es muy cómoda que digamos, para un usuario común.

Por suerte existen formas de desarrollar con Bash o sh y tener una mejor interface con el uso de dialog y Xdialog (el primero para el entorno de caracteres y el segundo para X).

Dialog, cdialog y X-Dialog permiten el uso de ventanas y “cajas” para hacer la experiencia de interaccionar con un programa desarrollado en shell script más amena.

Su estructura es muy simple de comprender y cuenta con una serie de parámetros que le indicaran, al ser llamado el programa dialog desde el script, que es lo que tiene que mostrar.

(2)

¿Que es dialog?

A menudo queremos que nuestros programas se comuniquen de una manera mas interactiva con el usuario, pues bien para ello tenemos a dialog que es una utilidad para crear interfaces a shell script, u otros lenguajes como Perl. No es gráfico (utiliza nurses) así es que puede funcionar bien en consola.

Ncurses es una librería de programación que provee una API que permite al programador escribir interfaces basadas en texto.

Dialog tiene predefinidos varios tipos de ventanas: calendar, checklist, fselect, gauge,

infobox, inputbox, input- menu, menu, msgbox (message), password, radiolist, tailbox, tailboxbg, textbox, timebox, and yesno (yes/no).

Se elige en cada momento la que mejor se adecue a las necesidades presentadas.

Luego se tienes una serie de parámetros comunes a todas las ventanas. Titulo, texto y tamaño son las mas comunes. Luego, en función de que tipo de ventana hayamos elegido tendremos unas opciones especificas.

A la hora de recuperar los datos introducidos por el usuario en el dialog tendremos que usar la salida estándar o la salida estándar de errores, depende del tipo de dialogo. Si queremos saber si el usuario a pulsado cancelar tendremos que fijarnos en el estado de salida de dialog (con $? por ejemplo).

III. MATERIALES Y EQUIPO Para la realización de la guía de práctica se requerirá lo siguiente:

No. Requerimiento Cantidad

1 PC de escritorio con Linux 1

2 Guía de laboratorio 1

IV. PROCEDIMIENTO

Parte I

Instalación de dialog:

1. Primero podemos ver en nuestro equipo si ya se posee este paquete digitando el siguiente comando.

a. rpm -q dialog

b. dialog-2.1.2-1.1.fc3.rf,

si ya existe alguna versión en nuestro equipo, la linea b nos mostrara la versión del paquete instalada.

2. Si no existe ninguna version instalada en nuestro equipo me mostrar lo siguiente en la linea b. a. rpm -q dialog

b. package dialog is not installed

3. Para instalarlo solamente digitamos el siguiente comando y listo. 1. rpm -ivh dialog-1.0.20050306-1.i386.rpm

ó

2. yum install dialog

Si dialog se instalo correctamente, digitamos en consola la palabra dialog, lo que hará es mostrar sus diferentes opciones y los parámetros a utilizar.

(3)

Parte II

Comenzando a utilizar Dialog:

Parta poder utilizar las cajas de texto y las opciones comunes, siempre tiene que anteponerse la palabra dialog.

Digitar cada uno de los pasos que a continuación se presentan, interpretador y cualquier duda preguntar al docente:

1. msgbox :

Utilizado para mandar un mensaje en la cual se terminara hasta que el usuario de aceptar. Width=ancho.

Height=alto. SYNOPSIS

--msgbox text height width Ejemplo 1.

dialog --msgbox “Hola Mundo” 5 25

Ejemplo2.

(4)

2. infobox:

Utilizado para enviar mensajes al usuario. SYNOPSIS

--infobox text height width Ejemplo1.

dialog --sleep 4 --infobox "..::Espere por favor::.." 5 30

Ejemplo2.

dialog --backtitle "Espera" --title "Titulo" --sleep 4 --infobox "..::Espere por favor::.." 5 30

3.yesno:

Utilizado para esperar una respuesta del usuario en la cual se espera que sea si ó en caso contrario no.

SYNOPSIS

--yesno <text> <height> <width> Ejemplos

En estos ejemplos se mostraran dos formas de capturar la respuesta.

Forma 1 Forma 2

#!/bin/bash

dialog --yesno "Desea salir de la aplicacion" 5 35 a=$?

case $a in

0) echo "Apretaste si";; 1) echo "Apretaste no";; esac

#!/bin/bash

dialog --yesno "Desea salir de la aplicacion" 5 35;\ case $? in

0) echo "Apretaste si";; 1) echo "Apretaste no";; esac

(5)

4. Inputbox:

Utilizada para que el usuario ingrese alguna información, el resultado puede ser capturado por medio de la redirección estándar de errores (2>)que la enviara a un archivo, el cual le podremos dar un cat y guardarlo en una variable o puede ser capturada por medio de la salida estándar (stdout), directamente en una variable.

SYNOPSIS

--inputbox <text> <height> <width> [<init>]

Ejemplos. #!/bin/bash

dialog --inputbox "Ingrese su nombre" 5 25 2>algo.txt

var=$(cat algo.txt) echo $var

rm -f algo.txt #!/bin/bash

valor=$(dialog --stdout --inputbox "Ingrese su nombre" 0 0 )

echo $varlor

Los dos ejemplos anteriores daran el mismo resultado. 5. textbox:

Utilizado para abrir el contenido de un archivo en la caja de texto. SYNOPSIS

--textbox <file> <height> <width> Ejemplo.

Me muestra el contenido que tiene el archivo dialog.sh. dialog --textbox dialog.sh 15 40

6. passwordbox:

Utilizado para cuando se requieren contraseñas ingresadas por el usuario. SYNOPSIS

(6)

Ejemplo 1.

En este ejemplo cuando se digite los caracteres no serán vistos por el usuario, ademas el resultado sera redireccionado al archivo algo,txt.

dialog --passwordbox Password 8 40 2>algo.txt

Ejemplo 2.

En este ejemplo se puede observar que se le agrego la palabra --insecure que lo que hace es que se vean con asteriscos los caracteres digitados.

dialog --insecure --passwordbox Password 8 40 algo.txt Ejemplo 3.

En estos ejemplo se puede observar tres formas de capturar los datos

Forma1 Forma2

#!/bin/bash

if dialog --insecure --passwordbox "Ingrese su contraseña" 10 40 2>algo.txt

then

echo "Apestaste aceptar" echo -n "Password: " cat algo.txt

echo else

echo "Apestaste Cancelar" fi

#!/bin/bash

dialog --insecure --passwordbox "Ingrese su contraseña" 10 40 2>algo.txt;\

case $? in

0) echo "Apretaste aceptar" echo "Password: "

cat algo.txt echo ;;

1) echo "Apretaste cancelar";; esac

(7)

#!/bin/bash

contra=$( dialog --stdout --insecure

--passwordbox "Ingrese su contraseña" 10 40 ) case $? in

0) echo "Apretaste aceptar" echo "Password: "

echo $contra echo ;;

1) echo "Apretaste cancelar";; esac

7. Menú:

Se utiliza para crear menús, en el cual el usuario puede seleccionar la opción que desee, se redirecciona a alguna archivo el cual contendrá el valor de la opción seleccionada.

SYNOPSIS

--menu <text> <height> <width> <menu height> <tag1> <item1>...

Forma 1 Forma 2

#!/bin/bash

dialog --menu "MENU" 10 30 3 1 red 2 green 3 blue 2>algo.txt;\

case $? in

0) echo "Escogistes la opcion de aceptar" var=$(cat algo.txt)

rm -f algo.txt case $var in

1) dialog --msgbox "Escogistes la opcion 1: RED" 5 35;;

2) dialog --msgbox "Escogistes la opcion 2: GREEN" 5 35;;

3) dialog --msgbox "Escogistes la opcion 3: BLUE" 5 35;;

esac ;;

1)

dialog --sleep 4 --infobox "Escogistes la opcion de cancelar" 8 45

dialog --pause "Saliento del Sistema" 10 30 5

;; esac

#!/bin/bash

var=$(dialog --stdout --menu "MENU" 10 30 3 1 red 2 green 3 blue)

case $? in

0) echo "Escogistes la opcion de aceptar" case $var in

1) dialog --msgbox "Escogistes la opcion 1: RED" 5 35;;

2) dialog --msgbox "Escogistes la opcion 2: GREEN" 5 35;;

3) dialog --msgbox "Escogistes la opcion 3: BLUE" 5 35;;

esac ;;

1)

dialog --sleep 4 --infobox "Escogistes la opcion de cancelar" 8 45

dialog --pause "Saliento del Sistema" 10 30 5

;; esac

(8)

8. checklist:

Utilizado para que el usuario escoja varias opciones. SYNOPSIS

--checklist text height width list-height [ tag item status ] ...

Forma 1 Forma 2

#!/bin/bash

var=$( dialog --stdout --checklist "Elija su color preferido" 10 40 3 1 red on 2 green off 3 blue on 4 pink off )

dialog --msgbox "Valores Capturados: $var" 5 50

#!/bin/bash

var=$( dialog --stdout --separate-output --checklist "Elija su color preferido" 10 40 3 1 red on 2 green off 3 blue on 4 pink off )

echo "Valores Capturados: "$var

9.radiolist:

Utilizado para que el usuario escoja solamente una opción. SYNOPSIS

--radiolist <text> <height> <width> <list height> <tag1> <item1> <status1> Ejemplo1:

Ejemplo.

dialog --radiolist "Elija su color preferido" 10 40 4 1 red on 2 green off 3 blue off 4 pink off 2>algo.txt

Ejemplo2 #!/bin/bash

var=$(dialog --stdout --radiolist "Elija su equipo preferido" 10 40 4 1 Barcelona on 2 "Real Madrid" off 3 Villareal off 4 Cadiz off)

(9)

case $? in

0) dialog --sleep 4 --infobox "Mi equipo favorito es el de la ópcion: $var" 5 30 ./prueba.sh

;;

1) salir=$(dialog --stdout --yesno "Desea Cancelar" 5 35) case $? in

0) dialog --pause "Saliento del Sistema" 10 30 5 clear;; 1) ./prueba.sh;; esac ;; esac

Nota: Verificar el resultado con su docente, para observar si es el esperado.

10. fselect:

Utilizado para ver los directorios y archivos, capturando la dirección. SYNOPSIS

--fselect <filepath> <height> <width> Ejemplo

dialog --fselect /root/Desktop/ 5 6 2>algo.txt

11.gauge:

Sirve para crear una barra de progreso. SYNOPSIS

--gauge <text> <height> <width> [<percent>] Ejemplo

(10)

Forma1 Forma2 do

echo $I sleep 1 done

) | dialog --gauge "...:::Instalando:::..." 0 0 0

( while [ $x -le 100 ] do #comando de aplicacion echo $x x=$( expr $x + 10 ) sleep 1 done ) | dialog --gauge "...:::Instalando:::..." 0 0 0 V. DISCUSION DE RESULTADOS

->Crear un script que me permita ingresar un usuario, y luego que me permita ingresar su password, en cada opción utilizada para capturar usuario y password solo existirá el botón de aceptar, en ningún momento estará el botón de cancelar, ademas si existe el usuario y password, mostrara un mensaje que dirá el usuario si existe, en caso contrario me dirá que no existe, cada mensaje tendrá un tiempo determinado de 6 segundos.

->Crear un script que posea un menú con las siguientes opciones: -Listar archivos

-Ver directorio de trabajo -Crear directorio

-Crear usuario (verificar si es root)

Todo sera manipulado por medio de dialog, deberá escoger las cajas que considere necesarias para su fácil manipulación.

VII. BIBLIOGRAFIA

Referencias

Documento similar

Para ingresar al sitio web es necesario colocar el usuario, contraseña y luego presionar el botón “Ingresar” pero, en caso de haber olvidado la contraseña en cuestión

Para ello deberá ingresar al sistema mediante el ROL “Usuario/Presentación Solicitud”, y (1) seleccionará Evaluación Docente - Facultad de Arquitectura 2021 o año

Llene el depósito de agua de la máquina con agua limpia hasta el nivel máximo.. Comprobar que la palanca de selección está en la

Para conectar a cumplir con tres meses de reciclaje local de anfibios como de vapor de ser efectuado lejos de control distinto al reducir barreras visuales entre albergues para

Aparecerá la ventana de Login para la configuración del modem, automáticamente pedirá ingresar Nombre de Usuario y Clave (esta no será la clave de WiFi). En la

Para completar mi día «libre», había planeado ir a una librería esa misma tarde y comprar un libro de hindi, pero Manik tenía algo en mente: «Vamos a subir cinco minutos a

Para completar mi día «libre», había planeado ir a una librería esa misma tarde y comprar un libro de hindi, pero Manik tenía algo en mente: «Vamos a subir cinco minutos a casa

y si tuviésemos más fuerza todavía para presionar con toda la dureza esa tierra, sólo nos quedaría entre las manos un poco de agua.. y si fuese posible aún oprimir