¿No sería estupendo poder recibir notificaciones emergentes cuando terminen esas tareas de larga duración de la línea de comandos? Pues bien, puedes hacerlo. En realidad, crear notificaciones de escritorio desde la línea de comandos es muy sencillo con el comando notify-send.

Puedes usar notify-send en tus scripts o configurarlo para que se ejecute después de un comando largo que acabas de escribir en la línea de comandos. Los mensajes que creas son totalmente personalizables, y se integran automáticamente en cualquier entorno de escritorio que estés ejecutando, por lo que no se ven fuera de lugar o feos.

Notificación básica

Abre un terminal en tu sistema Linux y crea tu primera notificación. Utiliza la que se muestra a continuación y comprueba cómo funciona.

notify-send 'Hola Mundo!''¡Esta es una notificación personalizada!

¿Has visto que aparece? Excelente. Prueba con otra.

notify-send '¡He enviado una notificación!''¡Sí! Otra notificación personalizada'.

Ahora hay más cosas que puedes hacer para personalizar tus notificaciones!

Relacionado: Cómo desactivar las notificaciones en Ubuntu usando NoNotifications

Urgencia

Algunas notificaciones son más importantes que otras. Hay tres niveles de notificaciones: baja, normal y crítica. Tu entorno de escritorio puede distinguirlas visualmente, o puede influir en el tiempo que aparecen en pantalla. Puede especificar la urgencia de sus notificaciones con la bandera -u.

notify-send 'SUPER IMPORTANTE!''¡Este es un mensaje urgente!'-u crítico

Vea la diferencia con uno de baja urgencia:

notify-send 'Eveything is alright''Just checking.'-u low

Tu entorno de escritorio determinará cómo se comportan.

Iconos

Sería aún mejor si pudieras añadir un componente gráfico a estos mensajes, ¿no? Pues bien, puedes hacerlo. notify-send te permite especificar un icono. Ya «conoce» todos los iconos de tu sistema, así que si buscas en «/usr/share/icons» puedes ver lo que hay disponible allí. Usa el nombre del archivo del icono sin la extensión junto con la bandera -i para añadirlo a tu mensaje.

notify-send '¡He roto todas las cosas!''Llama al administrador, ¡AHORA!'-u critical -i face-worried

Si no te gustan los iconos del sistema, siempre puedes dirigir tus notificaciones a iconos personalizados. Sólo tienes que usar la ruta de tu archivo de iconos.

notify-send 'Icono personalizado súper impresionante''Es muy chulo, ¿verdad?'-u normal -i'/home/user/Pictures/icons/excellent-icon_resultado.jpg'

Otras banderas

Hay otras banderas que puedes explorar. Para verlas todas, ejecute notify-send –help. Un par de banderas útiles le permiten especificar la aplicación que envía la notificación y el tiempo que permanece en el aire. Así, si quieres que tu notificación permanezca activa durante un tiempo determinado, añade la bandera -t.

notify-send 'It Broke''You command failed'-u normal -t10000-i error

La bandera -a le permite especificar la aplicación que envía la notificación. No todos los entornos de escritorio incluyen esta información, pero puede ayudarte a distinguir cuando los hay.

notify-send '¡Mi script tiene un nombre!''El script hizo algo.'-a'Nombre del script'-u normal -i cara-sonrisa

Scripting

El scripting es una de las cosas principales con las que se usaría todo esto. Tampoco tiene que ser un script Bash masivo y complejo. Digamos que usted quiere una notificación cuando su sistema se actualiza. Puede hacer eso muy fácilmente.

sudoapt update&&sudoapt-y upgrade && notify-send 'Updates Complete''¡Su sistema se ha actualizado con éxito!'-u normal -t7500-i checkbox-checked-symbolic

Puedes ser tan complejo como quieras con él, e incluso crear tus propios scripts de envoltura con notificaciones.

#! /bin/bashifsudoaptinstall$1; then notify-send "Install Successful!""$1 installed successfully"-u normal -t5000-i checkbox-checked-symbolic;else notify-send "Install Failed""$1 failed to install"-u critical -i error;fi

Este ejemplo sigue siendo sencillo, pero puede hacerse una idea de lo que es posible.

RELACIONADO:  La computación cuántica dejará obsoleto el HTTPS

Sobre SSH

Si tu ordenador tiene configurado SSH para las sesiones del servidor X, en realidad también puedes enviar notificaciones a través de SSH.

ssh-X [email protected] 'DISPLAY=:0 notify-send "¡HAHA estoy en tu ordenador!" "¡Borrando todas tus cosas!" -u critical -i face-worried'

Trollear a la gente de tu red no es obviamente la única aplicación para esto. Necesitas la información de inicio de sesión al igual que si añadieras SSH en forma regular. Sin embargo, no mantendrá la sesión. Sólo mostrará el mensaje y saldrá.

Entre SSH y los scripts, puedes hacer una amplia gama de cosas con notify-send. Experimente y vea cómo puede adaptarlo a sus necesidades.