Tips en Trucs 2020

Terminal screencast

Soms zegt een afbeelding of GIF animatie meer dan woorden. Vandaar de vele screencast video's op het internet met films over hoe je iets kunt oplossen, maken, enz. Ook voor het demonstreren van hoe je terminalopdrachten kunt inzetten voor allerlei taken, kan je met ttyrec een opname van het uitvoeren van de opdrachten maken. Daarna kan je met ttygif van deze opname een voor iedereen te bekijken GIF animatie maken.

Installatie van ttyrec en ttygif

Ttyrec en ttygif zijn niet opgenomen in de standaard softwarebronnen van openSUSE Leap 15.2. Om deze twee hulpprogramma's te installeren, voeg je als volgt de extra softwarebron Utilities toe aan het softwarebeheer:

dany@pindabook:~> sudo zypper addrepo -f https://download.opensuse.org/repositories/utilities/openSUSE_Leap_15.2/ utilities
[sudo] wachtwoord voor root: 
Opslagruimte 'utilities' wordt toegevoegd ...................................................................................[gereed]
Opslagruimte 'utilities' is toegevoegd

URI                    : https://download.opensuse.org/repositories/utilities/openSUSE_Leap_15.2/
Ingeschakeld           : Ja
GPG-controle           : Ja
Automatisch vernieuwen : Ja
Prioriteit             : 99 (standaard prioriteit)

Prioriteiten van opslagruimtes hebben geen effect. Alle ingeschakelde opslagruimtes delen dezelfde prioriteit.

Om zeker te zijn dat het softwarebeheer op de hoogte is van de beschikbare software, vernieuwen we alle softwarebronnen. Tegelijkertijd importeren we met de optie --gpg-auto-import-keys de GPG-sleutels waarmee we aangeven dat de softwarebron te vertrouwen is:

dany@pindabook:~> sudo zypper --gpg-auto-import-keys refresh
Opslagruimte 'packman-essentials' is actueel.                                                                                        
Opslagruimte 'Non-OSS opslagruimte' is actueel.                                                                                      
Opslagruimte 'Hoofd-opslagruimte' is actueel.                                                                                        
Opslagruimte 'Hoofd-opslagruimte voor bijwerken' is actueel.                                                                         
Opslagruimte 'Opslagruimte voor bijwerken (niet-Oss)' is actueel.                                                                    
Ophalen van metagegevens uit opslagruimte 'utilities' ----------------------------------------------------------------------------[\]

De volgende sleutel wordt automatisch geïmporteerd:

  Opslagruimte:              utilities
  Sleutelnaam:               utilities OBS Project 
  Vingerafdruk van sleutel:  8B007963 8DF609E2 FD8B8CCE 7CD94DEB 9056621D
  Sleutel aangemaakt:        wo 17 jul 2019 14:52:30 CEST
  Sleutel verloopt op:       vr 24 sep 2021 14:52:30 CEST
  Rpm-naam:                  gpg-pubkey-9056621d-5d2f1a0e


Ophalen van metagegevens uit opslagruimte 'utilities' .......................................................................[gereed]
Cache van opslagruimte 'utilities' wordt gebouwd ............................................................................[gereed]
Alle opslagruimtes zijn vernieuwd.

Daarna kunnen we de twee softwarepakketten installeren met:

dany@pindabook:~> sudo zypper install ttyrec ttygif
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...

De volgende 2 NIEUWE pakketten zullen worden geïnstalleerd:
  ttygif ttyrec

2 nieuwe te installeren pakketten.
Totale downloadgrootte: 32,8 KiB. Reeds in de cache: 0 B. Na de bewerking zal aanvullend 60,7 KiB worden gebruikt.
Doorgaan? [j/n/v/...? alle opties tonen] (j): 
pakket ttyrec-1.0.8-lp152.2.1.x86_64 wordt opgehaald                                           (1/2),  18,9 KiB ( 41,2 KiB uitgepakt)
Ophalen: ttyrec-1.0.8-lp152.2.1.x86_64.rpm ..................................................................................[gereed]
pakket ttygif-1.4.0-lp152.1.1.x86_64 wordt opgehaald                                           (2/2),  13,9 KiB ( 19,5 KiB uitgepakt)
Ophalen: ttygif-1.4.0-lp152.1.1.x86_64.rpm ..................................................................................[gereed]

