Ik Van Linux

Er Is Meer Dan Eén Terminal


Linux is een multi-user systeem, wat wil zeggen dat er meerdere gebruikers tegelijkertijd kunnen inloggen op het systeem. Dat is natuurlijk leuk voor machines die door meerdere mensen tegelijk gebruikt moeten worden, maar heb je daar zelf ook iets aan op je Raspberry Pi?
Natuurlijk wel! Je kunt namelijk zelf ook meerdere keren tegelijk inloggen op je machine. En iedere gebruiker (elke kloon van jezelf dus) is daarbij onafhankelijk van de andere gebruikers. In een grafisch systeem ben je wellicht wel gewend om meerdere vensters tegelijk te kunnen openen. Daarom is het goed om je realiseren dat je dat in Linux ook in de terminal kunt doen.

Je kunt de terminal op verschillende manieren benaderen. Welke manier je gebruikt is helemaal afhankelijk van de situatie. En je mag elke mix van inlog manieren gebruiken die je zelf wilt.

Terminal Op De Fysieke Computer

In dit geval heb je een monitor en toetsenbord aangesloten op je Raspberry Pi (of eender welke andere Linux computer), maar je hebt geen grafische schil.
De computer groet je daarbij met een inlogscherm. Nou ja, groeten. Het scherm is zo goed als leeg en je ziet een login prompt. Type je gebruikersnaam achter de login prompt en druk op Enter. Daarna wordt nog om je wachtwoord gevraagd. En als je dat goed invult kom je in de terminal terecht.

Maar dit is niet de enige terminal die er is. Waarschijnlijk heb je er een stuk of 7. Het exacte aantal verschilt per configuratie. Druk maar eens op Alt-F2. Je krijgt weer een nieuw login scherm te zien. Log in en voer een willekeurig commando uit. Schakel daarna terug naar terminal 1 door op Alt-F1 te drukken. Je kunt dus twee totaal verschillende dingen tegelijk doen op die twee terminals. Bijvoorbeeld een logfile bekijken op de ene en commando’s uitvoeren op de andere. Zo kun je natuurlijk ook schakelen tussen nog meerdere terminals met Alt-F3, Alt-F4, enz. Als het op een gegeven moment niet meer lukt heb je het maximum aan fysieke terminals van jouw computer bereikt.

Zoals ik al zei werkt dit op een computer zonder grafische schil. Maar ook op een computer met grafische schil werkt dit. Alleen moet je daarvoor Ctrl-Alt-F1 indrukken om naar de terminal over te scakelen. Daarna kun je weer met Alt-F2 enzovoorts omschakelen tussen de verschillende terminals. Je schakelt weer terug naar de grafische schil door de terminal met het hoogste nummer te kiezen, meestal is dat Alt-F7.
De reden waarom je vanuit de grafische schil de Ctrl toets ook moet indrukken is omdat historisch gezien Alt-F4 bijvoorbeeld afgevangen wordt door de grafische schil.

Terminal Venster Openen In De Grafische Schil

Dit is een eitje. Je weet waarschijnlijk al dat je meerdere terminal vensters in je grafische schil kunt openen, zonder dat je je beseft dat je daarmee meerdere keren tegelijk op dezelfde computer aan het inloggen bent. Je logt daarmee per venster in met de gegevens van de huidige grafische schil gebruiker.

Inloggen Op Een Computer Met Telnet

Telnet is een heel oud protocol. Hiermee maak je een terminal verbinding op een computer, ergens in het netwerk of op het internet. Je kunt die computer daarmee dus op afstand besturen. Vooropgesteld natuurlijk dat die computer een telnet server draait.

telnet <ipadres>

Een groot nadeel van telnet is dat de data, die over de lijn op en neer gaat, niet versleuteld is. Iedereen kan dus meelezen. Ook de wachtwoorden zijn onversleuteld. Daarom wordt telnet zelden nog gebruikt. Je komt het hooguit nog tegen op zeer zwakke computertjes, die niet voldoende bronnen beschikbaar hebben om versleutelde verbindingen te kunnen maken.

Inloggen Op Een Computer Met Ssh

Inloggen met ssh op een computer is de moderne versie van inloggen via telnet. Het is volledig veilig omdat alle data versleuteld wordt. Maar er kan nog zoveel meer met ssh. Zo veel zelfs dat ik daar een separaat hoofdstuk aan ga wijden.

ssh <ipadres>

De voorwaarde om met ssh te kunnen inloggen is weer dat de ssh server moet draaien. Bij de Raspberry Pi kun je dat via sudo raspi-config regelen. Bij andere Linux computers kun je dat doen door ssh te installeren bijvoorbeeld met sudo apt install ssh.

Inloggen Via D Seriële Poort

Inloggen via telnet was al een ding uit een ver verleden. Inloggen op de computer via de seriële poort is uit een nog veel verder verleden. UIt een tijd dat gebruikers met meerdere seriële terminals op een locale server inlogden. Maar dat wil nog niet zeggen dat dit heden ten dage niet meer mogelijk zou zijn. Standaard kun je namelijk gewoon een seriële terminal (of een software variant daarvan) op de seriële poort van de Raspberry Pi aansluiten en dan krijg je een login prompt te zien. Je kunt dan, net als bij telnet, inloggen op die machine.

Eerlijk gezegd weet ik niet waarom dit nog steeds standaard mogelijk is bij de Raspberry Pi. Ik kan me niet voorstellen dat dit feature nog vaak gebruikt wordt.

Enkele nadelen van inloggen via de seriële poort zijn:

  • Relatief traag.
  • Slechts één gebruiker per seriële poort.
  • Afstand tussen terminal en server mag niet meer dan 15m zijn.
  • De seriële poort kan niet voor andere doelen gebruikt worden.
  • Data is ook hier weer niet versleuteld en is nog makkelijker af te luisteren.

Wie Zitten Er Allemaal Op Deze Computer?

Met het who commando kun je zien wie er allemaal op de computer zijn ingelogd.

who
jan      pts/0        2019-06-17 11:19 (32.12.66.198)
piet     pts/1        2019-06-17 11:30 (192.168.1.15)

Je kunt ook zien sinds wanneer er is ingelogd, en vanaf welk IP adres er is ingelogd (in geval van een inlog via ssh).

Er is nog een commando waarmee je kunt zien wie er zijn inlogd.

w
 11:20:14 up 17 days, 23:24,  2 users,  load average: 0.16, 0.13, 0.07
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
jan      pts/0    32.12.66.198      11:19    2.00s  0.93s  0.02s nano
piet     pts/1    192.168.1.15      11:30    2.00s  0.91s  0.06s w

Hier kun je nog veel meer zien. In de bovenste regel staat informatie over de server, hoe lang hij al aan staat en hoe hard hij moet werken etc.
Ook nu weer kun je zien welke gebruikers er zijn ingelogd, en waar vandaan. Ook hoe lang ze zijn ingelogd, en hoeveel systeembronnen elke gebruiker in gebruik heeft. En tenslotte kun je ook nog zien welk commando elke gebruiker op dit moment aan het uitvoeren is.

Wie Ben Ik?

Als je niet meer weet onder welke naam jezelf ingelogd bent kun je het commando whoami gebruiken (who am I, ofwel wie ben ik). Op een Raspberry Pi krijg je waarschijnlijk te zien dat je de gebruiker pi bent.