ウェブサイト検索

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


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

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

ntfy の機能の一部を説明する次のビデオをご覧ください。

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

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

sudo pip install ntfy

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

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

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 をシェルと統合した後、ターミナルがフォーカスされている場合、nfty は 10 秒以上続くコマンドに対してデスクトップに通知を送信します。これがデフォルト設定です。

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

不要な通知を無視する

想像できることですが、対話型プログラムの実行時に不要な通知をなくすことができます。これは AUTO_NTFY_DONE_IGNORE 環境変数を使用して構成できます。

たとえば、以下の export コマンドを使用すると、コマンド「vim screen Meld 」による通知の生成を防止できます。

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 機能をインストールする

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

ntfyned -p $PIDntfy[pid] としてインストールする必要があります。

pip install ntfy[pid]

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

pip install ntfy[emoji]

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

pip install ntfy[xmpp]

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

pip install ntfy[telegram]

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

pip install ntfy[instapush]

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

pip install ntfy[slack]

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

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

詳しい使用ガイドについては、http://ntfy.readthedocs.io/en/latest/ を参照してください。

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