Get Desktop Notifications Fron The Linux Command Line

Cómo obtener notificaciones de escritorio desde la línea de comandos de Linux

¿No sería genial si pudieras recibir notificaciones emergentes cuando finalicen esas tareas de ejecución prolongada desde la línea de comandos? Bien tu puedes. En realidad, crear notificaciones de escritorio desde la línea de comandos es muy simple con el notify-send dominio.

Puedes usar notify-send en sus scripts o configúrelo para que se ejecute siguiendo un comando largo que acaba de escribir en la línea de comando. Los mensajes que crea son completamente personalizables y se integran automáticamente en cualquier entorno de escritorio que esté ejecutando, por lo que no se ven fuera de lugar o feos.

Notificación básica

Notificación de escritorio simple

Abra una terminal en su sistema Linux y cree su primera notificación. Use el siguiente y vea cómo funciona.

notify-send 'Hello World!' 'This is a custom notification!'

¿Lo viste aparecer? Excelente. Prueba otro.

notify-send 'I sent a notification!' 'Yeah!  Another custom notification!'

¡Ahora puedes hacer más para personalizar tus notificaciones!

Urgencia

Notificación crítica

Algunas notificaciones son más importantes que otras. Hay tres niveles de notificaciones: bajo, normal y crítico. Su entorno de escritorio puede distinguirlos visualmente o puede afectar el tiempo que aparecen en la pantalla. Puede especificar la urgencia de sus notificaciones con el -u bandera.

notify-send 'SUPER IMPORTANT!' 'This is an urgent message!' -u critical

Vea cómo se diferencia de uno de baja urgencia:

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

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

Iconos

Iconos de notificación

Sería aún mejor si pudiera agregar un componente gráfico a estos mensajes, ¿no es así? Bien tu puedes. notify-send le permite especificar un icono. Ya «conoce» todos los íconos de su sistema, por lo que si busca en «/usr/share/icons» puede ver qué hay disponible allí. Utilice el nombre del archivo de icono sin la extensión junto con el -i marcar para agregarlo a su mensaje.

notify-send 'I broke all the things!' 'Call the admin, NOW!' -u critical -i face-worried

Si no le gustan los íconos del sistema, siempre puede apuntar sus notificaciones a íconos personalizados. Simplemente use la ruta a su archivo de icono.

notify-send 'Super Awesome Custom Icon' 'It is pretty cool, right?' -u normal -i '/home/user/Pictures/icons/excellent-icon.png'

Otras banderas

Hay algunas otras banderas que puedes explorar. Para verlos todos, corre notify-send --help. Un par de útiles le permiten especificar la aplicación que envía la notificación y el tiempo que permanece activa. Entonces, si desea que su notificación permanezca activa durante un período específico, agregue el -t bandera.

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

los -a flag le permite especificar la aplicación que envía la notificación. No todos los entornos de escritorio incluyen esta información, pero puede ayudarlo a distinguir cuándo pueden hacerlo.

notify-send 'My script has a name!' 'The script did something.' -a 'Script Name' -u normal -i face-smile

secuencias de comandos

Notificaciones con secuencias de comandos

La secuencia de comandos es una de las cosas principales con las que usarías todo esto. Tampoco tiene que ser un script Bash masivo y complejo. Digamos que desea recibir una notificación cuando su sistema termine de actualizarse. Puede hacer eso con bastante facilidad.

sudo apt update && sudo apt -y upgrade && notify-send 'Updates Complete' 'Your system updated successfully!' -u normal -t 7500 -i checkbox-checked-symbolic

Puede volverse tan complejo como desee e incluso crear sus propios scripts de envoltura con notificaciones.

#! /bin/bash
 
if sudo apt install $1; then
    notify-send "Install Successful!" "$1 installed successfully" -u normal -t 5000 -i checkbox-checked-symbolic;
else
    notify-send "Install Failed" "$1 failed to install" -u critical -i error;
fi

Ese ejemplo sigue siendo simple, pero puedes hacerte una idea de lo que es posible.

Sobre SSH

Si su computadora tiene SSH configurado para sesiones de servidor X, también puede enviar notificaciones a través de SSH.

ssh -X user@192.168.0.112 'DISPLAY=:0 notify-send "HAHA I'm In Your Computer!" "Deleting all your stuff!" -u critical -i face-worried'

Trollear a las personas en su red obviamente no es la única aplicación para esto. Necesita la información de inicio de sesión como si fuera a agregar SSH regularmente. Sin embargo, no mantendrá la sesión. Simplemente mostrará el mensaje y saldrá.

Entre SSH y secuencias de comandos, puede hacer una gran variedad de cosas con notify-send. Experimente y vea cómo puede adaptarlo a sus necesidades.

Experto Geek - Tu Guía en Tendencias Tecnológicas