Inhoudsopgave:

Draaien zonder scherm/display (zonder hoofd) op Raspberry Pi of andere op Linux/unix gebaseerde computers - Ajarnpa
Draaien zonder scherm/display (zonder hoofd) op Raspberry Pi of andere op Linux/unix gebaseerde computers - Ajarnpa

Video: Draaien zonder scherm/display (zonder hoofd) op Raspberry Pi of andere op Linux/unix gebaseerde computers - Ajarnpa

Video: Draaien zonder scherm/display (zonder hoofd) op Raspberry Pi of andere op Linux/unix gebaseerde computers - Ajarnpa
Video: How to use MicroPython on Your Arduino? 2024, Juli-
Anonim
Draaien zonder scherm/display (zonder hoofd) op Raspberry Pi of andere op Linux/unix gebaseerde computers
Draaien zonder scherm/display (zonder hoofd) op Raspberry Pi of andere op Linux/unix gebaseerde computers

Wanneer de meeste mensen een Raspberry PI kopen, denken ze dat ze een computerscherm nodig hebben. Verspil uw geld niet aan onnodige computermonitoren en toetsenborden. Verspil geen tijd met het verplaatsen van toetsenborden en monitoren tussen computers. Bind een tv niet vast als deze niet nodig is. U kunt eenvoudig uw primaire computer gebruiken om er toegang toe te krijgen.

Headless (zonder display) Raspberry Pi of andere Unix-systemen draaien kan zeer nuttig zijn. Ik gebruik xWindows al vele jaren en het is geweldig als je grafische schermen nodig hebt in plaats van opdrachtregels. In het geval van robots is het vaak niet praktisch om een monitor te gebruiken omdat deze beweegt of te klein is voor een monitor. Raspberry PI's kunnen op batterijen werken en op locaties die het onpraktisch maken om een monitor te hebben. Het gebruik van SSH maakt lijncommando's mogelijk, maar er zijn grafische interfaces die handig zijn.

Deze instructable is geen xWindows-zelfstudie. Het geeft je voldoende informatie om aan de slag te gaan. Laat u niet afschrikken door de terminologie en het jargon. Het is eigenlijk vrij eenvoudig om basis xWindows te gebruiken.

Stap 1: Terminologie die verwarrend kan lijken

U kunt dit gedeelte waarschijnlijk overslaan. Raadpleeg dit gedeelte als ik woorden of concepten gebruik die u wilt begrijpen. Deze basisconcepten kunnen u interesseren of kunnen nuttig zijn bij het bespreken van een probleem dat u ondervindt.

Laat je niet intimideren door de hoeveelheid informatie hier

Er is terminologie en jargon dat erg verwarrend aanvoelt. Het is niet nodig, tenzij je om hulp moet vragen, zodat je de juiste vraag kunt stellen. Het is eenvoudig in te stellen en te gebruiken. Onthoud de terminologie niet. Raak gewoon vertrouwd met de concepten.

Wat betekent "zonder hoofd rennen"?

Headless draaien is waar een computer draait zonder beeldscherm, toetsenbord en muis. Soms noemen we dit een server. Het is een computer die op afstand wordt gebruikt in plaats van er rechtstreeks toegang toe te krijgen vanaf het toetsenbord en scherm. Het draaien van een headless Microsoft Windows betekent dat u geen grafische programma's kunt uitvoeren. bijv. Microsoft Windows vereist een beeldscherm, dus het vereist een beeldscherm. Aan de andere kant werkt het draaien van Microsoft Word op een headless Unix-systeem prima. Door xWindows op Unix te gebruiken, kunt u grafische programma's uitvoeren vanaf externe computers.

xWindows

Aangezien Microsoft "Windows" eigendom is van Microsoft, kan Unix deze term niet gemakkelijk gebruiken. In plaats daarvan hebben we "xWindows" om dezelfde functionaliteit te bieden, maar het is niet gebonden aan een beeldscherm op dezelfde computer. Microsoft Windows-bureaublad, Unix xWindows-bureaublad en Apples-bureaublad hebben allemaal een bureaublad met een startmenu en pictogrammen. Als u op een pictogram of het startmenu klikt, wordt een venster geopend.

xWindows draait op Unix

