Los scripts de shell son cosas increíblemente útiles. Le permiten hacer algo tan básico como crear un comando fácil para reemplazar uno más difícil con muchas banderas, hasta agrupar muchos comandos complejos para ejecutarlos desde un trabajo cron. Son geniales porque puedes dispararlos rápidamente en tu terminal favorito, pero en algunos casos requieren que recuerdes combinaciones específicas de banderas u opciones. Si se encuentra en esta situación, puede agregar algunos cuadros de diálogo GUI simples para ayudarlo a acelerar su camino a través de la tarea en cuestión.
Para hacer uso de este tutorial, necesitará lo siguiente:
-
Acceso a un shell similar a Unix (esto está escrito pensando en bash).
-
Los sistemas operativos macOS y *nix (como Linux) deberían venir con este o uno similar.
-
En Windows, puede instalar el entorno CygWin o, en versiones recientes de Windows 10, usar el "Subsistema de Windows para Linux"
-
Las bibliotecas base para el entorno de escritorio KDE. No necesita todo, especialmente si ya tiene otro DE instalado.
La instalación de kdialog solo debería ser necesaria si comenzó con un entorno de escritorio otro que KDE, y no tiene otras aplicaciones de KDE en su máquina. Es parte del paquete kde-baseapps-bin en Ubuntu, lo que significa que está instalado por defecto en Kubuntu. En otros derivados, puede instalarlo con el siguiente comando en la terminal:
Instalando kdialog desde la terminal.
sudo apt-get install kde-baseapps-bin
Es probable que esto resulte en una instalación considerable, ya que se instalarán otras bibliotecas y paquetes de KDE junto con él. Pero oye, el espacio en el disco duro es barato, ¿verdad?
Dado que se supone que los scripts (en general) hacen las cosas automáticamente, solo necesitaremos mostrar este cuadro de diálogo en las siguientes situaciones:
-
Si necesitamos capturar algún tipo de entrada del usuario, o;
-
Si queremos mostrarle al usuario algún tipo de retroalimentación de una manera notoria (es decir, no solo un texto escupido en la línea de comandos).
Tomemos el ejemplo de usar un comando para [hacer una copia de seguridad de su sitio Drupal usando drush]. Por supuesto, dado que eres un emprendedor de Internet en ciernes, ¿no tienes solo un sitio de Drupal? tienes tres Preferiría no tener que ejecutar comandos separados cuando desee hacer una copia de seguridad de todos sus sitios, pero al mismo tiempo no querrá tener que recordar una ruta larga si desea tomar una instantánea de solo uno. Podemos usar un par de diálogos para ayudarnos:
-
Presentar al usuario una lista de sitios de los que podemos hacer una copia de seguridad y pedirle que elija, y;
-
Muestre al usuario un mensaje que confirme el resultado, ya sea un éxito o un fracaso.
kDialog funciona llamándolo en la línea de comando junto con un tipo de diálogo , cualquier parámetro que pueda requerir ese tipo y cualquier otra opción, como un título de diálogo.
Hay una buena variedad de tipos de diálogo para elegir según sus necesidades, como sigue:
Tipo de diálogo | Imagen de muestra | Descripción |
---|---|---|
Cuadros de mensajes de información | ![]() | Muestra un cuadro con un botón "Aceptar" para cerrar, que proporciona un mensaje de texto y un icono de información, advertencia o error "no críticos". |
Ventana emergente pasiva | ![]() | Esto muestra un mensaje que desaparecerá en unos segundos, es decir, no requiere que el usuario lo cierre o lo descarte. |
Cuadro de mensaje Sí/No | ![]() | Al igual que los "Cuadros de mensajes de información", esto muestra un cuadro de diálogo con un icono de información/advertencia/error que también proporcionará al usuario la selección de "Sí" o "No". |
Cuadros de diálogo de entrada | ![]() | Esto proporciona un cuadro único en el que el usuario puede escribir algún texto. |
Cuadros de visualización de archivos | ![]() | Esto mostrará el contenido de un archivo (texto sin formato) dentro de un cuadro de diálogo. |
Cuadros de diálogo de menú y selección | ![]() | Esto proporciona un cuadro de diálogo con una lista de elementos, lo que permite al usuario realizar una o más selecciones:
|
Cuadros de diálogo de selección de archivos | ![]() | El usuario puede seleccionar parte del sistema de archivos, incluyendo:
|
Diálogos de progreso | ![]() | El usuario puede combinar kDialog con el comando dcop para crear un cuadro de diálogo que actualice al usuario sobre el progreso de una operación. |