Ntfy-長時間実行されているコマンドが終了したときにデスクトップまたは電話のアラートを取得する


Ntfyは、シンプルでありながらサービス可能なクロスプラットフォームのPythonユーティリティであり、オンデマンドで、または長時間実行されるコマンドが完了したときに、デスクトップ通知を自動的に取得できます。特定のコマンドが完了すると、プッシュ通知を携帯電話に送信することもできます。

bashやzshなどの一般的なLinuxシェルとのシェル統合をサポートします。デフォルトでは、ntfyは、10秒より長く続くコマンドと、端末がフォーカスされている場合にのみ通知を送信します。また、プロセス、emjoi、XMPP、Telegram、Instapush、およびSlack通知サポートの機能も提供します。

ntfy機能のいくつかを示す次のビデオをチェックしてください。

この記事では、主流のLinuxディストリビューションにntfyをインストール、構成、使用して、長時間実行されているコマンドが終了したときにデスクトップまたは電話の通知を受け取る方法を説明します。

ステップ1:LinuxにNtfyをインストールする方法

Ntfyパッケージは、PythonPipを使用して次のようにインストールできます。

$ sudo pip install ntfy

ntfyをインストールすると、〜/ .ntfy.yml または標準のプラットフォーム固有の場所〜/ config/ntfy/ntfy.yml にあるYAMLファイルを使用して構成できます。 Linuxの場合。

これはdbusを介して動作し、Gnome、KDE、XFCEなどの一般的なLinuxデスクトップ環境のすべてではないにしても、ほとんどで動作し、libnotifyを使用します。図のように使用する前に、必要な依存関係がインストールされていることを確認してください。

$ 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

ステップ2:NtfyをLinuxシェルと統合する

ntfyは、bashおよびzshで長時間実行されるコマンドが完了すると、自発的に通知を送信するためのサポートを提供します。 bashでは、rcaloras/bash-preexecを使用して、zshのpreexecおよびprecmd機能の機能を再現します。

以下のように、 .bashrc または .zshrc ファイルで有効にできます。

eval  "$(ntfy shell-integration)"

それをシェルと統合した後、nftyは、ターミナルがフォーカスされている場合、10秒より長く続くコマンドについてデスクトップに通知を送信します。これはデフォルト設定です。

ターミナルフォーカスはX11およびTerminal.appで機能することに注意してください。 -longer-than フラグと -foreground-too フラグを使用して構成できます。

想像できるように、インタラクティブプログラムを実行するときに不要な通知をなくすことができます。これは、AUTO_NTFY_DONE_IGNORE環境変数を使用して構成できます。

たとえば、以下のexportコマンドを使用すると、コマンド「vimscreenmeld」が通知を生成しないようになります。

$ export AUTO_NTFY_DONE_IGNORE="vim screen meld"

ステップ3:LinuxでNftyを使用する方法

ntfyをインストールして構成したら、次の例でテストできます。

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

以下の例は、コマンドを実行し、コマンドが完了したときに通知を送信する方法を示しています。

$ ntfy done sleep 5

カスタム通知タイトルを使用するには、次のように -t フラグを設定します。

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

以下の例は、使用される特定のコードの絵文字を示しています。

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

指定されたIDのプロセスが完了したときにデスクトップに通知を送信するには、次の例を使用します。

$ ntfy done --pid 2099

通知インジケーターを使用してすべての通知を表示できます。以下のコマンドを実行して、最近の通知インジケーターをインストールします。

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

インストールが完了したら、Unity Dashからインジケーターを起動し、いくつかのntfyコマンドを実行し、パネルのアイコンをクリックしてすべての通知を表示します。

ヘルプメッセージを表示するには、次のコマンドを実行します。

$ ntfy -h

ステップ4:追加のNtfy機能をインストールする

追加の機能をインストールできますが、これには追加の依存関係が必要です。

ntfy done -p – ntfy [pid]としてインストールする必要があります。

$ pip install ntfy[pid]

emjoiサポート– ntfy [emoji]としてインストールする必要があります。

$ pip install ntfy[emoji]

XMPPサポート– ntfy [xmpp]としてインストールする必要があります。

$ pip install ntfy[xmpp]

テレグラムのサポート– ntfy [telegram]としてインストールする必要があります。

$ pip install ntfy[telegram]

Instapushのサポート– ntfy [instapush]としてインストールする必要があります。

$ pip install ntfy[instapush]

Slackのサポート– ntfy [slack]としてインストールする必要があります。

$ pip install ntfy[slack]

また、1つのコマンドを使用して複数の追加機能をインストールするには、次のようにカンマで区切ります。

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

徹底的な使用ガイドについては、http://ntfy.readthedocs.io/en/latest/を確認してください。

それで全部です!この記事では、主流のLinuxディストリビューションでntfyをセットアップして使用する方法を紹介しました。以下のフィードバックフォームを使用して、この記事に関する考えを共有するか、同様のLinuxユーティリティに関する情報を共有してください。