Ntfy - Obtenga alertas de escritorio o teléfono cuando finalice el comando de ejecución prolongada


Ntfy es una utilidad de Python multiplataforma simple pero útil que le permite recibir automáticamente notificaciones de escritorio a pedido o cuando se completan los comandos de larga ejecución. También puede enviar notificaciones automáticas a su teléfono una vez que se completa un comando en particular.

Admite la integración de shell con shells populares de Linux como bash y zsh; de forma predeterminada, ntfy solo enviará notificaciones para comandos que duren más de 10 segundos y si el terminal está enfocado. También ofrece funciones para procesos, emjoi, XMPP, Telegram, Instapush y soporte de notificaciones Slack.

Vea el siguiente video que demuestra algunas de las funciones de ntfy:

En este artículo, le mostraremos cómo instalar, configurar y usar ntfy en las distribuciones principales de Linux para recibir notificaciones de escritorio o teléfono cuando finalizan los comandos de ejecución prolongada.

Paso 1: Cómo instalar Ntfy en Linux

El paquete Ntfy se puede instalar usando Python Pip de la siguiente manera.

$ sudo pip install ntfy

Una vez instalado ntfy, se puede configurar usando un archivo YAML ubicado en ~/.ntfy.yml o en ubicaciones específicas de la plataforma estándar, ~/config/ntfy/ntfy.yml en Linux.

Funciona a través de dbus y funciona en la mayoría, si no en todos, los entornos de escritorio Linux populares, como Gnome, KDE, XFCE y con libnotify. Asegúrese de tener instaladas las dependencias requeridas antes de usarlo como se muestra.

$ sudo apt-get install libdbus-glib-1-dev libdbus-1-dev [On Debian/Ubuntu]
$ sudo yum install dbus-1-glib-devel libdbus-1-devel    [On Fedora/CentOS]
$ pip install --user dbus-python

Paso 2: integrar Ntfy con shells de Linux

ntfy ofrece soporte para enviar notificaciones espontáneamente una vez que los comandos de larga ejecución se completan en bash y zsh. En bash, reproduce la función de la funcionalidad preexec y precmd de zsh usando rcaloras/bash-preexec.

Puede habilitarlo en su archivo .bashrc o .zshrc como se muestra a continuación:

eval  "$(ntfy shell-integration)"

Después de integrarlo con el shell, nfty enviará notificaciones en su escritorio para cualquier comando que dure más de 10 segundos siempre que el terminal esté enfocado, esta es la configuración predeterminada.

Tenga en cuenta que el enfoque de terminal funciona en X11 y con Terminal.app. Puede configurarlo a través de las banderas --longer-than y --foreground-too .

Imagínense, puede eliminar las notificaciones innecesarias al ejecutar programas interactivos, esto se puede configurar utilizando la variable env AUTO_NTFY_DONE_IGNORE.

Por ejemplo, usando el comando de exportación a continuación, evitará que el comando "vim screen meld" genere notificaciones:

$ export AUTO_NTFY_DONE_IGNORE="vim screen meld"

Paso 3: Cómo usar Nfty en Linux

Una vez que haya instalado y configurado ntfy, puede probarlo con estos ejemplos:

$ ntfy send "This is TecMint, we’re testing ntfy"

El siguiente ejemplo muestra cómo ejecutar un comando y enviar una notificación cuando está listo:

$ ntfy done sleep 5

Para usar un título de notificación personalizado, configure el indicador -t de la siguiente manera.

$ ntfy -t 'TecMint' send "Using custom notification title"

El siguiente ejemplo mostrará un emoji para el código particular utilizado.

$ ntfy send ":wink: Using emoji extra! :joy:" 

Para enviar una notificación al escritorio una vez que se completa un proceso con el ID especificado, utilice el siguiente ejemplo:

$ ntfy done --pid 2099

Puede ver todas las notificaciones usando el indicador de notificación, ejecute los siguientes comandos para instalar el indicador de notificaciones recientes.

$ sudo add-apt-repository ppa:jconti/recent-notifications
$ sudo apt update && sudo apt install indicator-notifications

Cuando se complete la instalación, inicie el indicador desde Unity Dash, ejecute algunos comandos ntfy y haga clic en el icono del panel para ver todas las notificaciones.

Para ver un mensaje de ayuda, ejecute:

$ ntfy -h

Paso 4: instale funciones adicionales de Ntfy

Puede instalar funciones adicionales, pero esto requiere dependencias adicionales:

ntfy done -p $PID - requiere la instalación como ntfy [pid].

$ pip install ntfy[pid]

Compatibilidad con emjoi: requiere la instalación como ntfy [emoji].

$ pip install ntfy[emoji]

Compatibilidad con XMPP: requiere la instalación como ntfy [xmpp].

$ pip install ntfy[xmpp]

Soporte de Telegram - requiere instalación como ntfy [telegram].

$ pip install ntfy[telegram]

Compatibilidad con Instapush: requiere la instalación como ntfy [instapush].

$ pip install ntfy[instapush]

Soporte de Slack: requiere la instalación como ntfy [slack].

$ pip install ntfy[slack]

Y para instalar varias funciones adicionales con un solo comando, sepárelas con comas así:

$ pip install ntfy[pid,emjoi,xmpp, telegram]

Para obtener una guía de uso exhaustiva, consulte: http://ntfy.readthedocs.io/en/latest/

¡Eso es todo! En este artículo, le mostramos cómo configurar y usar ntfy en las distribuciones principales de Linux. Utilice el formulario de comentarios a continuación para compartir sus pensamientos sobre este artículo o comparta con nosotros información sobre cualquier utilidad de Linux similar.