Terminal Emulators

De CLI in een grafische (GUI) omgeving


Terminal Emulators of Konsole Emulatoren laten toe om vanuit een grafische omgeving (GUI) de commando-regel (CLI) te gebruiken.

Eerst een korte inleiding.

Wat is een Terminal/Console ?

In de beginjaren van de computer, toen deze nog heel groot en duur waren, werden deze computers door meerdere mensen tegelijkertijd gebruikt en deze mensen zaten niet allemaal in dezelfde ruimte. Om een verbinding te maken met deze computer, gebruikten ze een Terminal. Zo konden ze vanaf iedere beschikbare terminal inloggen en de computer gebruiken. Deze terminals waren met de computer in het datacenter verbonden via een seriële lijn (fysiek) en kunnen ook sTTY genoemd worden (er zijn ook nog andere TTY systemen zoals pTTY en vTTY maar dat gaat voorbij de “scope” van dit artikel).

Omdat Linux gemaakt is om te werken zoals deze “oude” Unix computers, heeft het ook terminals. Maar dit zijn in werkelijkheid “virtuele” terminals. Als je Linux opstart zonder te kiezen voor X (of het nieuwe Wayland) kom je na opstarten in de eerste virtuele terminal (tty1). Linux heeft er standaard 8 (van tty1 t.e.m. tty8) en je kunt deze bereiken met de toetsencombinatie : CONTROL + ALT +Fn (waar n een getal is tussen 1 en 8).

De naam TTY komt van de oude TeleType machines die men vroeger gebruikte.

een TeleType uit de jaren 40

Zoals je op de foto kunt zien hadden deze TeleType machines geen monitor, in plaats daarvan werd alles afgedrukt op papier (vandaar de naam TeleType).

In de beginjaren van Unix betekenden de woorden console, terminal en shell bijna hetzelfde, een fysiek apparaat om te gebruiken bij de interactie met een computer.

Tegenwoordig zijn ze verwant, maar betekenen niet meer exact hetzelfde.

TTY’s worden bij desktop gebruik nog zelden gebruikt omdat men meestal via een display Manager (GDM3 als standaard bij Debian met Gnome) inlogt en dus niet meer in de tekst console komt. Bij servers is dit anders want hier zal men geen GUI willen opstarten om rekenkracht van het systeem te besparen omdat een GUI bij een server niet nodig is (Windows Servers, hebben deze eigenschap lange tijd niet gehad, maar het is sinds Windows Server 2010 ook een installatiemogelijkheid).

Als je een zogenaamde thin-client gebruikt (en systeem dat de invoer (meestal keyboard en muis) en uitvoer (beeldscherm) verwerkt), maar het echte werk laat doen door een andere krachtigere Computer (een Raspberry Pi kun je bijv. als Thin Client gebruiken) heb je in principe ook een Console/Terminal. Net als wanneer je een systeem zoals SSH gebruikt waarmee je een verbinding kunt maken met een andere computer om daar taken op te verrichten. Verschillende methodes om te verbinden zijn oa. (Open)SSH, Telnet (niet veilig), VNC, RDC, RDP, XDMCP etc.

Over naar de grafische terminal.

De grafische terminal is een GUI programma dat toegang geeft tot de commando-regel en een shell naar keuze (meestal Bash). Bijna iedere Desktop Environment heeft zijn eigen terminal zoals:

De verschillende terminals/konsoles werken natuurlijk ook bij andere DE’s maar ze zijn wel zo gemaakt dat ze grafisch gezien beter integreren in hun eigen DE.

En er zijn ook nog een heleboel andere terminal/konsole emulatoren die niet specifiek voor een bepaalde DE zijn geschreven, zoals:

GNOME TERMINAL gnome-terminal is de standaard terminal emulator voor GNOME en heeft de volgende optie:

Verschillende profielen met opties voor deze profielen:

een voorbeeld van de gnome-terminal

KONSOLE

konsole is de standaard terminal emulator voor KDE en heeft de volgende optie:

een voorbeeld van Konsole

MATE Terminal

Zoals de naam al doet vermoeden is dit de terminal voor de MATE desktop (afsplitsing van Gnome 2 toen het Gnome project de beslissing nam om voor Gnome 3 een heel andere weg op te gaan).

Mate-terminal heeft ook vele opties : Mate-terminal heeft ook vele opties :

een voorbeeld van de MATE-Terminal:

LXDE Terminal

Deze terminal heet eigenlijk LXTERMINAL en heeft de volgende opties:

hier is een voorbeeld van lxterminal

De standaard terminal van de XFCE Desktop Environment heeft volgende opties:

een voorbeeld van de XFCE terminal

RXVT

rxvt is een eenvoudige terminal

TERMINATOR

Nee, niet Arnold Schwarzenegger (T-800 Terminator) of 1 van de andere modellen van Skynet (toevallig ook mijn ISP :-D ), maar een “Tiling” terminal, in tegenstellingen tot een “gewone” terminal opent deze geen nieuw venster voor iedere nieuwe terminal, maar kun je het venster opsplitsen in verschillende terminals. Dit zal zeker in de smaak vallen bij mensen die ook van dit soort Display Environments houden.

Terminator heeft vele opties waaronder:

voorbeeld van terminator:

TERMINOLOGY

Terminology is de standaard Terminal Emulator voor de Enlightenment Desktop Environment, ook wel E17 (versie 17 is de huidige versie in Debian stretch) genoemd.

Op dit moment is terminology niet beschikbaar bij Debian Stretch, dus ga ik deze niet verder bespreken.

XTERM

xterm is net zoals rxvt een basis terminal zonder configuratie opties.

voorbeeld van xterm:

YAKUAKE

Yakuake is een “Drop-Down” terminal voor de KDE desktop

Je kunt oa het Formaat, gedrag en uiterlijk aanpassen. ook heeft Yakuake de optie om verschillende thema’s te gebruiken.

voorbeeld van Yukuake

TILDA

Tilda is net zoals Yakuake een “drop-down” terminal en mijn favoriet, hoewel ik moet toegeven dat ik het zo gewoon ben om gnome-terminal te openen vanuit de docker dat ik deze veel te weinig gebruik.

Het voordeel van deze drop-down terminals is dat je deze razend snel kunt openen en sluiten. Bij een standaard toetsenbord gebruik je de F1 toets of Fn+F1 (Fn is de Function knop op kleine toetsenborden zoals dat van een Laptop, en enkel bij een "Belgisch" AZERTY layout en niet bij US QWERTY (wat men in Nederland gebruikt).

Tilda heeft veel configuratie opties en ik ga deze niet allemaal oplijsten maar enkele van deze opties zijn:

voorbeeld van Tilda:

Als je nu met de vraag zit: “Waarom laat hij de transparantie niet zien ?!) is het antwoord hierop heel gemakkelijk, het systeem waarop ik deze schermafbeeldingen maak ondersteund dit niet dus kan ik het niet tonen. maar omdat ik Tilda toch gebruik om mijn werkstation kan ik wel een voorbeeld geven van Tilda met transparantie: ‘en nee, dit is geen Mac of Hackintosh maar Debian Stretch met enkele Mac-based themes.

Tilda met transparantie