Als u geen Microsoft Windows of Apple gebruikt, gebruikt u waarschijnlijk Unix. Android, Raspbian, Linux, Solaris, Noobs, Ubuntu en nog veel meer zijn veelvoorkomende smaken van Unix. De meeste van deze Unix-smaken worden geleverd met xWindows geïnstalleerd. Android is de uitzondering omdat het draait op computers die zo klein zijn dat xWindows te traag is.

Bureaublad (xServer)

Wanneer u een venster opent (op elk platform), moet dit op een bureaublad worden weergegeven. Voor een xWindows wordt deze desktop een xServer genoemd met een toetsenbord, muis en beeldscherm. In feite zullen meerdere gebruikers elk een xServer (met beeldscherm, toetsenbord en muis) op computers in het netwerk hebben. Ze kunnen xWindows-clients gebruiken op elke computer in dat netwerk.

Microsoft Windows en Apple hebben hetzelfde desktop-/vensterconcept. Het grote verschil is dat de desktop op dezelfde computer moet staan als de Window. Ze kunnen maar 1 gebruiker hebben die toegang heeft tot de programma's via open vensters.

Stap 2: Schakel SSH in en configureer netwerken

Het installeren van het besturingssysteem (vb. Linux, Raspbian, …) vereist een monitor, toetsenbord en muis. Voor een Raspberry PI kun je hier tijdelijk je tv voor gebruiken en de goedkoopste USB toetsenbord/muis die je kunt vinden (of lenen). Andere computers hebben mogelijk tijdelijk specifieke hardware nodig tijdens de installatie. Zodra je SSH hebt ingeschakeld en netwerken hebt geconfigureerd, zou deze apparatuur niet langer nodig moeten zijn.

Voor Raspbian en Noobs is dit eenvoudig te doen tijdens de installatie. Om deze wijzigingen na de installatie aan te brengen, kunt u een regelopdrachtterminal openen en het commando "sudo raspi-config" uitvoeren. Momenteel kunt u met optie 2 (netwerken) netwerken configureren. Optie 5 (interfacing-opties) suboptie p2 SSH stelt u in staat om ssh in te schakelen. Deze kunnen veranderen met toekomstige releases.

Raadpleeg voor andere Unix-systemen de handleidingen voor deze configuratie-opties.

