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


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

Admite la integración de shell con shells de Linux populares 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 soporte de notificaciones de procesos, emjoi, XMPP, Telegram, Instapush y Slack.

Mira el siguiente video que muestra algunas de las funcionalidades 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 los comandos de ejecución prolongada finalicen.

Paso 1: Cómo instalar Ntfy en Linux

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

$ sudo pip install ntfy

Una vez instalado ntfy, se puede configurar utilizando 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 populares de Linux, como Gnome, KDE, XFCE y con libnotify. Asegúrese de tener instaladas las dependencias necesarias 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 Linux Shells

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

Puede habilitarlo en su archivo .bashrc o .zshrc de la siguiente manera:

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 los indicadores --longer-than y --foreground-too .

Imaginablemente, 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 exportar a continuación, evitará que el comando “ fusión de pantalla vim ” 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 se realiza:

$ ntfy done sleep 5

Para usar un título de notificación personalizado, establezca la marca -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 complete un proceso con la ID especificada, use el siguiente ejemplo:

$ ntfy done --pid 2099

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

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

Cuando finalice 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: Instalar funciones adicionales de Ntfy

Puede instalar características adicionales, pero esto requiere dependencias adicionales:

ntfy done -p : 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]

Compatibilidad con telegramas : requiere instalación como ntfy [telegrama] .

$ pip install ntfy[telegram]

Soporte de Instapush : requiere instalación como ntfy [instapush] .

$ pip install ntfy[instapush]

Compatibilidad con Slack : requiere la instalación como ntfy [slack] .

$ pip install ntfy[slack]

Y para instalar múltiples funciones adicionales con un solo comando, sepárelas con comas como las siguientes:

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

Para una guía de uso exhaustiva, echa un vistazo a: 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 opiniones con respecto a este artículo o también comparta con nosotros información sobre cualquier utilidad de Linux similar.