¿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
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
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
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
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.