GNU/Linux >> Linux の 問題 >  >> Linux

ターミナルタスクが完了したときに通知を受け取る

Linuxボックスでほとんどのタスクを実行するには、GUIよりもCLIモードの方が好きです。また、ほとんどの人も同様に実行すると確信しています。完了するまでに時間がかかるコマンドを実行するときは、ターミナルを常にチェックして、タスクが完了したかどうかを確認します。たとえば、Archシステムを更新するときに、ターミナルをチェックして、指定されたタスクが完了したかどうかを確認し続けます。もう違います!今日、私は NotiFyreと呼ばれる便利なスクリプトに出くわしました ターミナルアクティビティが完了すると、ポップアップウィンドウで通知されます。

Ubuntu 16.04 LTSデスクトップでテストしましたが、以下に説明するように正常に動作します。

NotiFyreを使用してターミナルタスクが完了したときに通知を受け取る

次の前提条件がインストールされていることを確認してください。

$ sudo apt-get install notify-osd pulseaudio-utils libnotify-bin

通常、これらの前提条件は、ほとんどのLinuxディストリビューションにデフォルトでインストールされます。ターミナルから次のコマンドを実行して、notify-osdが機能しているかどうかを確認します。

notify-send "hello"

上記のコマンドは、「こんにちは」というメッセージを表示するポップウィンドウを開きます。メッセージが表示されない場合は、notify-osdが機能していないことを意味します。以下に示すように、上記の前提条件を再インストールしてみてください。

$ sudo apt-get --reinstall install libnotify-bin notify-osd

次に、notify-sendコマンドを実行して、メッセージがポップアップするかどうかを確認します。

次に、GitHubページからNotiFyreスクリプトをダウンロードまたはgitクローンします。リンクはこのガイドの最後に添付されています。

次に、NotiFyreフォルダーを開きます。次のファイルをコピーして、ホームフォルダに配置します BASHシェルを使用する場合。

  • bash-preexec.sh
  • notifyre.sh
  • terminal.png

次に、bashrcファイルを編集します:

$ sudo vi ~/.bashrc

最後に次の行を追加します。

source ~/notifyre.sh
source ~/bash-preexec.sh

ファイルを保存して閉じます。次に、次のコマンドを実行して、保存された変更を有効にします。

$ source ~/.bashrc

これで、ターミナルでタスクを実行すると、コマンドが完了するたびに通知が届きます。

かっこいいですね。

この同様のツールも確認してください:

  • Undistract-me:長時間実行されているターミナルコマンドが完了したときに通知を受け取る

フィッシュシェルを使用する場合 、 terminal.pngを配置する必要があります 、 prompt_pwd.fish notifyre.fish およびnf.fish 〜/.config/fish/functions/内のファイル フォルダ。次に、関数/fish_prompt.fishを編集します ファイルを作成し、最後の直前に次の行を追加します。

function fish_prompt
    ...

    eval (notifyre)  
end

notifyre.sh でこの行を編集することにより、通知音(トーン)を変更できます。 ファイル。

ALERT=/usr/share/sounds/ubuntu/notifications/Slick.ogg

また、notifyre.shファイルの次の行を編集して通知間隔時間を変更することもできます。

[ $(($(date +%s) - start)) -le 0 ] || notify-send "Terminal process" "$(echo [email protected]) completed in $(($(date +%s) - start)) seconds" -i ~/terminal.png -t 2000

これで、タスクが終了したかどうかを知るためにターミナルを常にチェックする必要がなくなります。ただ実行して、長時間実行されるターミナルタスクを忘れてください。 NotiFyreがそれを処理し、タスクが完了すると通知します。

そして、それがすべてです。これがお役に立てば幸いです。来るより良いもの。しばらくお待ちください!

乾杯!


Linux
  1. ターミナルでマスクごとにすべてのファイルのリストを取得しますか?

  2. Sudoがカーネルを破壊するプログラムの場合、何が得られますか?

  3. 更新が利用可能になったときに通知を表示するスクリプトを作成しますか?

  1. epoll_wait が EPOLLERR を返したときに errno を取得する方法は?

  2. Linuxは、フォーカスされたGUIウィンドウの変更に関する通知を受け取ります

  3. 午後 4:00 になるとポップアップ通知が表示されますか?

  1. linux-vserver があるのになぜ LXC なのですか?

  2. バックグラウンド プロセスは、ログオフ時に SIGHUP を取得しますか?

  3. systemd-monitored サービスが失敗状態になったときに通知を受け取る