Ntfy - 長時間実行されているコマンドが終了したときにデスクトップまたは電話のアラートを受け取る
Ntfy は、シンプルでありながら実用的なクロスプラットフォーム Python ユーティリティで、オンデマンドまたは長時間実行されているコマンドの完了時にデスクトップ通知を自動的に取得できます。特定のコマンドが完了すると、携帯電話にプッシュ通知を送信することもできます。
bash や zsh などの一般的な 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 $PID – ntfy[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 ユーティリティに関する情報を共有するには、以下のフィードバック フォームを使用してください。