Rubriek commandline – Statusinformatie in je terminal

About

Rubriek commandline – Statusinformatie in je terminal

Het terminalvenster in Linux Mint is niet zo informatief. Je ziet slechts je gebruikersnaam, de naam van je computer en de huidige directory. Met Powerline voeg je extra informatie toe aan elk terminalvenster. We tonen hier enkele voorbeelden van de mogelijkheden.

Auteur: Filip Vervloesem

  1. Installatie

Je installeert Powerline met het volgende commando:

sudo apt install powerline

Om Powerline te activeren in bash, voeg je de volgende regel toe aan het einde van het .bashrc-bestand in jouw home directory (let op: het punt aan het begin is belangrijk!):

. /usr/share/powerline/bindings/bash/powerline.sh

Tot slot sluit je het huidige terminalvenster en open je een nieuwe om Powerline te laden.

  1. Configuratie

De standaardconfiguratie vind je terug in /usr/share/powerline/config_files. Het is beter om daar geen wijzigingen te maken. Bij een update van Powerline riskeer je dan immers jouw wijzigingen te verliezen. Kopieer daarom die map eerst naar jouw home directory:

cp -rp /usr/share/powerline/config_files ~/.config/powerline

Het configuratiebestand pas je vervolgens aan met volgend commando:

xed ~/.config/powerline/themes/shell/default.json &

In dat bestand zie je een opsomming van items die Powerline aan de linker- of rechterkant toont, elk met een eigen prioriteit. Powerline toont meer informatie afhankelijk van de breedte van het venster. Items met een lage prioriteit (een hoog nummer) zie je dus mogelijk niet altijd.

  1. Beschikbare items

De configuratie van Powerline is een beetje prutswerk. Op tinyurl.com/y3f4yn3x vind je onder ‘Common segments’ en ‘Shell segments’ de verschillende items die Powerline kan tonen in je terminal. Als voorbeeld nemen we het load average, om snel te zien wanneer het systeem zwaar belast is. De documentatie toont daarvoor de volgende syntax:

powerline.segments.common.sys.system_load(short=False, track_cpu_count=False, threshold_bad=2, threshold_good=1, format=u'{avg:.1f}')

De opties tussen de haakjes zijn niet verplicht. Neem je ze niet op, dan gebruikt Powerline de standaardwaarden, zoals in de documentatie.

  1. Json

Je moet het commando uit tip 3 nog omzetten in correct json-formaat in het configuratiebestand. Willen we enkel de optie short=True toevoegen, dan ziet dat er als volgt uit (de priority kies je uiteraard zelf):

{
    "function": "powerline.segments.common.sys.system_load",
    "args": {
        "short": "True"
    },
    "priority": 20
}

Dat blok voeg je toe binnen het left- of right-blok, al naar gelang de gewenste positie. Bewaar het bestand en open een nieuw terminalvenster (met crtl-shift-n) om jouw wijzigingen te controleren. Krijg je een foutmelding in plaats van een shell? Dan heb je een fout gemaakt tegen de json-syntax. Let er vooral op dat je elke lijn in een opsomming, behalve de laatste, afsluit met een komma. Mocht je ergens een komma vergeten, dan kleurt de teksteditor de volgende regel deels in het rood. Zo weet je meteen dat de syntax fout is.

  1. Batterij

Op een laptop wil je misschien het batterijniveau in het oog houden. Daarvoor gebruik je de functie ‘powerline.segments.common.bat.battery’. Standaard toont die het percentage van de resterende capaciteit en of je bent aangesloten op netstroom of niet. Met de ‘gamify’-optie vervang je het percentage door een minder exacte indicator met 5 blokjes.

  1. E-mail

Erg nuttige info is ook het aantal ongelezen mails in een imap-mailbox. Zo hoef je de terminal niet te verlaten om te zien dat er nieuwe mail op je wacht. Vul de juiste gegevens in voor jouw mailserver, bijvoorbeeld:

{
    "function": "powerline.segments.common.mail.email_imap_alert",
    "args": {
        "username": "<gebruikersnaam>",
      "password": "<wachtwoord>",
      "server": "imap.gmail.com",
      "port": 993,
      "use_ssl": "True"
    },
    "priority": 20
}

Let op dat je géén aanhalingstekens plaatst rond het poortnummer, want dan krijg je een json-syntaxfout.

Share
May 2024
June 2024
No event found!

Related Topics