Website-Suche

Ntfy – Erhalten Sie Desktop- oder Telefonbenachrichtigungen, wenn ein lang laufender Befehl beendet wird


Ntfy ist ein einfaches, aber wartungsfreundliches plattformübergreifendes Python-Dienstprogramm, mit dem Sie bei Bedarf oder beim Abschluss lang laufender Befehle automatisch Desktop-Benachrichtigungen erhalten können. Es kann auch Push-Benachrichtigungen an Ihr Telefon senden, sobald ein bestimmter Befehl ausgeführt wird.

Es unterstützt die Shell-Integration mit gängigen Linux-Shells wie bash und zsh; Standardmäßig sendet ntfy Benachrichtigungen nur für Befehle, die länger als 10 Sekunden dauern und wenn das Terminal fokussiert ist. Es bietet außerdem Funktionen für Prozess-, Emjoi-, XMPP-, Telegram-, Instapush- und Slack-Benachrichtigungsunterstützung.

Schauen Sie sich das folgende Video an, das einige der ntfy-Funktionen demonstriert:

Schritt 1: So installieren Sie Ntfy unter Linux

Das Ntfy-Paket kann mit Python Pip wie folgt installiert werden.

sudo pip install ntfy

Sobald ntfy installiert ist, kann es mithilfe einer YAML-Datei konfiguriert werden, die sich in ~/.ntfy.yml oder an standardmäßigen plattformspezifischen Speicherorten befindet, ~/config/ntfy/ntfy.yml unter Linux.

Es läuft über dbus und funktioniert auf den meisten, wenn nicht allen gängigen Linux-Desktopumgebungen wie Gnome, KDE, XFCE und mit libnotify. Stellen Sie sicher, dass Sie die erforderlichen Abhängigkeiten installiert haben, bevor Sie es wie gezeigt verwenden.

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

Schritt 2: Integrieren Sie Ntfy in Linux-Shells

ntfy bietet Unterstützung für das spontane Senden von Benachrichtigungen, sobald lang laufende Befehle in Bash und ZSH abgeschlossen sind. In Bash reproduziert es die Funktion der Preexec- und Precmd-Funktionalität von zsh mithilfe von rcaloras/bash-preexec.

Sie können es in Ihrer Datei .bashrc oder .zshrc wie folgt aktivieren:

eval  "$(ntfy shell-integration)"

Nach der Integration in die Shell sendet nfty bei allen Befehlen, die länger als 10 Sekunden dauern, Benachrichtigungen auf Ihrem Desktop, sofern das Terminal fokussiert ist. Dies ist die Standardeinstellung.

Beachten Sie, dass der Terminalfokus auf X11 und mit Terminal.app funktioniert. Sie können es über die Flags --longer-than und --foreground-too konfigurieren.

Ignorieren Sie unnötige Benachrichtigungen

Es ist vorstellbar, dass Sie beim Ausführen interaktiver Programme auf unnötige Benachrichtigungen verzichten können. Dies kann mithilfe der Umgebungsvariablen AUTO_NTFY_DONE_IGNORE konfiguriert werden.

Wenn Sie beispielsweise den folgenden Befehl export verwenden, verhindern Sie, dass der Befehl „vim screen meld“ Benachrichtigungen generiert:

export AUTO_NTFY_DONE_IGNORE="vim screen meld"

Schritt 3: So verwenden Sie Nfty unter Linux

Sobald Sie ntfy installiert und konfiguriert haben, können Sie es anhand der folgenden Beispiele testen:

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

Das folgende Beispiel zeigt, wie Sie einen Befehl ausführen und nach Abschluss eine Benachrichtigung senden:

ntfy done sleep 5

Um einen benutzerdefinierten Benachrichtigungstitel zu verwenden, setzen Sie das Flag -t wie folgt.

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

Das folgende Beispiel zeigt ein Emoji für den jeweils verwendeten Code.

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

Um eine Benachrichtigung an den Desktop zu senden, sobald ein Prozess mit der angegebenen ID abgeschlossen ist, verwenden Sie das folgende Beispiel:

ntfy done --pid 2099

Sie können alle Benachrichtigungen mithilfe des Benachrichtigungsindikators anzeigen. Führen Sie die folgenden Befehle aus, um den Indikator für aktuelle Benachrichtigungen zu installieren.

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

Wenn die Installation abgeschlossen ist, starten Sie den Indikator über Unity Dash, führen Sie einige ntfy-Befehle aus und klicken Sie im Panel auf das Symbol, um alle Benachrichtigungen anzuzeigen.

Um eine Hilfemeldung anzuzeigen, führen Sie Folgendes aus:

ntfy -h

Schritt 4: Installieren Sie zusätzliche Ntfy-Funktionen

Sie können zusätzliche Funktionen installieren, dies erfordert jedoch zusätzliche Abhängigkeiten:

ntfy done -p $PID – erfordert die Installation als ntfy[pid].

pip install ntfy[pid]

emjoi-Unterstützung – erfordert die Installation als ntfy[emoji].

pip install ntfy[emoji]

XMPP-Unterstützung – erfordert die Installation als ntfy[xmpp].

pip install ntfy[xmpp]

Telegram-Unterstützung – erfordert die Installation als ntfy[telegram].

pip install ntfy[telegram]

Instapush-Unterstützung – erfordert die Installation als ntfy[instapush].

pip install ntfy[instapush]

Slack-Unterstützung – erfordert die Installation als ntfy[slack].

pip install ntfy[slack]

Und um mehrere zusätzliche Funktionen mit einem einzigen Befehl zu installieren, trennen Sie sie durch Kommas wie folgt:

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

Eine ausführliche Gebrauchsanweisung finden Sie unter: http://ntfy.readthedocs.io/en/latest/

Das ist alles! In diesem Artikel haben wir Ihnen gezeigt, wie Sie ntfy in den gängigen Linux-Distributionen einrichten und verwenden. Nutzen Sie das Feedback-Formular unten, um uns Ihre Gedanken zu diesem Artikel mitzuteilen oder uns Informationen über ähnliche Linux-Dienstprogramme mitzuteilen.