Ik Van Linux

Een Headless Computer


Hieronder wordt verstaan dat een computer niet is aangesloten op een monitor, en ook geen toetsenbord of muis heeft. Bij normaal desktop gebruik kom je dat niet gemakkelijk tegen natuurlijk, maar bij servers en besturingscomputers is dat zeer gebruikelijk. En laat de Raspberry Pi nu net in die twee laatste disciplines uitermate bruikbaar zijn.

Maar hoe krijg je die computer aan de praat, als er geen scherm of toetsenbord aan hangt? Dat doe je dus via SSH, over het netwerk. Daarbij zijn wellicht een paar kip en ei problemen die je moet zien te overbruggen. SSH staat jammer genoeg standaard niet aan bij de Raspberry Pi, en hoe stel je je Wifi wachtwoord in als je nog geen verbinding met je computer hebt?

Tijdelijke Monitor En Toetsenbord

Ik denk dat dit voor veel mensen de gemakkelijkste manier is. Gewoon even tijdelijk wel een monitor en een toetsenbord aansluiten. Je stelt natuurlijk wel alles in via de terminal, toch? Headless machines hebben doorgaans geen desktopomgeving draaien. Daarmee hebben ze meer systeembronnen over voor het echte werk.

SSH kun je dan aan zetten via het sudo raspi-config configuratiemenu. In dat menu kun je ergens aangeven dat je SSH wilt aanzetten (Enable SSH). Op het moment van schrijven doe je dat in het menu Interface Options.
Een andere methode om SSH te activeren is om sudo apt install ssh uit te voeren. Dan hoef je niet door het menu heen te bladeren, op zoek naar de juiste optie.

Als je je Pi niet aan het ethernet hebt hangen kun je ook meteen als sudo het bestand /etc/wpa_supplicant/wpa_supplicant.conf editen en daar je Wifi naam en wachtwoord invullen. Je kunt ook meerdere netwerken tegelijk in dat bestand opslaan. De Pi zal dan verbinden met het bekende netwerk wat hij het eerste ziet.

Hieronder staat een voorbeeldje van de inhoud van zo'n bestand:

network={
    ssid="MyWifiNetwerk"
    scan_ssid=0
    key_mgmt=WPA-PSK
    psk="MijnSuperGeheimWachtwoord"
    id_str="Voorbeeld"
}

Mijn Image Downloaden

Als je mijn image gebruikt, die je hier kunt downloaden, dan kun je meteen gebruik maken van SSH. Maar dan wel alleen als je de Raspberry Pi met een ethernet kabel hebt aangesloten. Als je een Raspberry Pi hebt met een ethernet aansluiting dan kun je ook via het netwerk de Wifi instellen, als je Pi Wifi heeft natuurlijk. Na het instellen van de Wifi kun je de ethernetkabel weer los nemen.

De SD Kaart Beschrijven

Tegenwoordig is het ook mogelijk om SSH en Wifi via een slim trucje te activeren. Dat is overigens alleen maar mogelijk als je de Raspberry Pi nog nooit hebt opgestart vanaf die SD kaart. Plaats daarvoor de SD kaart van de Raspberry Pi in een normale computer. Dat mag zelfs een Windows computer zijn.
Op een Windows machine zie je maar een kleine partitie, de boot partitie. Op Linux machines zie je twee partities. Ook daar moet je de boot partitie hebben.
Zet een leeg bestand met de naam ssh in die boot partitie. Plaats de SD kaart daarna weer terug in de Raspberry Pi en start hem op. Nu zal de Raspberry Pi de SSH server voor jou starten en het tijdelijke ssh bestand weer van de boot partitie verwijderen.

Zo kun je ook het bestand wpa_supplicant.conf in de boot partitie plaatsen. De inhoud van dat bestand prepareer je weer zoals hierboven is beschreven. Nadat de Raspberry Pi met de geprepareerde SD kaart is opgestart wordt het bestand wpa_supplicant.conf verplaatst naar de juiste plaats op de voor Windows onleesbare partitie.

Alleen op Linux machines kun je het /etc/wpa_supplicant/wpa_supplicant.conf bestand direct editen op de tweede partitie van de SD kaart. Op een Windows computer lukt dat niet, omdat Windows niet compatibel is met Linux bestandssystemen. Editen van de file doe je overigens wel weer als sudo.

Nadat je de Raspberry Pi hebt gestart hoef je alleen nog maar uit te vinden welk IP adres hij heeft gekregen. Hoe je dat doet staat elders beschreven.