Ntfy - Obțineți alerte pe desktop sau pe telefon când se termină comanda cu rulare lungă


Ntfy este un utilitar Python multiplatform simplu, dar util, care vă permite să primiți automat notificări de pe desktop, la cerere sau când sunt finalizate comenzile care rulează îndelungat. De asemenea, poate trimite notificări push către telefon odată ce o anumită comandă este finalizată.

Acceptă integrarea shell-urilor cu shell-uri Linux populare, cum ar fi bash și zsh; în mod implicit, ntfy va trimite notificări numai pentru comenzile care durează mai mult de 10 secunde și dacă terminalul este focalizat. De asemenea, oferă funcții pentru proces, emjoi, XMPP, Telegram, Instapush și suport pentru notificări Slack.

Urmăriți următorul videoclip care demonstrează unele dintre funcționalitățile ntfy:

Pasul 1: Cum se instalează Ntfy în Linux

Pachetul Ntfy poate fi instalat folosind Python Pip după cum urmează.

$ sudo pip install ntfy

Odată instalat ntfy, acesta poate fi configurat folosind un fișier YAML situat în ~/.ntfy.yml sau în locații standard specifice platformei, ~/config/ntfy/ntfy.yml pe Linux.

Funcționează prin dbus și funcționează în majoritatea, dacă nu în toate mediile desktop Linux populare, cum ar fi Gnome, KDE, XFCE și cu libnotify. Asigurați-vă că aveți instalate dependențele necesare înainte de a-l folosi așa cum se arată.

$ 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

Pasul 2: Integrați Ntfy cu Linux Shells

ntfy oferă suport pentru trimiterea spontană a notificărilor odată ce comenzile de lungă durată sunt finalizate în bash și zsh. În bash, reproduce funcția preexec și precmd a zsh folosind rcaloras/bash-preexec.

Îl puteți activa în fișierul .bashrc sau .zshrc după cum urmează:

eval  "$(ntfy shell-integration)"

După integrarea acestuia cu shell-ul, nfty va trimite notificări pe desktop pentru orice comenzi care durează mai mult de 10 secunde, cu condiția ca terminalul să fie concentrat, aceasta este setarea implicită.

Rețineți că focalizarea terminalului funcționează pe X11 și cu Terminal.app. Îl puteți configura prin steaguri --longer-than și --foreground-too.

Ignorați notificările inutile

În mod imaginabil, puteți elimina notificările inutile atunci când rulați programe interactive, acestea putând fi configurate utilizând variabila AUTO_NTFY_DONE_IGNORE env.

De exemplu, folosind comanda export de mai jos, veți împiedica comanda „vim screen meld” să genereze notificări:

$ export AUTO_NTFY_DONE_IGNORE="vim screen meld"

Pasul 3: Cum să utilizați Nfty în Linux

După ce ați instalat și configurat ntfy, îl puteți testa cu aceste exemple:

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

Exemplul de mai jos arată cum să rulați o comandă și să trimiteți o notificare când este finalizată:

$ ntfy done sleep 5

Pentru a utiliza un titlu de notificare personalizat, setați marcatorul -t după cum urmează.

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

Exemplul de mai jos va afișa un emoji pentru codul specific utilizat.

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

Pentru a trimite o notificare către desktop odată ce se încheie un proces cu ID-ul specificat, utilizați exemplul de mai jos:

$ ntfy done --pid 2099

Puteți vizualiza toate notificările folosind indicatorul de notificare, rulați comenzile de mai jos pentru a instala indicatorul de notificări recente.

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

Când instalarea se termină, lansați indicatorul din Unity Dash, rulați câteva comenzi ntfy și faceți clic pe pictograma din panou pentru a vizualiza toate notificările.

Pentru a vizualiza un mesaj de ajutor, rulați:

$ ntfy -h

Pasul 4: Instalați caracteristici suplimentare Ntfy

Puteți instala funcții suplimentare, dar acest lucru necesită dependențe suplimentare:

ntfy done -p $PID – necesită instalarea ca ntfy[pid].

$ pip install ntfy[pid]

Asistență emjoi – necesită instalarea ca ntfy[emoji].

$ pip install ntfy[emoji]

Compatibilitate XMPP – necesită instalarea ca ntfy[xmpp].

$ pip install ntfy[xmpp]

Suport Telegram – necesită instalarea ca ntfy[telegram].

$ pip install ntfy[telegram]

Asistență Instapush – necesită instalarea ca ntfy[instapush].

$ pip install ntfy[instapush]

Asistență Slack – necesită instalarea ca ntfy[slack].

$ pip install ntfy[slack]

Și pentru a instala mai multe funcții suplimentare folosind o singură comandă, separați-le cu virgule astfel:

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

Pentru un ghid exhaustiv de utilizare, consultați: http://ntfy.readthedocs.io/en/latest/

Asta e tot! În acest articol, v-am arătat cum să configurați și să utilizați ntfy în distribuțiile principale Linux. Utilizați formularul de feedback de mai jos pentru a vă împărtăși părerile despre acest articol sau, altfel, împărtășiți-ne informații despre orice utilitare Linux similare.