Zodra netwerken is ingeschakeld, moet u het IP-adres opslaan om later te gebruiken. Geef vanaf de regelopdrachtterminal de opdracht "sudo ifconfig". Je bent geïnteresseerd in Eth0 (bekabelde verbinding) of wlan0 (wifi verbinding). De "inet"-waarde heeft 4 cijfers gescheiden door punten (bijv. #.#.#.# - in mijn geval 192.168.1.4).

In een thuisomgeving blijft dit IP-adres waarschijnlijk hetzelfde. Er zijn echter situaties waarin dit kan veranderen. Als je dit probleem hebt waar het verandert, kun je ofwel een statisch IP-adres instellen in je router (zie routerdocumentatie), het nieuwe IP-adres opzoeken in de router (zie routerdocumentatie) of een monitor/toetsenbord aansluiten en het genoemde ifconfig-commando geven bovenstaand.

Stap 3: Installeer een desktop (xServer) op andere computers die toegang hebben tot XWindows-clients op de headless computer

Voor Windows geef ik de voorkeur aan Mobaxterm, dat gratis is voor niet-zakelijk gebruik. Laat je niet intimideren door alle opties. Het heeft veel functionaliteit die je niet nodig hebt.

Voor Unix-systemen wordt het bureaublad meestal uitgevoerd op het lokale beeldscherm van de computer. Zo ja, dan heb je deze al geïnstalleerd.

Stap 4: Stel de XServer in

Stel de XServer in
Stel de XServer in
Stel de XServer in
Stel de XServer in

Microsoft Windows met Mobaxterm:

Om een desktopsessie aan te maken, klikt u op het sessiepictogram gevolgd door een klik op het SSH-pictogram. Voer in het veld host op afstand het IP-adres van hierboven in. klik op "specificeer gebruikersnaam" om het gebruikers-ID in te schakelen en voer het gebruikers-ID in het veld ernaast in (bijv. "pi" voor Raspbian). Klik op het tabblad "geavanceerde SSH-instellingen" en selecteer in het veld externe omgeving de desktopomgeving die op die machine is geïnstalleerd (bijv. lxde desktop voor Raspian). Klik op ok om de wijzigingen op te slaan. U kunt nu op deze sessie klikken om het bureaublad voor die computer te openen. De eerste keer wordt u gevraagd om het wachtwoord op te slaan. Nadat u het wachtwoord heeft opgeslagen, wordt u niet meer om het wachtwoord gevraagd.

Unix xServer

ssh pi@#.#.#.# "DISPLAY=$DISPLAY nohup xxxxx" of sudo gebruiken om root-toegang te krijgen: ssh pi@#.#.#.# "DISPLAY=$DISPLAY nohup sudo -E xxxxx" waarbij #. #.#.# is het IP-adres van de xWindows-clientcomputer. waarbij pi het gebruikers-ID is. xxxxx is het commando (bijv. lxterminal voor een regelcommandoterminal).

Ik stel voor dat je naar ssh-keygen kijkt om de wachtwoordvraag te elimineren.

Stap 5: Optioneel: de XServer Desktop samenvoegen met de Microsoft Windows Desktop in Mobaxterm

Optioneel: de XServer Desktop samenvoegen met de Microsoft Windows Desktop in Mobaxterm
Optioneel: de XServer Desktop samenvoegen met de Microsoft Windows Desktop in Mobaxterm
Optioneel: de XServer Desktop samenvoegen met de Microsoft Windows Desktop in Mobaxterm
Optioneel: de XServer Desktop samenvoegen met de Microsoft Windows Desktop in Mobaxterm
Optioneel: de XServer Desktop samenvoegen met de Microsoft Windows Desktop in Mobaxterm
Optioneel: de XServer Desktop samenvoegen met de Microsoft Windows Desktop in Mobaxterm

De beste optie met Mobaxterm is het integreren van de xServer-desktop in de Microsoft Windows-desktop. Knippen en plakken tussen omgevingen is eenvoudig. U kunt eenvoudig schakelen tussen alle vensters, ongeacht het xServer-venster (bijvoorbeeld alt-tab). Het heeft minder overhead.

Als u echter het xServer-bureaublad verwijdert, moet u het startmenu van dat bureaublad toevoegen. Voor lxde (zoals het geval is voor Raspbian) is dit lxpanel. Voor andere desktops moet u onderzoeken hoe ze hun startmenu implementeren, zodat u programma's op de externe computer kunt starten.

Mobaxterm multi-window-modus instellen Klik op Instellingen -> configuratie. Selecteer het tabblad X11 en selecteer "multiwindow-modus" in de weergavemodus van de X11-server. Klik op OK om op te slaan.

De xServer Desktop blijft werken in een enkel venster zolang u de sessiedefinitie niet wijzigt.

Wijzig de sessiedefinitie om het startmenu uit te voeren in plaats van het bureaublad

Klik met de rechtermuisknop op de sessie en selecteer sessie bewerken. Klik op het tabblad Geavanceerde SSH-instellingen. Wijzig de externe omgeving in Interactive Shell in plaats van het bureaublad dat u hebt geselecteerd. Stel de opdracht execute in om het startmenu voor de xServer-desktop uit te voeren (specificeer bijvoorbeeld "lxpanel" voor Raspberry Pi omdat dit het startmenu is voor lxde). Klik op OK om de wijzigingen op te slaan.

Verplaats en wijzig de grootte van het nieuwe startmenu Wanneer je muis over dit nieuwe startmenu gaat, zal het uitvouwen wat vervelend is als je iets probeert te doen met Microsoft Windows. Het is uiterst belangrijk om het op een zelden gebruikte locatie te plaatsen.

Hier zijn de instructies voor lxpanel (zoals in Raspbian)

Voor andere desktops moet u bepalen hoe u deze wijzigingen aanbrengt.

Dubbelklik op de sessie om lxpanel te starten. Hiermee wordt een startbalk voor het externe xWindows-systeem bovenaan uw scherm toegevoegd. Rechtermuis op deze startbalk en klik op "paneelinstellingen". Selecteer in deze instellingen "links" in rand en "midden" in uitlijning. Verander de hoogte in 20% en de breedte in 20 pixels. Klik op het tabblad geavanceerd. Zorg ervoor dat minimaliseren is aangevinkt en verander de grootte wanneer geminimaliseerd naar 2 pixels. Klik op sluiten om de wijzigingen toe te passen.

Wanneer het is geminimaliseerd, is het nieuwe startmenu nauwelijks merkbaar links in het midden van het Windows-bureaublad. Het zal een heel dunne zwarte inkeping zijn. Als je er met je muis over beweegt, wordt het groter. Het toepassingenmenu is het bovenste pictogram. U kunt dit gebruiken om naar behoefte nieuwe vensters en externe toepassingen te openen.

Stap 6: Stel geen root-wachtwoord in of log niet in als root

Onervaren gebruikers stellen het ROOT-gebruikerswachtwoord in en gebruiken ROOT rechtstreeks (meestal altijd). Als je niet de ervaring hebt om te weten hoe je de alternatieven moet gebruiken, moet je niet inloggen met een root. Root kan extreem gevaarlijk zijn en mag alleen worden gebruikt als het echt nodig is.

Ik heb nooit het ROOT-gebruikerswachtwoord ingesteld. In plaats daarvan gebruik ik een van de vele alternatieven en sluit ik ze onmiddellijk wanneer ik de ROOT-autoriteit niet langer nodig heb.

1 commando uitvoeren met root-machtiging

sudo xxxxx (bijv. sudo apt-get install gparted)

Verschillende opdrachten uitvoeren met root-machtiging in een regelopdrachtterminal

sudo su

Gebruik de opdracht exit om terug te keren naar de normale gebruikersprompt.

Grafische programma's uitvoeren met root-machtiging

sudo -E xxxxx (bijv. sudo -E gparted)

Raspberry Pi "root-terminal" vereist beheerderswachtwoord

Stel daarom niet het ROOT-wachtwoord in.

Gebruik in plaats daarvan de hierboven genoemde opdracht "sudo -E su". Als alternatief kunt u "root-terminal" op de startbalk wijzigen. Om de opdracht voor het toepassingsmenu te wijzigen -> systeemhulpmiddelen -> root-terminal. Als u met de rechtermuisknop op "root-terminal" klikt en eigenschappen selecteert, kunt u het tabblad "bureaubladinvoer" selecteren. Vervang het commando door "lxterminal -e sudo -E su". Hierdoor wordt een regelopdrachtprompt geopend als rootgebruiker en kunt u grafische opdrachten uitvoeren omdat de DISPLAY-variabele behouden blijft.

"Raspberry Pi-configuratie" vereist beheerderswachtwoord

Stel daarom het wachtwoord voor root niet in.

Wijzig in plaats daarvan de opdracht voor het toepassingsmenu -> voorkeuren -> Raspberry Pi-configuratie. Als u met de rechtermuisknop op "Raspberry Pi-configuratie" klikt en eigenschappen selecteert, kunt u het tabblad "bureaubladinvoer" selecteren. Controleer of de opdracht moet eindigen met sudo -A rc_gui. Als dit het geval is, vervang dan het hele commando door "sudo -E rc_gui".

Voor "Voorkeurstoepassingen" is een beheerderswachtwoord vereistStel daarom het wachtwoord voor root niet in.

Wijzig in plaats daarvan de opdracht voor het applicatiemenu -> voorkeuren -> Voorkeursapplicaties. Als u met de rechtermuisknop op "Voorkeurstoepassingen" klikt en eigenschappen selecteert, kunt u het tabblad "bureaubladinvoer" selecteren. Controleer of de opdracht moet eindigen met sudo -A rp-prefapps. Als dit het geval is, vervang dan de hele opdracht door "sudo -E rp-prefapps".

E optie voor sudo

De -E dwingt sudo om alle omgevingsvariabelen door te geven. De omgevingsvariabele DISPLAY moet behouden blijven voor grafische commando's, zodat ze weten hoe ze moeten communiceren met de xServer. Waarschuwing: de andere variabelen kunnen conflicteren met de nieuwe rootomgeving die wordt gebouwd. Alleen de DISPLAY-variabele doorgeven zou een veel betere oplossing zijn.

Aanbevolen: