Creación de cuadros de diálogo con la herramienta de diálogo en Linux

El paquete de diálogo es una pequeña herramienta ingeniosa que fue creada originalmente por Savio Lam y actualmente es mantenida por Thomas E. Dickey. Este paquete en realidad recrea cuadros de diálogo estándar de Windows en un entorno de texto utilizando códigos de control de escape ANSI. Estos cuadros de diálogo se pueden incorporar fácilmente a sus scripts de shell para interactuar con los usuarios de sus scripts.

El paquete de diálogo no está instalado en todas las distribuciones de Linux de forma predeterminada, pero casi siempre está incluido en el repositorio de software. Para Ubuntu Linux, se puede usar el siguiente comando para instalar el paquete.

sudo apt-get install dialog 

Instala el paquete de diálogo más las bibliotecas necesarias para el sistema.

El formato de las opciones del cuadro es el siguiente

Hay muchos widgets de diálogo. Entre ellos, algunos de ellos son:

Widgets de diálogo

1. Calendario: proporciona un calendario para mostrar la fecha seleccionada

 El formato de este widget es

--calendar     <text> <height> <width> <day> <month> <year>

El comando que escribimos en el archivo de script es

dialog --calendar 'calendar'  5 50 30 6 2021

widget de calendario

Después de ejecutar el script, obtenemos el calendario como se muestra a continuación.

2. Lista de verificación: muestra múltiples entradas donde cada entrada se puede activar o desactivar.

El formato de este widget es

–checklist <texto> <alto> <ancho> <alto de la lista> <etiqueta1> <elemento1> <estado1>…

El comando que escribimos en el archivo de script es 

diálogo – lista de verificación ‘lista de verificación’ 15 10 10 ‘manzana’ 5 ‘encendido’ ‘plátano’ 2 ‘apagado’ ‘coco’ 3 ‘encendido’ ‘delta’ 4 ‘apagado’

widget de lista de verificación

Después de ejecutar el script, obtenemos la lista de verificación como se muestra a continuación.

3. Formulario: esto le permite crear un formulario con etiquetas y campos de texto para completar.

El formato de este widget es

 –form <texto> <alto> <ancho> <alto del formulario> <etiqueta1> <l_y1> <l_x1> <elemento1> <i_y1> <i_x1> <flen1> <ilen1> … 

Aquí, flen es la longitud del campo e ilen es la longitud del campo que permite que la entrada se mueva entre campos.

El comando que escribimos en el archivo de script es

 cuadro de diálogo -formulario «Por favor ingrese la información» 12 40 4 «Nombre:» 1 1 «» 1 12 15 0 «Edad:» 2 1 «» 2 12 15 0 «ID de correo:» 3 1 «» 3 12 15 0

Widget de formulario

Después de ejecutar el script, obtenemos el formulario como se muestra a continuación.

4. Indicador: le permite mostrar la ventana de progreso del indicador

El formato de este widget es

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

El comando que escribimos en el archivo de script es

dialog --gauge  "progress.." 10 20 40

widget de calibre

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

 5. Cuadro de mensaje: muestra un mensaje y requiere que el usuario seleccione un botón Aceptar

El formato de este widget es

-- msgbox <text> <height> <width>

El comando que escribimos en el archivo de script es

dialog --msgbox  "This is a message" 10 25

widget de cuadro de mensaje

Después de ejecutar el script, obtenemos el cuadro de mensaje como se muestra a continuación.

6. Fselect: proporciona una ventana de selección de archivos para buscar un archivo.

El formato de este widget es

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

El comando que escribimos en el archivo de script es

dialog --title "fselect" --fselect /documents 15 40

widget de selección f

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

7. Cuadro de información: muestra un mensaje sin esperar una respuesta.

El formato de este widget es

--infobox      <text> <height> <width>

El comando que escribimos en el archivo de script es

dialog  --infobox   "This is a message" 15 30

widget de la bandeja de información

Después de ejecutar el script, obtenemos el cuadro de información como se muestra a continuación.

8. Cuadro de entrada: muestra un cuadro de formulario de texto único para la entrada de texto.

El formato de este widget es

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

El comando que escribimos en el archivo de script es

dialog  --inputbox "Enter the name" 15 30 'enter here'

widget de cuadro de entrada

Después de ejecutar el script, obtenemos el cuadro de entrada como se muestra a continuación.

9. Inputmenu: este widget proporciona un menú editable.

El formato de este widget es

 –inputmenu <texto> <alto> <ancho> <alto del menú> <etiqueta1> <elemento1>…

El comando que escribimos en el archivo de script es

dialog –inputmenu «Editar si es necesario» 12 45 25 1 «hola» 2 «buenos días» 3 «cuídate»

widget de menú de entrada

Después de ejecutar el script, obtenemos la ventana para editar como se muestra a continuación.

10. Menú: este widget muestra una lista de selecciones entre las que elegir.

El formato de este widget es

–menu <texto> <alto> <ancho> <alto del menú> <etiqueta1> <elemento1>…

El comando que escribimos en el archivo de script es

diálogo –menú “Elija la opción” 12 45 25 1 “manzana” 2 “plátano” 3 “mango”

widget de menú

Después de ejecutar el script, obtenemos la ventana para editar como se muestra a continuación.

11. Pausa: muestra un medidor que muestra el estado de un período de pausa específico.

El formato de este widget es

--pause <text> <height> <width> <seconds>

El comando que escribimos en el archivo de script es

dialog --pause "pause" 20 40 30

Widget de pausa

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

El temporizador comienza a correr… de los cuales dos imágenes se muestran a continuación

12. Formulario mixto: este widget le permite crear un formulario con etiquetas y campos de texto de diferentes formularios para completar.

El formato de este widget es

–mixedform <texto> <alto> <ancho> <alto del formulario> <etiqueta1> <l_y1> <l_x1> <elemento1> <i_y1> <i_x1> <flen1> <ilen1> <tipo>…

El comando que escribimos en el archivo de script es

dialog –mixedform “Por favor ingrese la información” 12 40 4 “Nombre:” 1 1 “” 1 12 15 0 a “Edad:” 2 1 “” 2 12 15 0 a “ID de correo:” 3 1 “” 3 12 15 0 un

Widget de forma mixta

Después de ejecutar el script, obtenemos el formulario como se muestra a continuación.

13. Indicador mixto: le permite mostrar la ventana de progreso del indicador con varios elementos.

El formato de este widget es

--mixedgauge   <text> <height> <width> <percent> <tag1> <item1>...

El comando que escribimos en el archivo de script es

dialog   --mixedgauge   "Gauge box" 10 20 40 app one

Widget de calibre mixto

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

14. Contraseña: este widget muestra un solo cuadro de texto que oculta el texto ingresado.

El formato de este widget es

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

El comando que escribimos en el archivo de script es

dialog   --passwordbox   "Password" 10 20

Widget de contraseña

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

15. Formulario de contraseña: este widget muestra un formulario con etiquetas y campos de texto ocultos.

El formato de este widget es

–passwordform <texto> <alto> <ancho> <alto del formulario> <etiqueta1> <l_y1> <l_x1> <elemento1> <i_y1> <i_x1> <flen1> <ilen1>…

El comando que escribimos en el archivo de script es

dialog –passwordform “Por favor ingrese la información” 12 40 4 “Contraseña:” 1 1 “” 1 12 15 0 “otp:” 2 1 “” 2 12 15 0 “clave secreta:” 3 1 “” 3 12 15 0

Widget de formulario de contraseña

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

16. Lista de radio: este widget proporciona un grupo de elementos de menú donde solo se puede seleccionar un elemento.

El formato de este widget es

–radiolist <texto> <alto> <ancho> <alto de lista> <etiqueta1> <elemento1> <estado1>…

El comando que escribimos en el archivo de script es

diálogo –radiolist ‘radiolist’ 15 10 10 ‘apple’ 5 ‘off’ ‘banana’ 2 ‘off’ ‘coffee’ 3 ‘off’ ‘postre’ 4 ‘off’

Widget de lista de radio

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

17. Cuadro de programa: este widget le permite mostrar la salida del comando en el cuadro de diálogo.

El formato de este widget es

--prgbox       <text> <command> <height> <width>

El comando que escribimos en el archivo de script es

dialog --prgbox   "command" "ls"  10 30

Widget de cuadro de programa

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

18. Cuadro de texto: este widget muestra el contenido de un archivo en una ventana de desplazamiento

El formato de este widget es

--textbox      <file> <height> <width>

El comando que escribimos en el archivo de script es

diálogo –cuadro de texto /etc/hosts 10 60

Widget de cuadro de texto

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

19. Tailbox: este widget muestra el texto de un archivo en una ventana de desplazamiento usando el comando tail.

El formato de este widget es

--tailbox      <file> <height> <width>

El comando que escribimos en el archivo de script es

dialog --tailbox /etc/hosts 10 60

widget de caja trasera

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

20. Sí, no: este widget proporciona un mensaje simple con los botones Sí y No.

El formato de este widget es

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

El comando que escribimos en el archivo de script es

dialog --yesno "Do you want run the command" 10 30

síno widgetimagen widget

Después de ejecutar el script, obtenemos la ventana como se muestra a continuación.

Publicación traducida automáticamente

Artículo escrito por deviprajwala y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *