Undistract-me:當長時間執行的終端命令完成時獲取通知
前一段時間,我們發表瞭如何在終端活動完成時獲取通知。今天,我發現了一個叫做 “undistract-me” 的類似工具,它可以在長時間執行的終端命令完成時通知你。想象這個場景。你執行著一個需要一段時間才能完成的命令。與此同時,你檢視你的 Facebook,並參與其中。過了一會兒,你記得你幾分鐘前執行了一個命令。你回到終端,注意到這個命令已經完成了。但是你不知道命令何時完成。你有沒有遇到這種情況?我敢打賭,你們大多數人遇到過許多次這種情況。這就是 “undistract-me” 能幫助的了。你不需要經常檢查終端,檢視命令是否完成。長時間執行的命令完成後,undistract-me 會通知你。它能在 Arch Linux、Debian、Ubuntu 和其他 Ubuntu 衍生版上執行。
安裝 Undistract-me
Undistract-me 可以在 Debian 及其衍生版(如 Ubuntu)的預設倉庫中使用。你要做的就是執行下面的命令來安裝它。
sudo apt-get install undistract-me
Arch Linux 使用者可以使用任何幫助程式從 AUR 安裝它。
使用 Pacaur:
pacaur -S undistract-me-git
使用 Packer:
packer -S undistract-me-git
使用 Yaourt:
yaourt -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 shell 中,請執行以下命令:
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
變數並像下面那樣用空格分隔命令。
預設情況下,只有當活動視窗不是命令執行的視窗時才會顯示通知。也就是說,只有當命令在後臺終端視窗中執行時,它才會通知你。如果該命令在活動視窗終端中執行,則不會收到通知。如果你希望無論終端視窗可見還是在後臺都傳送通知,你可以將 IGNORE_WINDOW_CHECK
設定為 1
以跳過視窗檢查。
Undistract-me 的另一個很酷的功能是當命令完成時,你可以設定音訊通知和可視通知。預設情況下,它只會傳送一個可視通知。你可以通過在命令列上將變數 UDM_PLAY_SOUND
設定為非零整數來更改此行為。但是,你的 Ubuntu 系統應該安裝 pulseaudio-utils 和 sound-theme-freedesktop 程式來啟用此功能。
請記住,你需要執行以下命令來更新所做的更改。
對於 Bash:
source ~/.bashrc
對於 Zsh:
source ~/.zshrc
現在是時候來驗證這是否真的有效。
在長時間執行的終端命令完成時獲取通知
現在,執行任何需要超過 10 秒或者你在 Undistract-me 指令碼中定義的時間的命令
我在 Arch Linux 桌面上執行以下命令:
sudo pacman -Sy
這個命令花了 32 秒完成。上述命令完成後,我收到以下通知。
請記住,只有當給定的命令花了超過 10 秒才能完成時,Undistract-me 指令碼才會通知你。如果命令在 10 秒內完成,你將不會收到通知。當然,你可以按照上面的“配置”部分所述更改此時間間隔設定。
我發現這個工具非常有用。在我迷失在其他任務上時,它幫助我回到正事。我希望這個工具也能對你有幫助。
還有更多的工具。保持耐心!
乾杯!
資源:
via: https://www.ostechnix.com/undistract-get-notification-long-running-terminal-commands-complete/
相關文章
- 獲取當前時間
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- mybatis獲取當前時間MyBatis
- 獲取當前時間往前的日期
- js獲取當天時間戳JS時間戳
- python 如何獲取當前時間Python
- js獲取當前的具體時間JS
- js獲取某時間的當天0點時間戳 與某時間的當週週一0點時間戳JS時間戳
- PHP獲取當前季度的開始時間和結束時間PHP
- Qt學習(5)獲取當前系統時間-實時顯示當前時間QT
- 獲取 Laravel 執行時間和記憶體消耗Laravel記憶體
- 如何在Linux終端同時執行多個Linux命令Linux
- 如何用Java獲取當前時間戳?Java時間戳
- js時間物件:獲取當前時間(格式化)- 程式碼篇JS物件
- 多執行緒的補充 獲取一定時間的執行結果執行緒
- WPF 前臺觸發器實時獲取當前時間觸發器
- Linux命令執行時間測試Linux
- 獲取時間戳,幾個時間點的時間戳時間戳
- 專案實戰:Qt終端命令模擬工具 v1.0.0(實時獲取命令列輸出,執行指令,模擬操作)QT命令列
- 獲取C#中方法的執行時間及其程式碼注入C#
- PHP 獲取程式碼執行時間和消耗的記憶體PHP記憶體
- JavaScript怎麼獲取當前時間的年月日?JavaScript
- android短視訊開發,Java程式碼獲取當前時間的時間戳AndroidJava時間戳
- 執行 brew install 命令長時間卡在 Updating Homebrew 的解決方法
- PHP獲取當月起始和結束時間戳PHP時間戳
- 如何測試Linux命令執行時間?Linux
- 查詢時若時間為空,開始時間取今天的零點,結束時間取當前時間
- 直播平臺軟體開發,登陸時獲取當前時間
- MySQL 獲得當前日期時間(以及時間的轉換)MySql
- JS指定音訊audio在某個時間點進行播放,獲取當前音訊audio的長度,音訊時長格式轉化JS音訊
- 獲取系統時間
- php 獲取時間差PHP
- Java 獲取本地時間與網路時間Java
- c++ 獲取檔案建立時間、修改時間、訪問時間、檔案內容長度C++
- 如何用js獲取當前時間和ip地址以及當前城市JS
- Linux時間的獲取與使用Linux
- python 獲取時間的datetime庫Python
- pydantic 欄位的預設值設定獲取當前時間
- Android開發:獲取當前系統時間和日期的方法Android