GNU/Linux >> Znalost Linux >  >> Linux

Získejte upozornění, když je dokončena úloha terminálu

Dávám přednost režimu CLI před GUI k provádění většiny úkolů v mém Linuxovém boxu a jsem si jistý, že většina z vás to udělá také. Když spustím příkaz, jehož dokončení trvá dlouho, neustále kontroluji terminál, abych se ujistil, zda je úkol dokončen nebo ne. Řekněme například, že když aktualizuji svůj systém Arch, neustále kontroluji terminál, abych věděl, zda je daný úkol dokončen nebo ne. Už ne! Dnes jsem narazil na užitečný skript s názvem NotiFyre který vás upozorní vyskakovacím oknem, když je provedena aktivita terminálu.

Testoval jsem to na ploše Ubuntu 16.04 LTS a funguje dobře, jak je popsáno níže.

Získat upozornění, když je pomocí NotiFyre dokončena úloha terminálu

Ujistěte se, že jste nainstalovali následující předpoklady.

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

Obecně platí, že tyto předpoklady budou standardně nainstalovány na většině distribucí Linuxu. Chcete-li zkontrolovat, zda notify-osd funguje nebo ne, spuštěním následujícího příkazu z vašeho terminálu.

notify-send "hello"

Výše uvedený příkaz otevře vyskakovací okno se zprávou "ahoj". Pokud se neobjeví žádná zpráva, znamená to, že notify-osd nefunguje. Pokuste se znovu nainstalovat výše uvedené předpoklady, jak je uvedeno níže.

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

Nyní spusťte příkaz notify-send a podívejte se, zda se zpráva objeví.

Dále si stáhněte nebo git klonujte skript NotiFyre z jeho stránky GitHub. Odkaz je připojen na konci této příručky.

Poté otevřete složku NotiFyre. Zkopírujte následující soubory a umístěte je do složky HOME pokud používáte BASH shell.

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

Poté upravte soubor bashrc:

$ sudo vi ~/.bashrc

Přidejte následující řádky na konec.

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

Uložte a zavřete soubor. Poté spusťte následující příkaz, aby se uložené změny projevily.

$ source ~/.bashrc

Nyní spusťte na svém terminálu jakoukoli úlohu a budete upozorněni pokaždé, když je příkaz dokončen.

Skvělé, že?

Zkontrolujte také tento podobný nástroj:

  • Undistract-me:Získejte upozornění po dokončení dlouhých příkazů terminálu

Pokud používáteRybí skořápka , musíte umístit terminal.pngprompt_pwd.fish , notifyre.fish a nf.fish soubory ve vašem ~/.config/fish/functions/ složka. Poté upravte své functions/fish_prompt.fish soubor a těsně před konec přidejte následující řádky.

function fish_prompt
    ...

    eval (notifyre)  
end

Zvuk upozornění (tón) můžete změnit úpravou tohoto řádku v notifyre.sh soubor.

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

Také můžete změnit čas intervalu upozornění úpravou následujícího řádku v souboru 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

Nyní nemusíte neustále kontrolovat terminál, abyste věděli, zda je úkol dokončen nebo ne. Stačí spustit a zapomenout na dlouho běžící terminálovou úlohu. NotiFyre se o to postará a upozorní vás, jakmile bude úkol dokončen.

A to je vše. Doufám, že to bylo užitečné. Přijdou další dobré věci. Zůstaňte naladěni!

Na zdraví!


Linux
  1. Při přístupu k cPanelu se zobrazí chyba 404

  2. Jak se dostat errno, když epoll_wait vrátí EPOLLERR?

  3. Linux dostává upozornění na cílenou změnu okna gui

  1. Dostanou procesy na pozadí při odhlášení SIGHUP?

  2. Kdy se vymaže /tmp?

  3. získat upozornění, když služba monitorovaná systemd vstoupí do stavu selhání

  1. Co bych získal, když Sudo Program destruktivní jádra?

  2. Je možné získat postavu na terminálovém kurzoru pomocí únikových kódů Ansi?

  3. Vytvoření skriptu pro zobrazení upozornění, když jsou dostupné aktualizace?