Terminal Emulators

Terminal Emulators

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

Figuur 1. Gnome Terminal

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.

Figuur 2. 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.
  • Terminal is een tekst invoer/uitvoer omgeving
  • Console is een fysieke Terminal
  • Shell Interpreteer programma voor de commando-regel (bijv. Bash, sh, csh, zsh, ash, ksh, etc.)
  • TTY verwijst naar een “virtuele” of softwarematige sTTY (terminal/console)

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:
  • Oorspronkelijke afmetingen (stel de afmeting in die jij wil zodat gnome-terminal altijd de gewenste grootte heeft).
  • Cursor vorm (blokje, streepje of | )
  • Terminalbel het EERSTE dat ik uitschakel ;-) deze staat standaard aan en geeft een biep via de pc speaker (niet de geluidskaart) als er een “melding is”, bijv als je op TAB drukt voor “auto-complete” maar er is geen automatische aanvulling mogelijk of als je met backspace verder dan het begin van de commando-regel wil gaan. Ik vindt dit irritant gedrag, maar kan een hulp zijn voor bepaalde mensen.
  • Lettertype vrij in te stellen.
  • Opdracht uitvoeren bij opstarten.
  • Kleurenschema aanpassen, het origineel is witte achtergrond met zwarte tekst, sommige “Hackers” verkiezen een “terminal green” font op een zwarte achtergrond, en dit zit standaard bij de opties. Ik gebruik dit kleurenschema zelf ook, maar voor mijn artikels gebruik ik een donker grijze achtergrond met een licht grijs (bijna wit) font omdat dit beter past op onze site.

  • Schuifbalk opties (weergeven, verbergen, max aantal regel die je kunt schijven, etc.)

  • compatililiteitsopties.
  • en natuurlijk ook alle denkbare hulp opties zoals kopiëren, plakken enz
Figuur 3. Gnome Terminal

een voorbeeld van de gnome-terminal

KONSOLE

konsole is de standaard terminal emulator voor KDE en heeft de volgende optie:
  • Verschillende profielen met opties zoals:
    • Commando (welke shell te gebruiken)
    • Grootte bij opstarten
    • Tabbladen instellen (opmaak van titel)
    • Uiterlijk (kleuren, lettertype, …)
    • Verschillende opties voor de schuifbalken
    • Toetsenbinding instellen
    • Gedrag van de muis instellen
    • Copy & paste instellingen
  • Diverse instellingen
  • Geavanceerde instellingen zoals, cursor type, terminalfuncties, …
  • En nog veel meer
Figuur 4. Konsole

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 :
  • Naam v/h profiel
  • Lettertype te gebruiken
  • Terminal Bel aan/uit
  • Vorm van de cursor
  • Titel en opdracht
  • Kleurenschema’s
  • Achtergrond kleur of transparante achtergrond
  • schuifbalk instellingen
  • Compatibiliteits instellingen
Figuur 5. MATE Terminal

een voorbeeld van de MATE-Terminal:

LXDE Terminal

Deze terminal heet eigenlijk LXTERMINAL en heeft de volgende opties:
  • Kleurenschema aanpassen (stijl)
  • scherminstellingen (locatie statusbalk, standaard grootte, …)
  • enkele “gevorderde” instellingen
  • Sneltoetsen instellen
Figuur 6. LXDE Terminal

hier is een voorbeeld van lxterminal

XFCE Terminal

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

  • Titel in te stellen
  • Opdracht uitvoeren bij opstarten
  • Lettertype
  • Achtergrond : kleur, afbeelding of doorzichtig
  • Grootte van nieuw venster
  • Kleurenschema
  • Compatibiliteitsinstellingen
Figuur 7. XFCE Terminal

een voorbeeld van de XFCE terminal

RXVT

Figuur 8. RCVT Terminal

rxvt is een eenvoudige terminal

TERMINATOR

Nee, nietArnold 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:
  • Gedrag
  • Weergave
  • Profielen
  • Achtergrond kleur of transparant
  • Compatibiliteit
  • Indeling
  • Toetsenbinding
  • Plug-ins

  • en nog veel meer.
Figuur 9. Terminator

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.

Figuur 10. xterm

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.

Figuur 11. Yakuake

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:
  • Window Display : hoe wil je dat Tilda wordt weergegeven.
  • Font : lettertype
  • Auto Hide : Automatisch verbergen (zeer handig)
  • Program Exit : Gedrag bij afsluiten programma, omdat ik gewoon ben om een terminal te sluiten met “exit” heb ik dit ingesteld op “open a new terminal and hide”. Dit laat me toe om tilda de volgende keer opnieuw te openen met F1, als ik dit niet doe dan moet ik Tilda de volgende keer opnieuw opstarten
  • Weergave op het scherm: Waar, grootte, positie, Transparantie, geanimeerde weergave
  • Kleuren
  • Doorbladeren
  • Compatibiliteit
  • Toetsencombinaties: als je een andere toets wil gebruiken dan Fn+F1kun je dit hier instellen.
Figuur 12. 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.

Figuur 13. Tilda met transparantie

Tilda met transparantie