Tips en Trucs 2024

WTF - terminal dashboard

WTF (ook bekend als 'wtfutil') wordt aangekondigd als "het persoonlijke informatiedashboard voor je terminal". Het idee is dat je gemakkelijk toegang hebt tot belangrijke maar niet vaak benodigde statistieken en gegevens. WTF wordt gepubliceerd onder een open source licentie. Dit programma is geschreven in Go.

WTF installeren

WTF is cross-platform software. Naast Linux draait de software ook op macOS.

Aangezien dit open source software is, kun je het programma installeren vanaf de broncode. Maak gewoon een kloon van de repository en voer de opdracht make build uit vanuit de nieuw aangemaakte map. Als je het nog avontuurlijker wilt, kun je het via Docker uitvoeren.

We kiezen hier echter voor de gemakkelijke weg, het kant en klare programma downloaden en uitvoeren. Dit kan rechtstreeks vanaf de GitHub WTF Release webpagina of met behulp van de volgende opdrachten.

Eerst vragen we alle eigenschappen van de WTF GitHub pagina op. Uit deze eigenschappen zonderen we de waarde van de eigenschap "tag_name" af met behulp van grep. Deze bevat namelijk het meest recente versienummer.

dany@pindabook:~$ latest=$(curl -s https://api.github.com/repos/wtfutil/wtf/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")' | cut -d$'v' -f 2)

De variabele latest bevat nu het recentste versienummer.

dany@pindabook:~$ echo ${latest}
0.43.0

Dit kunnen we gebruiken om de laatste versie van WTF met wget te downloaden:

dany@pindabook:~$ wget https://github.com/wtfutil/wtf/releases/download/v${latest}/wtf_${latest}_linux_amd64.tar.gz--2024-03-01 18:09:04--  https://github.com/wtfutil/wtf/releases/download/v0.43.0/wtf_0.43.0_linux_amd64.tar.gz
Herleiden van github.com (github.com)... 140.82.121.4
Verbinding maken met github.com (github.com)|140.82.121.4|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 302 Found
Locatie: https://objects.githubusercontent.com/github-production-release-asset-2e65be/127227141/1cd48b99-bb11-4d3c-8df6-9a5b4179a0f6?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240301%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240301T170904Z&X-Amz-Expires=300&X-Amz-Signature=b004a1c2dc5782c65b4894398d70ab049774b7101b8f2af6feaed335cb48bfed&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=127227141&response-content-disposition=attachment%3B%20filename%3Dwtf_0.43.0_linux_amd64.tar.gz&response-content-type=application%2Foctet-stream [volgen...]
--2024-03-01 18:09:04--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/127227141/1cd48b99-bb11-4d3c-8df6-9a5b4179a0f6?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240301%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240301T170904Z&X-Amz-Expires=300&X-Amz-Signature=b004a1c2dc5782c65b4894398d70ab049774b7101b8f2af6feaed335cb48bfed&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=127227141&response-content-disposition=attachment%3B%20filename%3Dwtf_0.43.0_linux_amd64.tar.gz&response-content-type=application%2Foctet-stream
Herleiden van objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.111.133, 185.199.108.133, ...
Verbinding maken met objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 200 OK
Lengte: 19902675 (19M) [application/octet-stream]
Wordt opgeslagen als: ‘wtf_0.43.0_linux_amd64.tar.gz’

wtf_0.43.0_linux_amd64.tar.g 100%[==============================================>]  18,98M  11,2MB/s    in 1,7s    

2024-03-01 18:09:07 (11,2 MB/s) - '‘wtf_0.43.0_linux_amd64.tar.gz’' opgeslagen [19902675/19902675]

Het gedownloade archief pakken we uit met:

dany@pindabook:~$ tar -xvf wtf_${latest}_linux_amd64.tar.gz
wtf_0.43.0_linux_amd64/CHANGELOG.md
wtf_0.43.0_linux_amd64/LICENSE.md
wtf_0.43.0_linux_amd64/README.md
wtf_0.43.0_linux_amd64/wtfutil

Na het uitpakken kan je het gedownloade archief wissen:

dany@pindabook:~$ rm wtf_0.43.0_linux_amd64.tar.gz

WTF gebruiken

Je kunt het uitgepakte programma starten met de opdracht:

dany@pindabook:~$ wtf_0.43.0_linux_amd64/wtfutil

Met het volgende resultaat:

wtfutil

Zoals de afbeelding laat zien, krijgen we een aantal widgets te zien met verschillende informatie. Het linker paneel toont het config.yml bestand waarmee het programma wordt geconfigureerd. De andere panelen tonen tijdsklokken, een nieuwsfeed, IP-informatie en batterij-informatie.

WTF sluit je af door op de q toets te drukken.

De widgets die je op het scherm ziet, worden weergegeven met behulp van modules. De echte kracht van WTF zijn deze modules. Het zijn brokken functionaliteit waarmee je de informatie kunt aanpassen aan je precieze vereisten. Een module is een afzonderlijke eenheid van functionaliteit die gegevens uit een bron haalt en die gegevens verpakt voor weergave.

Standaard zoekt WTF in de map ~/.config/wtf/ naar een YAML bestand met de naam config.yml. Als de map ~/.config/wtf/ niet bestaat, zal WTF deze aanmaken bij het opstarten en vervolgens een standaard configuratiebestand aanmaken. Het configuratiebestand gebruikt het YAML formaat. Als je niet vertrouwd bent met het bewerken van YAML bestanden, kijk dan eens naar de voorbeeld config bestanden van de GitHub repository van het project. Veel populaire editors en IDE's ondersteunen de taal ingebouwd of via plugins. Met bijvoorbeeld de teksteditor nano open je het YAML configuratiebestand.

dany@pindabook:~$ nano .config/wtf/config.yml

We geven een eenvoudig voorbeeld door het Feed Reader adres:

      - http://feeds.bbci.co.uk/news/rss.xml

Te vervangen door het Feed adres van deze website:

      - https://linux.pindanet.be/rss.xml

Direct na het opslaan van het configuratiebestand zal de informatie in WTF aangepast worden.

wtfutil

Modules worden toegevoegd en geconfigureerd door specifieke regels tekst op te nemen in het config.yml bestand. Er zijn veel modules beschikbaar die eenvoudig kunnen worden toegevoegd door specifieke code in te voegen in het configuratiebestand. In het configuratiebestand kunnen we definiëren waar elke module verschijnt, het aantal rijen en kolommen en de hoogte en breedte van de widget.

WTF verwijderen

Om WTF van de computer te verwijderen, sluit je WTF af (q). In ons geval kan je WTF snel verwijderen door de uitgepakte map te verwijderen:

dany@pindabook:~$ rm -r wtf_0.43.0_linux_amd64

De configuratiemap voor WTF wis je met:

dany@pindabook:~$ rm -r .config/wtf