Wyszukiwanie w witrynie

Ntfy — otrzymuj powiadomienia na komputerze lub telefonie po zakończeniu długotrwałego polecenia


Ntfy to proste, ale przydatne, wieloplatformowe narzędzie w języku Python, które umożliwia automatyczne otrzymywanie powiadomień na pulpicie na żądanie lub po zakończeniu długotrwałych poleceń. Może również wysyłać powiadomienia push na Twój telefon po wykonaniu określonego polecenia.

Obsługuje integrację powłoki z popularnymi powłokami Linuksa, takimi jak bash i zsh; domyślnie ntfy będzie wysyłać powiadomienia tylko w przypadku poleceń trwających dłużej niż 10 sekund i jeśli terminal jest zajęty. Oferuje także funkcje obsługi powiadomień procesowych, emjoi, XMPP, Telegram, Instapush i Slack.

Obejrzyj poniższy film prezentujący niektóre funkcje ntfy:

Krok 1: Jak zainstalować Ntfy w systemie Linux

Pakiet Ntfy można zainstalować przy użyciu Python Pip w następujący sposób.

sudo pip install ntfy

Po zainstalowaniu ntfy można go skonfigurować przy użyciu pliku YAML znajdującego się w ~/.ntfy.yml lub w standardowych lokalizacjach specyficznych dla platformy, ~/config/ntfy/ntfy.yml na Linuksie.

Działa poprzez dbus i działa na większości, jeśli nie na wszystkich, popularnych środowiskach Linux, takich jak Gnome, KDE, XFCE i libnotify. Przed użyciem upewnij się, że masz zainstalowane wymagane zależności, jak pokazano.

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

Krok 2: Zintegruj Ntfy z powłokami Linux

ntfy oferuje obsługę spontanicznego wysyłania powiadomień po zakończeniu długotrwałych poleceń w bash i zsh. W bashu odtwarza funkcje preexec i precmd zsh przy użyciu rcaloras/bash-preexec.

Możesz to włączyć w pliku .bashrc lub .zshrc, jak poniżej:

eval  "$(ntfy shell-integration)"

Po zintegrowaniu go z powłoką nfty będzie wysyłać powiadomienia na Twój pulpit w przypadku wszelkich poleceń trwających dłużej niż 10 sekund, pod warunkiem, że terminal będzie skupiony, jest to ustawienie domyślne.

Zauważ, że fokus terminala działa na X11 i z Terminal.app. Można to skonfigurować za pomocą flag --longer-than i --foreground-too.

Ignoruj niepotrzebne powiadomienia

Można sobie wyobrazić, że podczas uruchamiania programów interaktywnych można pozbyć się niepotrzebnych powiadomień. Można to skonfigurować za pomocą zmiennej env AUTO_NTFY_DONE_IGNORE.

Na przykład, używając poniższego polecenia eksportuj, zapobiegniesz generowaniu powiadomień przez polecenie „vim screen meld”:

export AUTO_NTFY_DONE_IGNORE="vim screen meld"

Krok 3: Jak używać Nfty w systemie Linux

Po zainstalowaniu i skonfigurowaniu ntfy możesz go przetestować na następujących przykładach:

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

Poniższy przykład pokazuje, jak uruchomić polecenie i wysłać powiadomienie, gdy zostanie ono wykonane:

ntfy done sleep 5

Aby użyć niestandardowego tytułu powiadomienia, ustaw flagę -t w następujący sposób.

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

Poniższy przykład pokaże emoji dla konkretnego użytego kodu.

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

Aby wysłać powiadomienie na pulpit po zakończeniu procesu o podanym identyfikatorze, skorzystaj z poniższego przykładu:

ntfy done --pid 2099

Możesz wyświetlić wszystkie powiadomienia za pomocą wskaźnika powiadomień. Uruchom poniższe polecenia, aby zainstalować wskaźnik ostatnich powiadomień.

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

Po zakończeniu instalacji uruchom wskaźnik z Unity Dash, uruchom kilka poleceń ntfy i kliknij ikonę na panelu, aby wyświetlić wszystkie powiadomienia.

Aby wyświetlić komunikat pomocy, uruchom:

ntfy -h

Krok 4: Zainstaluj dodatkowe funkcje Ntfy

Możesz zainstalować dodatkowe funkcje, ale wymaga to dodatkowych zależności:

ntfy gotowe -p $PID – wymaga instalacji jako ntfy[pid].

pip install ntfy[pid]

obsługa emjoi – wymaga instalacji jako ntfy[emoji].

pip install ntfy[emoji]

Obsługa XMPP – wymaga instalacji jako ntfy[xmpp].

pip install ntfy[xmpp]

Obsługa Telegramu – wymaga instalacji jako ntfy[telegram].

pip install ntfy[telegram]

Obsługa Instapush – wymaga instalacji jako ntfy[instapush].

pip install ntfy[instapush]

Obsługa Slacka – wymaga instalacji jako ntfy[slack].

pip install ntfy[slack]

Aby zainstalować wiele dodatkowych funkcji za pomocą jednego polecenia, oddziel je przecinkami w następujący sposób:

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

Wyczerpujący przewodnik użytkowania można znaleźć na stronie: http://ntfy.readthedocs.io/en/latest/

To wszystko! W tym artykule pokazaliśmy, jak skonfigurować i używać ntfy w głównych dystrybucjach Linuksa. Skorzystaj z poniższego formularza opinii, aby podzielić się swoimi przemyśleniami na temat tego artykułu lub podzielić się z nami informacjami na temat podobnych narzędzi dla systemu Linux.