Controleren op conflicten tussen bestanden: .................................................................................[gereed]
(1/2) Installeren van: ttyrec-1.0.8-lp152.2.1.x86_64 ........................................................................[gereed]
(2/2) Installeren van: ttygif-1.4.0-lp152.1.1.x86_64 ........................................................................[gereed]

Een opname maken ttyrec

Start een terminalvenster (Konsole). Om een terminalopname met de naam testopname te starten, voer je de volgende opdracht uit:

dany@pindabook:~> ttyrec testopname

Vanaf nu wordt alles wat in het terminalvenster verschijnt opgenomen en opgeslagen in het bestand testopname.

dany@pindabook:~> ls -l
totaal 16
lrwxrwxrwx 1 dany users   33  3 jul 20:55 Afbeeldingen -> /usr/home/Documents/Afbeeldingen/
drwxr-xr-x 2 dany users 4096  1 aug 15:20 bin
drwxr-xr-x 2 dany users 4096  3 jul 20:36 Bureaublad
lrwxrwxrwx 1 dany users   20  3 jul 20:55 Documenten -> /usr/home/Documents/
drwxr-xr-x 2 dany users 4096  1 aug 14:10 Downloads
lrwxrwxrwx 1 dany users   27  3 jul 20:55 Muziek -> /usr/home/Documents/Muziek/
lrwxrwxrwx 1 dany users   29  3 jul 20:55 Openbaar -> /usr/home/Documents/Openbaar/
lrwxrwxrwx 1 dany users   30  3 jul 20:56 Sjablonen -> /usr/home/Documents/Sjablonen/
-rw-r--r-- 1 dany users  109  7 aug 14:56 testopname
lrwxrwxrwx 1 dany users   28  3 jul 20:56 Video's -> /usr/home/Documents/Video's/

De opname sluit je af door op de sneltoets Ctrl+d te drukken.

dany@pindabook:~> exit

Het ttyrec meldt het afsluiten door exit weer te geven.

Een opname terug afspelen

Bij het afspelen van een opname wordt alle tekst die bij het uitvoeren van de opdrachten bij de opname in het terminalvenster verscheen terug weergegeven. Bij het afspelen wordt ook rekening gehouden met de tijd, m.a.w. typ je traag, of heb je een denkpauze ingelast, dan wordt dit eveneens zichtbaar (of juist niet) bij het afspelen. Voor het maken van een opname, maak je dus best een scenario op, zodat je weet wanneer je welke opdracht gaat uitvoeren. Het afspelen van een opname, doe je als volgt:

dany@pindabook:~> ttyplay testopname 
dany@pindabook:~> ls -l
totaal 16
lrwxrwxrwx 1 dany users   33  3 jul 20:55 Afbeeldingen -> /usr/home/Documents/Afbeeldingen/
drwxr-xr-x 2 dany users 4096  1 aug 15:20 bin
drwxr-xr-x 2 dany users 4096  3 jul 20:36 Bureaublad
lrwxrwxrwx 1 dany users   20  3 jul 20:55 Documenten -> /usr/home/Documents/
drwxr-xr-x 2 dany users 4096  1 aug 14:10 Downloads
lrwxrwxrwx 1 dany users   27  3 jul 20:55 Muziek -> /usr/home/Documents/Muziek/
lrwxrwxrwx 1 dany users   29  3 jul 20:55 Openbaar -> /usr/home/Documents/Openbaar/
lrwxrwxrwx 1 dany users   30  3 jul 20:56 Sjablonen -> /usr/home/Documents/Sjablonen/
-rw-r--r-- 1 dany users  109  7 aug 14:56 testopname
lrwxrwxrwx 1 dany users   28  3 jul 20:56 Video's -> /usr/home/Documents/Video's/
dany@pindabook:~> exit

Een opname omzetten naar een GIF animatie

