Ntfy - Få desktop- eller telefonalarmer, når kommandoen, der kører lang tid, er færdig


Ntfy er et simpelt, men alligevel brugbart Python-værktøj på tværs af platforme, der giver dig mulighed for automatisk at få skrivebordsunderretninger efter behov eller når langvarige kommandoer er færdige. Det kan også sende push-meddelelser til din telefon, når en bestemt kommando er afsluttet.

Det understøtter shellintegration med populære Linux-skaller såsom bash og zsh; Som standard sender ntfy kun meddelelser om kommandoer, der varer længere end 10 sekunder, og hvis terminalen er fokuseret. Det tilbyder også funktioner til proces-, emjoi-, XMPP-, Telegram-, Instapush- og Slack-underretningsunderstøttelse.

Tjek følgende video, der demonstrerer noget af ntfy-funktionalitet:

I denne artikel viser vi dig, hvordan du installerer, konfigurerer og bruger ntfy i de almindelige Linux-distributioner for at få desktop- eller telefonmeddelelser, når kommandoer med lange løb er færdige.

Trin 1: Sådan installeres Ntfy i Linux

Ntfy-pakke kan installeres ved hjælp af Python Pip som følger.

$ sudo pip install ntfy

Når ntfy er installeret, kan den konfigureres ved hjælp af en YAML-fil placeret i ~/.ntfy.yml eller på standardplatformspecifikke placeringer, ~/config/ntfy/ntfy.yml på Linux.

Det fungerer via dbus og fungerer på de fleste, hvis ikke alle populære Linux-skrivebordsmiljøer som Gnome, KDE, XFCE og med libnotify. Sørg for, at du har nødvendige afhængigheder installeret, inden du bruger det som vist.

$ 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

Trin 2: Integrer Ntfy med Linux Shells

ntfy tilbyder support til spontant at sende underretninger, når langvarige kommandoer er komplette i bash og zsh. I bash gengiver den funktionen af zshs preexec og precmd funktionalitet ved hjælp af rcaloras/bash-preexec.

Du kan aktivere det i din .bashrc eller .zshrc file som nedenfor:

eval  "$(ntfy shell-integration)"

Efter at have integreret det med skallen, sender nfty meddelelser på dit skrivebord for alle kommandoer, der varer længere end 10 sekunder, forudsat at terminalen er fokuseret, dette er standardindstillingen.

Bemærk, at terminalfokus fungerer på X11 og med Terminal.app. Du kan konfigurere det via flagene --longer-than og --foreground-too .

Det kan forestilles dig, at du kan fjerne unødvendige meddelelser, når du kører interaktive programmer, dette kan konfigureres ved hjælp af env-variablen AUTO_NTFY_DONE_IGNORE.

For eksempel ved at bruge eksportkommandoen nedenfor forhindrer du kommandoen "vim screen meld" i at generere meddelelser:

$ export AUTO_NTFY_DONE_IGNORE="vim screen meld"

Trin 3: Sådan bruges Nfty i Linux

Når du har installeret og konfigureret ntfy, kan du teste det med disse eksempler:

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

Eksemplet nedenfor viser, hvordan du kører en kommando og sender en underretning, når den er færdig:

$ ntfy done sleep 5

For at bruge en tilpasset meddelelsestitel skal du indstille -t -flagget som følger.

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

Eksemplet nedenfor viser en emoji for den anvendte bestemte kode.

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

For at sende en underretning til skrivebordet, når en proces med det angivne ID er afsluttet, skal du bruge eksemplet nedenfor:

$ ntfy done --pid 2099

Du kan se alle meddelelser ved hjælp af meddelelsesindikator, kør kommandoerne nedenfor for at installere indikatorer for seneste meddelelser.

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

Når installationen er afsluttet, skal du starte indikatoren fra Unity Dash, køre et par ntfy-kommandoer og klikke på ikonet fra panelet for at se alle meddelelser.

For at se en hjælpemeddelelse skal du køre:

$ ntfy -h

Trin 4: Installer yderligere Ntfy-funktioner

Du kan installere yderligere funktioner, men dette kræver ekstra afhængigheder:

ntfy færdig -p $ PID - kræver installation som ntfy [pid].

$ pip install ntfy[pid]

emjoi support - kræver installation som ntfy [emoji].

$ pip install ntfy[emoji]

XMPP support - kræver installation som ntfy [xmpp].

$ pip install ntfy[xmpp]

Telegram support - kræver installation som ntfy [telegram].

$ pip install ntfy[telegram]

Instapush support - kræver installation som ntfy [instapush].

$ pip install ntfy[instapush]

Slack support - kræver installation som ntfy [slack].

$ pip install ntfy[slack]

Og for at installere flere ekstra funktioner ved hjælp af en enkelt kommando skal du adskille dem med kommaer som sådan:

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

For en udtømmende brugsvejledning, se: http://ntfy.readthedocs.io/da/latest/

Det er alt! I denne artikel viste vi dig, hvordan du opsætter og bruger ntfy i de almindelige Linux-distributioner. Brug feedbackformularen nedenfor til at dele dine tanker om denne artikel, ellers del med os information om lignende Linux-værktøjer.