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

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

少し前に、ターミナルアクティビティが完了したときに通知を受け取る方法を公開しました 。今日、私は "undistract-me"と呼ばれる同様のユーティリティを見つけました 長時間実行されているターミナルコマンドが完了すると通知されます。このシナリオを想像してください。完了するまでに時間がかかるコマンドを実行します。その間に、あなたはあなたのフェイスブックをチェックして、それにとても関与します。しばらくすると、数分前にコマンドを実行したことを思い出しました。ターミナルに戻ると、コマンドがすでに終了していることがわかります。しかし、コマンドがいつ完了するかはわかりません。 。あなたはこのような状況にあったことがありますか?私はあなたのほとんどが何度もこの状況にあったに違いない。ここで"undistract-me" 助けになります。コマンドが完了したかどうかを確認するために、端末を常にチェックする必要はありません。 Undistract-meユーティリティは、長時間実行されているコマンドが完了すると通知します。 Arch Linux、Debian、Ubuntu、その他のUbuntu派生物で動作します。

Undistract-meのインストール

Undistract-meは、DebianおよびUbuntuなどのその亜種のデフォルトリポジトリで利用できます。次のコマンドを実行してインストールするだけです。

$ sudo apt-get install undistract-me

Arch Linux ユーザーはAURからインストールできます YaYなどのヘルパープログラムを使用する 。

$ yay -S undistract-me-git

次に、次のコマンドを実行して、「undistract-me」をBashに追加します。

$ echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc

または、このコマンドを実行してBashに追加することもできます:

$ echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc

Zshにいる場合 シェル、次のコマンドを実行します:

$ echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .zshrc

最後に変更を更新します:

Bashの場合:

$ source ~/.bashrc

Zshの場合:

$ source ~/.zshrc

Undistract-meの構成

デフォルトでは、Undistract-meは10秒以上かかるコマンドを考慮します 長時間実行コマンドとして完了します。この時間間隔は、 /usr/share/undistract-me/long-running.bashを編集して変更できます。 ファイル。

$ sudo nano /usr/share/undistract-me/long-running.bash

"LONG_RUNNING_COMMAND_TIMEOUT"を検索します 変数を変更し、デフォルト値(10秒)を任意の値に変更します。

ファイルを保存して閉じます。変更を更新することを忘れないでください:

$ source ~/.bashrc

また、特定のコマンドの通知を無効にすることもできます。これを行うには、"LONG_RUNNING_IGNORE_LIST"を見つけます。 変数を入力し、スペースで区切ったコマンドを追加します。

デフォルトでは、通知は、アクティブなウィンドウがコマンドが実行されているウィンドウでない場合にのみ表示されます。つまり、コマンドがバックグラウンドのターミナルウィンドウで実行されている場合にのみ通知されます。コマンドがアクティブウィンドウターミナルで実行されている場合、通知は行われません。 undistract-meがターミナルウィンドウが表示されているかバックグラウンドで通知を送信するようにしたい場合は、 IGNORE_WINDOW_CHECKを設定できます。 1へ ウィンドウチェックをスキップします。

Undistract-meのもう1つの優れた機能は、コマンドが実行されたときに音声通知と視覚通知を設定できることです。デフォルトでは、視覚的な通知のみを送信します。この動作は、変数 UDM_PLAY_SOUNDを設定することで変更できます。 コマンドラインでゼロ以外の整数に変更します。ただし、Ubuntuシステムには pulseaudio-utilsが必要です。 およびサウンドテーマフリーデスクトップ この機能を有効にするためにインストールされたユーティリティ。

加えられた変更を更新するには、次のコマンドを実行する必要があることに注意してください。

Bashの場合:

$ source ~/.bashrc

Zshの場合:

$ source ~/.zshrc

これが実際に機能するかどうかを確認するときが来ました。

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

ここで、10秒またはUndistract-meスクリプトで定義した期間よりも長いコマンドを実行します。

ArchLinuxデスクトップで次のコマンドを実行しました。

$ sudo pacman -Syu

このコマンドの完了には32秒かかりました。上記のコマンドを完了すると、次の通知が届きました。

Undistract-meスクリプトは、指定されたコマンドが完了するのに10秒以上かかった場合にのみ通知することを覚えておいてください。コマンドが10秒以内に完了すると、通知されません。もちろん、上記の「構成」セクションで説明したように、この時間間隔の設定を変更できます。

このツールはとても便利だと思います。他の仕事で完全に負けた後、それは私がビジネスに戻るのを助けました。このツールがあなたにも役立つことを願っています。


Linux
  1. ターミナルに出没する8つの不気味なコマンド

  2. Jupyter での for loop 端末コマンドの実行

  3. コマンドを詳細に実行すると遅くなりますか?

  1. 使用できないコマンドを実行するときにパッケージのインストールを提案する

  2. バックグラウンドおよびフォアグラウンドでのLinuxコマンドの実行

  3. AからZのLinuxコマンド

  1. コマンドが長くなりすぎると、コマンドライン自体が上書きされます

  2. Mac OS X ターミナルの ip コマンド

  3. ハードディスクの総実行時間を取得する方法