Opnamebestanden geproduceerd met ttyrec bevatten enkel tekst aangevuld met extra informatie zoals wachttijden, enz. M.a.w. je moet beschikken over een terminalvenster en de opdracht ttyplay om een opname af te kunnen spelen. Om een opname voor iedereen beschikbaar te maken (bijvoorbeeld voor op een webpagina of als bijlage in een e-mail) converteer je dit naar een geanimeerde GIF afbeelding. Het GIF formaat is zeer geschikt door de ondersteuning van animatie. Dat het GIF formaat maar 256 kleuren ondersteunt is voor deze toepassing geen nadeel, maar eerder een voordeel, want het zorgt voor compacte bestanden. En het is nog steeds een standaard, dat door elke browser en afbeeldingenviewer kan weergegeven worden. Hoe je een opname omzet naar een geanimeerde GIF afbeelding kan je zien op de geanimeerde GIF afbeelding hieronder:
ttygif

De GIF afbeelding krijgt standaard als bestandsnaam tty.gif in de huidige map. Je merkt dat ttygif een animatie maakt van de inhoud van het terminalvenster inclusief onderdelen zoals in het voorbeeld de menubalk. Een opname omzetten naar een GIF afbeelding mislukt dus als er geen grafische omgeving is, zoals bijvoorbeeld via een klassieke SSH verbinding.

Ttyrec en ttygif volledig van de computer verwijderen

De softwarepakketten ttyrec en ttygif met al hun niet door andere pakketten gebruikte afhankelijke paketten (-u optie) kan je verwijderen met:

dany@pindabook:~> sudo zypper remove -u ttyrec ttygif
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...

De volgende 2 pakketten zullen worden VERWIJDERD:
  ttygif ttyrec

2 te verwijderen pakketten.
Na de bewerking zal 60,7 KiB worden vrijgemaakt.
Doorgaan? [j/n/v/...? alle opties tonen] (j): 
(1/2) Verwijderen van ttygif-1.4.0-lp152.1.1.x86_64 .........................................................................[gereed]
(2/2) Verwijderen van ttyrec-1.0.8-lp152.2.1.x86_64 .........................................................................[gereed]
Er zijn actieve programma's die nog steeds bestanden en bibliotheken gebruiken die verwijderd of bijgewerkt zijn door recente opwaarderingen. Ze zouden opnieuw gestart moeten worden om voordeel te hebben van de laatste vormen van bijwerken. Voer 'zypper ps -s' uit om een lijst met deze programma's te maken.
 
Kernbibliotheken or -services zijn bijgewerkt.
Opnieuw opstarten is vereist om te verzekeren dat uw systeem voordeel heeft bij dit bijwerken.

Om de toegevoegde softwarebron en bijhorende GPG-sleutel te verwijderen, moet je eerst de bij de softwarebron horende sleutel opsporen. Een lijst met GPG-sleutels die door het softwarebeheer gebruikt worden, vraag je op met de opdracht:

dany@pindabook:~> rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
gpg-pubkey-307e3d54-5aaa90a5    gpg(SuSE Package Signing Key )
gpg-pubkey-39db7c82-5847eb1f    gpg(SuSE Package Signing Key )
gpg-pubkey-3dbdc284-53674dd4    gpg(openSUSE Project Signing Key )
gpg-pubkey-1abd1afb-54176598    gpg(PackMan Project (signing key) )
gpg-pubkey-9056621d-5d2f1a0e    gpg(utilities OBS Project )

De GPG-sleutel voor de utilities softwarebron staat in het voorbeeld als laatste en heeft als referentie gpg-pubkey-9056621d-5d2f1a0e. Deze referentie heb je nodig om de GPG-sleutel te verwijderen met:

dany@pindabook:~> sudo rpm -e gpg-pubkey-9056621d-5d2f1a0e
[sudo] wachtwoord voor root:

Door het verwijderen van de GPG-sleutel vertrouw je de softwarebron niet langer. De softwarebron utilities zelf, verwijder je met de opdracht:

dany@pindabook:~> sudo zypper removerepo utilities
Opslagruimte 'utilities' wordt verwijderd ...................................................................................[gereed]
Opslagruimte 'utilities' is verwijderd.

De opname en geanimeerde GIF afbeelding verwijder je met de opdracht:

dany@pindabook:~> rm testopname tty.gif

Zo is alles netjes opgeruimd.