GNU/Linux >> Znalost Linux >  >> Linux

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

Před chvílí jsme zveřejnili, jak obdržet upozornění, když je provedena aktivita na Terminálu . Dnes jsem objevil podobnou utilitu s názvem "undistract-me" který vás upozorní na dokončení dlouhých příkazů terminálu. Představte si tento scénář. Spustíte příkaz, jehož dokončení chvíli trvá. Mezitím zkontrolujete svůj facebook a zapojíte se do něj. Po chvíli jste si vzpomněli, že jste před několika minutami spustili příkaz. Vrátíte se zpět do terminálu a všimnete si, že příkaz již skončil. Ale nemáte tušení, kdy je příkaz dokončen . Byli jste někdy v této situaci? Vsadím se, že většina z vás byla v této situaci mnohokrát. Toto je místo, kde "odvrátí pozornost" přichází na pomoc. Nemusíte neustále kontrolovat terminál, abyste zjistili, zda je příkaz dokončen nebo ne. Nástroj Undistract-me vás upozorní na dokončení dlouho spuštěného příkazu. Bude fungovat na Arch Linuxu, Debianu, Ubuntu a dalších derivátech Ubuntu.

Instalace Undistract-me

Undistract-me je k dispozici ve výchozích úložištích Debianu a jeho variant, jako je Ubuntu. Vše, co musíte udělat, je spustit následující příkaz k instalaci.

$ sudo apt-get install undistract-me

Arch Linux uživatelé jej mohou nainstalovat z AUR pomocí jakýchkoli pomocných programů, například YaY .

$ yay -S undistract-me-git

Poté spusťte následující příkaz a přidejte „undistract-me“ do vašeho Bash.

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

Případně můžete spustit tento příkaz a přidat jej do Bash:

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

Pokud jste v Zsh shell, spusťte tento příkaz:

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

Nakonec aktualizujte změny:

Pro Bash:

$ source ~/.bashrc

Pro Zsh:

$ source ~/.zshrc

Nakonfigurujte Undistract-me

Ve výchozím nastavení bude Undistract-me zvažovat každý příkaz, který trvá více než 10 sekund dokončit jako dlouhotrvající příkaz. Tento časový interval můžete změnit úpravou /usr/share/undistract-me/long-running.bash soubor.

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

Najděte „LONG_RUNNING_COMMAND_TIMEOUT“ proměnnou a změňte výchozí hodnotu (10 sekund) na jinou podle vašeho výběru.

Uložte a zavřete soubor. Nezapomeňte aktualizovat změny:

$ source ~/.bashrc

Můžete také zakázat upozornění na konkrétní příkazy. Chcete-li tak učinit, vyhledejte „LONG_RUNNING_IGNORE_LIST“ proměnnou a přidejte příkazy oddělené mezerou.

Ve výchozím nastavení se upozornění zobrazí pouze v případě, že aktivní okno není oknem, ve kterém je spuštěn příkaz. To znamená, že vás upozorní pouze v případě, že příkaz běží v okně terminálu na pozadí. Pokud je příkaz spuštěn v aktivním okně Terminál, nebudete upozorněni. Pokud chcete, aby mě odváděla pozornost, abych zasílal upozornění, ať už je okno Terminálu viditelné nebo na pozadí, můžete nastavit IGNORE_WINDOW_CHECK do 1 přeskočíte kontrolu okna.

Další skvělou funkcí Undistract-me je, že můžete nastavit zvukové upozornění spolu s vizuálním upozorněním, když je příkaz vykonán. Ve výchozím nastavení odešle pouze vizuální upozornění. Toto chování můžete změnit nastavením proměnné UDM_PLAY_SOUND na nenulové celé číslo na příkazovém řádku. Váš systém Ubuntu by však měl mít pulseaudio-utils a sound-theme-freedesktop nainstalované nástroje pro aktivaci této funkce.

Pamatujte, že k aktualizaci provedených změn musíte spustit následující příkaz.

Pro Bash:

$ source ~/.bashrc

Pro Zsh:

$ source ~/.zshrc

Je čas ověřit, zda to opravdu funguje.

Získat upozornění po dokončení dlouhých příkazů terminálu

Nyní spusťte jakýkoli příkaz, který trvá déle než 10 sekund nebo dobu, kterou jste definovali ve skriptu Undistract-me.

Na ploše Arch Linuxu jsem spustil následující příkaz.

$ sudo pacman -Syu

Dokončení tohoto příkazu trvalo 32 sekund. Po dokončení výše uvedeného příkazu jsem obdržel následující upozornění.

Pamatujte, že skript Undistract-me vás upozorní pouze v případě, že dokončení daného příkazu trvalo déle než 10 sekund. Pokud je příkaz dokončen za méně než 10 sekund, nebudete upozorněni. Toto nastavení časového intervalu můžete samozřejmě změnit, jak jsem popsal výše v sekci Konfigurace.

Tento nástroj považuji za velmi užitečný. Pomohlo mi to vrátit se do podnikání poté, co jsem se úplně ztratil v některých jiných úkolech. Doufám, že tento nástroj bude užitečný i vám.


Linux
  1. Zpomaluje je spouštění příkazů podrobně?

  2. ip příkaz v terminálu Mac OS X

  3. Jak získat celkovou dobu provozu pevného disku

  1. 8 strašidelných příkazů, které pronásledují terminál

  2. Navrhněte instalaci balíčků při spuštění nedostupného příkazu

  3. Spouštění příkazů Linuxu na pozadí a v popředí

  1. Linuxové příkazy od A do Z

  2. Příkazový řádek se přepíše, když jsou příkazy příliš dlouhé

  3. Spouštění pro příkazy terminálu smyčky v Jupyteru