Undistract-me:當長時間啟動並執行終端命令完成時擷取通知

來源:互聯網
上載者:User

Undistract-me:當長時間啟動並執行終端命令完成時擷取通知

前一段時間,我們發表了如何在終端活動完成時擷取通知。今天,我發現了一個叫做 “undistract-me” 的類似工具,它可以在長時間啟動並執行終端命令完成時通知你。想象這個情境。你運行著一個需要一段時間才能完成的命令。與此同時,你查看你的 Facebook,並參與其中。過了一會兒,你記得你幾分鐘前執行了一個命令。你回到終端,注意到這個命令已經完成了。但是你不知道命令何時完成。你有沒有遇到這種情況?我敢打賭,你們大多數人遇到過許多次這種情況。這就是 “undistract-me” 能協助的了。你不需要經常檢查終端,查看命令是否完成。長時間啟動並執行命令完成後,undistract-me 會通知你。它能在 Arch Linux、Debian、Ubuntu 和其他 Ubuntu 衍生版上運行。

 

安裝 Undistract-me

Undistract-me 可以在 Debian 及其衍生版(如 Ubuntu)的預設倉庫中使用。你要做的就是運行下面的命令來安裝它。

  1. sudoapt-get install undistract-me

Arch Linux 使用者可以使用任何協助程式從 AUR 安裝它。

使用 Pacaur:

  1. pacaur -S undistract-me-git

使用 Packer:

  1. packer -S undistract-me-git

使用 Yaourt:

  1. yaourt -S undistract-me-git

然後,運行以下命令將 “undistract-me” 添加到 Bash 中。

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

或者,你可以運行此命令將其添加到你的 Bash:

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

如果你在 Zsh shell 中,請運行以下命令:

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

最後讓更改生效。

對於 Bash:

  1. source ~/.bashrc

對於 Zsh:

  1. source ~/.zshrc

 

配置 Undistract-me

預設情況下,Undistract-me 會將任何超過 10 秒的命令視為長時間啟動並執行命令。你可以通過編輯 /usr/share/undistract-me/long-running.bash 來更改此時間間隔。

  1. sudonano/usr/share/undistract-me/long-running.bash

找到 LONG_RUNNING_COMMAND_TIMEOUT 變數並將預設值(10 秒)更改為你所選擇的其他值。

儲存並關閉檔案。不要忘記讓更改生效:

  1. source ~/.bashrc

此外,你可以禁用特定命令的通知。為此,找到 LONG_RUNNING_IGNORE_LIST 變數並像下面那樣用空格分隔命令。

預設情況下,只有當使用中視窗不是命令啟動並執行視窗時才會顯示通知。也就是說,只有當命令在後台終端視窗中運行時,它才會通知你。如果該命令在使用中視窗終端中運行,則不會收到通知。如果你希望無論終端視窗可見還是在後台都發送通知,你可以將 IGNORE_WINDOW_CHECK 設定為 1 以跳過視窗檢查。

Undistract-me 的另一個很酷的功能是當命令完成時,你可以設定音頻通知和可視通知。預設情況下,它只會發送一個可視通知。你可以通過在命令列上將變數 UDM_PLAY_SOUND 設定為非零整數來更改此行為。但是,你的 Ubuntu 系統應該安裝 pulseaudio-utils 和 sound-theme-freedesktop 程式來啟用此功能。

請記住,你需要運行以下命令來更新所做的更改。

對於 Bash:

  1. source ~/.bashrc

對於 Zsh:

  1. source ~/.zshrc

現在是時候來驗證這是否真的有效。

 

在長時間啟動並執行終端命令完成時擷取通知

現在,運行任何需要超過 10 秒或者你在 Undistract-me 指令碼中定義的時間的命令

我在 Arch Linux 案頭上運行以下命令:

  1. sudo pacman -Sy

這個命令花了 32 秒完成。上述命令完成後,我收到以下通知。

請記住,只有當給定的命令花了超過 10 秒才能完成時,Undistract-me 指令碼才會通知你。如果命令在 10 秒內完成,你將不會收到通知。當然,你可以按照上面的“配置”部分所述更改此時間間隔設定。

我發現這個工具非常有用。在我迷失在其他任務上時,它協助我回到正事。我希望這個工具也能對你有協助。

還有更多的工具。保持耐心!

乾杯!

資源:

  • Undistract-me GitHub 倉庫

via: https://www.ostechnix.com/undistract-get-notification-long-running-terminal-commands-complete/

作者:sk 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.