Ntfy: obteniu alertes d'escriptori o de telèfon quan finalitzi l'ordre d'execució llarga


Ntfy és una utilitat Python multiplataforma senzilla però útil que us permet rebre automàticament notificacions d'escriptori a petició o quan s'acabin les ordres de llarga durada. També pot enviar notificacions push al telèfon un cop finalitzada una ordre concreta.

Admet la integració de l'intèrpret d'ordres amb intèrprets d'ordre populars de Linux com ara bash i zsh; per defecte, ntfy només enviarà notificacions per a ordres que durin més de 10 segons i si el terminal està enfocat. També ofereix funcions per al suport de processament, emjoi, XMPP, Telegram, Instapush i Slack.

Mireu el següent vídeo que demostra algunes de les funcionalitats de ntfy:

En aquest article, us mostrarem com instal·lar, configurar i utilitzar ntfy a les distribucions principals de Linux per rebre notificacions d'escriptori o de telèfon quan acabin les ordres d'execució llarga.

Pas 1: Com instal·lar Ntfy a Linux

El paquet Ntfy es pot instal·lar mitjançant Python Pip de la següent manera.

$ sudo pip install ntfy

Un cop instal·lat ntfy, es pot configurar mitjançant un fitxer YAML situat a ~/.ntfy.yml o en ubicacions específiques de la plataforma estàndard, ~/config/ntfy/ntfy.yml a Linux.

Funciona mitjançant dbus i funciona a la majoria, si no a tots, dels entorns d'escriptori Linux populars, com ara Gnome, KDE, XFCE i amb libnotify. Assegureu-vos que teniu instal·lades les dependències necessàries abans d'utilitzar-lo tal com es mostra.

$ 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

Pas 2: integreu Ntfy amb Linux Shell

ntfy ofereix suport per enviar notificacions de manera espontània una vegada que s'han completat les ordres d'execució llarga a bash i zsh. A bash, reprodueix la funció de la funcionalitat preexec i precmd de zsh mitjançant rcaloras/bash-preexec.

Podeu activar-lo al vostre fitxer .bashrc o .zshrc com a continuació:

eval  "$(ntfy shell-integration)"

Després d'integrar-lo amb l'intèrpret d'ordres, nfty enviarà notificacions al vostre escriptori per a qualsevol ordre que duri més de 10 segons sempre que el terminal estigui enfocat, aquesta és la configuració predeterminada.

Tingueu en compte que el focus de terminal funciona a X11 i amb Terminal.app. Podeu configurar-lo mitjançant les marques --longer-than i --foreground-too.

És imaginable que podeu eliminar les notificacions innecessàries quan executeu programes interactius, això es pot configurar mitjançant la variable AUTO_NTFY_DONE_IGNORE env.

Per exemple, amb l'ordre d'exportació següent, evitareu que l'ordre \vim screen meld generi notificacions:

$ export AUTO_NTFY_DONE_IGNORE="vim screen meld"

Pas 3: Com utilitzar Nfty a Linux

Un cop hàgiu instal·lat i configurat ntfy, podeu provar-ho amb aquests exemples:

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

L'exemple següent mostra com executar una ordre i enviar una notificació quan s'hagi acabat:

$ ntfy done sleep 5

Per utilitzar un títol de notificació personalitzat, configureu la marca -t de la manera següent.

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

L'exemple següent mostrarà un emoji per al codi concret utilitzat.

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

Per enviar una notificació a l'escriptori un cop finalitzat un procés amb l'identificador especificat, utilitzeu l'exemple següent:

$ ntfy done --pid 2099

Podeu veure totes les notificacions mitjançant l'indicador de notificacions, executeu les ordres següents per instal·lar l'indicador de notificacions recents.

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

Quan finalitzi la instal·lació, inicieu l'indicador des de Unity Dash, executeu algunes ordres ntfy i feu clic a la icona del tauler per veure totes les notificacions.

Per veure un missatge d'ajuda, executeu:

$ ntfy -h

Pas 4: instal·leu funcions addicionals de Ntfy

Podeu instal·lar funcions addicionals, però això requereix dependències addicionals:

ntfy fet -p $PID: requereix la instal·lació com a ntfy[pid].

$ pip install ntfy[pid]

Suport emjoi: requereix la instal·lació com a ntfy[emoji].

$ pip install ntfy[emoji]

Suport XMPP: requereix la instal·lació com a ntfy[xmpp].

$ pip install ntfy[xmpp]

Suport de Telegram: requereix la instal·lació com a ntfy[telegram].

$ pip install ntfy[telegram]

Suport d'Instapush: requereix la instal·lació com a ntfy[instapush].

$ pip install ntfy[instapush]

Suport de Slack: requereix la instal·lació com a ntfy[slack].

$ pip install ntfy[slack]

I per instal·lar diverses funcions addicionals amb una sola ordre, separeu-les amb comes de la següent manera:

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

Per obtenir una guia d'ús exhaustiva, consulteu: http://ntfy.readthedocs.io/en/latest/

Això és tot! En aquest article, us vam mostrar com configurar i utilitzar ntfy a les distribucions principals de Linux. Utilitzeu el formulari de comentaris següent per compartir les vostres opinions sobre aquest article o, en cas contrari, compartiu amb nosaltres informació sobre qualsevol utilitat Linux similar.