In het volgende artikel gaan we kijken naar een hulpprogramma genaamd Undistract-me. Dit script we zal een waarschuwing weergeven wanneer de opdrachten zijn voltooid dat we in de terminal Dit kan handig zijn als we na het starten van een commando aan iets anders gaan werken. Hiermee hoeven we niet constant de terminal te controleren om te zien of de opdracht is voltooid of niet. Het hulpprogramma Undistract-me laat het ons weten wanneer een langlopende opdracht is voltooid. Werkt op Arch Linux, Debian, Ubuntu en andere afgeleiden.
Dit hulpprogramma is handig als u niet gedisciplineerd genoeg bent om achterover te leunen en toe te kijken naar de opdrachten die worden uitgevoerd. Het script we geeft een prompt weer op het bureaublad wanneer langlopende opdrachten zijn voltooid, zodat we onze tijd aan iets anders kunnen besteden dan naar de terminal te kijken terwijl de commando's het einde bereiken.
Installeer Undistract-me
Laat me niet afleiden beschikbaar in de standaard Debian-repositories en hun varianten, zoals Ubuntu. Ik heb het getest op Ubuntu 17.10. Iedereen die wil kan de broncode van dit script op de pagina raadplegen door GitHub van het project.
Om het aan uw systeem toe te voegen, hoeft u alleen maar de volgende opdracht in de terminal uit te voeren (Ctrl + Alt + T) om het te installeren:
sudo apt install undistract-me
Wanneer de installatie is voltooid, voert u in dezelfde terminal de volgende opdracht uit naar voeg "undistract-me" toe aan je bash:
echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
Je kunt ook dit commando uitvoeren om het aan je bash toe te voegen:
echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc
Eindelijk update wijzigingen draait in dezelfde terminal:
source ~/.bashrc
Configureer Undistract-me
Wijzig de tijd voor melding
Standaard beschouwt Undistract-me elke opdracht die meer dan 10 seconden nodig heeft om te voltooien als een langlopende opdracht. Maar dit kan worden gewijzigd. Dit tijdsinterval kan worden gewijzigd door het bestand te bewerken /usr/share/undistract-me/long-running.bash.
sudo nano /usr/share/undistract-me/long-running.bash
In het bestand zullen we de variabele moeten vinden "LONG_RUNNING_COMMAND_TIMEOUT" en verander de standaard (10 seconden) voor een andere waarde naar keuze. Sla het bestand vervolgens op en sluit het. Vergeet niet om de wijzigingen bij te werken door het volgende commando uit te voeren:
source ~/.bashrc
Schakel meldingen voor bepaalde opdrachten in / uit
Bovendien kunnen we meldingen voor bepaalde opdrachten uitschakelen. Om dit te doen, zullen we naar de variabele moeten zoeken "LONG_RUNNING_IGNORE_LIST" en voeg de opdrachten die moeten worden beïnvloed, gescheiden door spaties.
Activeer / deactiveer actieve venstercontrole
Standaard, de melding wordt alleen weergegeven als het actieve venster niet het venster is waarin de opdracht wordt uitgevoerd Dit betekent dat we de melding alleen ontvangen als de opdracht in het achtergrondvenster wordt uitgevoerd. Als de opdracht wordt uitgevoerd in het actieve venster, wordt de melding niet weergegeven. Als we willen dat dit onderscheid wordt gemaakt, kunnen we configureren IGNORE_WINDOW_CHECK We zullen selecteren 1 om de venstercontrole over te slaan.
Schakel audiomelding in
Het andere coole kenmerk van Undistract-me is dat u kunt de audiomelding instellen samen met een visuele melding wanneer een opdracht is voltooid. Standaard wordt alleen een visuele melding verzonden. U kunt dit gedrag wijzigen door de variabele in te stellen UDM_PLAY_SOUND en een geheel getal dat niet nul is Op de lijn. Ons Ubuntu-systeem moet echter over de hulpprogramma's beschikken pulseaudio-hulpprogramma's y geluid-thema-vrije desktop geïnstalleerd om deze functionaliteit mogelijk te maken.
Onthoud dat u de volgende opdracht moet uitvoeren om de aangebrachte wijzigingen bij te werken:
source ~/.bashrc
Undistract-me testen
Tijd om te controleren of dit echt werkt en laten we eens kijken of de melding wordt weergegeven wanneer langlopende terminalopdrachten zijn voltooid. Ren nu elk commando dat meer dan 10 seconden duurt of de tijdsduur dat u de Undistract-me-configuratie hebt gedefinieerd.
Voor dit voorbeeld ping ik eenvoudig een van de routers op mijn netwerk een bepaald aantal keren. Deze opdracht duurde ongeveer 25 seconden om te voltooien. Na het voltooien van de opdracht ontving ik de volgende melding op het bureaublad.
Onthoud dat het Undistract-me-script alleen rapporteert als het gegeven commando meer dan 10 seconden nodig heeft om te voltooien en de terminal waarin het wordt uitgevoerd niet het actieve venster is. Als de opdracht binnen 10 seconden is voltooid, wordt u niet op de hoogte gesteld. U kunt deze instelling voor het tijdsinterval natuurlijk wijzigen zoals ik heb beschreven in het gedeelte Instellingen.
Ik vind deze tool erg handig voor ons allemaal die op de terminal werken. En omdat het zo gemakkelijk te gebruiken en te installeren is, denk ik dat het iets is dat op geen enkele computer mag ontbreken.
Dit heeft het elementaire besturingssysteem en het is geweldig