Inhaltsverzeichnis:

Laufen ohne Bildschirm / Display (headless) auf Raspberry Pi oder anderen Linux / Unix-basierten Computern - Gunook
Laufen ohne Bildschirm / Display (headless) auf Raspberry Pi oder anderen Linux / Unix-basierten Computern - Gunook

Video: Laufen ohne Bildschirm / Display (headless) auf Raspberry Pi oder anderen Linux / Unix-basierten Computern - Gunook

Video: Laufen ohne Bildschirm / Display (headless) auf Raspberry Pi oder anderen Linux / Unix-basierten Computern - Gunook
Video: RaspberryPi 4 von M.2 SSD booten - Migration + Gehäuse-Lösung 2024, November
Anonim
Laufen ohne Bildschirm / Display (headless) auf Raspberry Pi oder anderen Linux/Unix-basierten Computern
Laufen ohne Bildschirm / Display (headless) auf Raspberry Pi oder anderen Linux/Unix-basierten Computern

Wenn die meisten Leute einen Raspberry PI kaufen, denken sie, dass sie einen Computerbildschirm brauchen. Verschwenden Sie Ihr Geld nicht für unnötige Computermonitore und Tastaturen. Verschwenden Sie keine Zeit damit, Tastaturen und Monitore zwischen Computern zu verschieben. Binden Sie einen Fernseher nicht zusammen, wenn er nicht benötigt wird. Sie können ganz einfach Ihren primären Computer verwenden, um darauf zuzugreifen.

Headless (ohne Display) Raspberry Pi oder andere Unix-Systeme zu betreiben, kann äußerst nützlich sein. Ich benutze xWindows seit vielen Jahren und es ist großartig, wenn Sie grafische Anzeigen anstelle von Befehlszeilen benötigen. Bei Robotern ist es oft nicht praktikabel, einen Monitor zu verwenden, weil er sich bewegt oder für einen Monitor zu klein ist. Raspberry PIs können mit Batterien und an Orten betrieben werden, die einen Monitor unpraktisch machen. Die Verwendung von SSH ermöglicht Zeilenbefehle, aber es gibt grafische Oberflächen, die nützlich sind.

Dieses anweisbare ist kein xWindows-Tutorial. Es gibt Ihnen genug Informationen, um loszulegen. Lassen Sie sich nicht von Terminologie und Jargon einschüchtern. Es ist eigentlich ganz einfach, grundlegendes xWindows zu verwenden.

Schritt 1: Terminologie, die verwirrend erscheinen kann

Sie können diesen Abschnitt wahrscheinlich überspringen. Lesen Sie diesen Abschnitt, wenn ich Wörter oder Konzepte verwende, die Sie verstehen möchten. Diese grundlegenden Konzepte können Sie interessieren oder bei der Diskussion eines Problems hilfreich sein.

Lassen Sie sich von der Fülle an Informationen hier nicht einschüchtern

Es gibt Terminologie und Jargon, die sehr verwirrend wirken. Es ist nicht erforderlich, es sei denn, Sie müssen um Hilfe bitten, damit Sie die richtige Frage stellen können. Es ist einfach einzurichten und zu verwenden. Merken Sie sich die Terminologie nicht. Machen Sie sich einfach mit den Konzepten vertraut.

Was bedeutet "kopflos laufen"?

Beim Headless-Laufen läuft ein Computer ohne Display, Tastatur und Maus. Manchmal werden wir dies als Server bezeichnen. Es ist ein Computer, der aus der Ferne verwendet wird, anstatt direkt über Tastatur und Bildschirm darauf zuzugreifen. Das Ausführen eines kopflosen Microsoft Windows bedeutet, dass Sie keine grafischen Programme ausführen können. Z. B. Microsoft Windows erfordert eine Anzeige, daher ist eine Anzeige erforderlich. Auf der anderen Seite funktioniert das Ausführen von Microsoft Word auf einem kopflosen Unix-System problemlos. Wenn Sie xWindows unter Unix verwenden, können Sie grafische Programme von entfernten Computern ausführen.

xWindows

Da Microsoft "Windows" Eigentum von Microsoft ist, kann Unix diesen Begriff nicht ohne weiteres verwenden. Stattdessen haben wir "xWindows", um die gleiche Funktionalität bereitzustellen, aber es ist nicht an eine Anzeige auf demselben Computer gebunden. Microsoft Windows Desktop, Unix xWindows Desktop und Apples Desktop haben alle einen Desktop mit einem Startmenü und Symbolen. Ein Klick auf ein Symbol oder das Startmenü öffnet ein Fenster.

xWindows läuft unter Unix

Wenn Sie nicht mit Microsoft Windows oder Apple arbeiten, verwenden Sie wahrscheinlich Unix. Android, Raspbian, Linux, Solaris, Noobs, Ubuntu und viele mehr sind gängige Unix-Varianten. Die meisten dieser Unix-Varianten werden mit installiertem xWindows geliefert. Android ist die Ausnahme, da es auf Computern läuft, die so klein sind, dass xWindows zu langsam ist.

Desktop (xServer)

Wenn Sie ein Fenster (auf einer beliebigen Plattform) öffnen, muss es auf einem Desktop angezeigt werden. Bei einem xWindows wird dieser Desktop als xServer bezeichnet, der über eine Tastatur, eine Maus und ein Display verfügt. Tatsächlich werden mehrere Benutzer jeweils einen xServer (mit Display, Tastatur und Maus) auf Computern im Netzwerk haben. Sie können xWindows-Clients auf jedem Computer in diesem Netzwerk verwenden.

Microsoft Windows und Apple haben das gleiche Desktop-/Fensterkonzept. Der große Unterschied besteht darin, dass sich der Desktop auf demselben Computer wie das Fenster befinden muss. Sie können nur einen Benutzer haben, der über geöffnete Fenster auf die Programme zugreift.

Schritt 2: SSH aktivieren und Netzwerk konfigurieren

Die Installation des Betriebssystems (z. B. Linux, Raspbian, …) erfordert einen Monitor, eine Tastatur und eine Maus. Für einen Raspberry PI können Sie dafür vorübergehend Ihren Fernseher und die günstigste USB-Tastatur / -Maus verwenden, die Sie finden (oder ausleihen) können. Andere Computer benötigen während der Installation möglicherweise vorübergehend bestimmte Hardware. Sobald Sie SSH aktiviert und das Netzwerk konfiguriert haben, sollten diese Geräte nicht mehr benötigt werden.

Bei Raspbian und Noobs ist dies einfach während der Installation möglich. Um diese Änderungen nach der Installation vorzunehmen, können Sie ein Zeilenbefehlsterminal öffnen und den Befehl "sudo raspi-config" ausführen. Derzeit können Sie mit Option 2 (Netzwerk) das Netzwerk konfigurieren. Option 5 (Schnittstellenoptionen) Unteroption p2 SSH ermöglicht Ihnen die Aktivierung von ssh. Diese können sich mit zukünftigen Versionen ändern.

Bei anderen Unix-Systemen finden Sie diese Konfigurationsoptionen in den Handbüchern.

Sobald das Netzwerk aktiviert ist, müssen Sie die IP-Adresse für die spätere Verwendung speichern. Geben Sie über das Zeilenbefehlsterminal den Befehl "sudo ifconfig" aus. Sie interessieren sich für Eth0 (kabelgebundene Verbindung) oder wlan0 (WLAN-Verbindung). Der "inet"-Wert hat 4 durch Punkte getrennte Zahlen (z. B. #.#.#.# - in meinem Fall 192.168.1.4).

In einer Heimumgebung wird diese IP-Adresse wahrscheinlich gleich bleiben. Es gibt jedoch Situationen, in denen es sich ändern könnte. Wenn Sie dieses Problem dort haben, wo es sich ändert, können Sie entweder eine statische IP in Ihrem Router einrichten (siehe Router-Dokumentation), die neue IP-Adresse im Router suchen (siehe Router-Dokumentation) oder einen Monitor / eine Tastatur anschließen und den erwähnten ifconfig-Befehl ausführen Oben.

Schritt 3: Installieren Sie einen Desktop (xServer) auf anderen Computern, die auf XWindows-Clients auf dem Headless-Computer zugreifen

Für Windows bevorzuge ich Mobaxterm, das für die nicht geschäftliche Nutzung kostenlos ist. Lassen Sie sich nicht von all den Möglichkeiten einschüchtern. Es hat viele Funktionen, die Sie nicht brauchen.

Bei Unix-Systemen wird der Desktop normalerweise auf der lokalen Anzeige des Computers ausgeführt. Wenn ja, haben Sie es bereits installiert.

Schritt 4: Einrichten des XServers

XServer einrichten
XServer einrichten
XServer einrichten
XServer einrichten

Microsoft Windows mit Mobaxterm:

Um eine Desktop-Sitzung zu erstellen, klicken Sie auf das Sitzungssymbol und anschließend auf das SSH-Symbol. Geben Sie im Feld Remote-Host die IP-Adresse von oben ein. Klicken Sie auf "Benutzername angeben", um das Feld "Benutzer-ID" zu aktivieren, und geben Sie die Benutzer-ID in das Feld daneben ein (z. B. "pi" für Raspbian). Klicken Sie auf die Registerkarte "Erweiterte SSH-Einstellungen" und wählen Sie im Feld Remote-Umgebung die auf diesem Computer installierte Desktop-Umgebung aus (z. B. lxde-Desktop für Raspian). Klicken Sie auf OK, um die Änderungen zu speichern. Sie können nun auf diese Sitzung klicken, um den Desktop für diesen Computer zu öffnen. Beim ersten Mal werden Sie aufgefordert, das Passwort zu speichern. Nach dem Speichern des Passworts werden Sie nicht mehr nach dem Passwort gefragt.

Unix xServer

ssh pi@#.#.#.# "DISPLAY=$DISPLAY nohup xxxxx" oder sudo verwenden, um Root-Zugriff zu erhalten: ssh pi@#.#.#.# "DISPLAY=$DISPLAY nohup sudo -E xxxxx" wobei #. #.#.# ist die IP-Adresse des xWindows-Client-Computers. wobei pi die Benutzerkennung ist. xxxxx ist der Befehl (z. B. lxterminal für ein Zeilenbefehlsterminal).

Ich schlage vor, dass Sie sich ssh-keygen ansehen, um die Passwortabfrage zu beseitigen.

Schritt 5: Optional: Zusammenführen des XServer-Desktops mit dem Microsoft Windows-Desktop in Mobaxterm

Optional: Zusammenführen des XServer-Desktops mit dem Microsoft Windows-Desktop in Mobaxterm
Optional: Zusammenführen des XServer-Desktops mit dem Microsoft Windows-Desktop in Mobaxterm
Optional: Zusammenführen des XServer-Desktops mit dem Microsoft Windows-Desktop in Mobaxterm
Optional: Zusammenführen des XServer-Desktops mit dem Microsoft Windows-Desktop in Mobaxterm
Optional: Zusammenführen des XServer-Desktops mit dem Microsoft Windows-Desktop in Mobaxterm
Optional: Zusammenführen des XServer-Desktops mit dem Microsoft Windows-Desktop in Mobaxterm

Die beste Option mit Mobaxterm ist die Integration des xServer-Desktops in den Microsoft Windows-Desktop. Das Ausschneiden und Einfügen zwischen Umgebungen ist einfach. Sie können problemlos zwischen allen Fenstern wechseln, unabhängig vom xServer-Fenster (z. B. Alt-Tab). Es hat weniger Overhead.

Wenn Sie jedoch den xServer-Desktop entfernen, müssen Sie das Startmenü von diesem Desktop hinzufügen. Bei lxde (wie bei Raspbian) ist dies lxpanel. Bei anderen Desktops müssen Sie untersuchen, wie sie ihr Startmenü implementieren, damit Sie Programme auf dem Remote-Computer starten können.

Mobaxterm Multi-Window-Modus einrichten Klicken Sie auf Einstellungen -> Konfiguration. Wählen Sie die Registerkarte X11 und wählen Sie im Anzeigemodus des X11-Servers "Multiwindow-Modus". Klicken Sie zum Speichern auf OK.

Der xServer Desktop arbeitet weiterhin in einem einzigen Fenster, solange Sie die Sitzungsdefinition nicht ändern.

Ändern Sie die Sitzungsdefinition, um das Startmenü anstelle des Desktops auszuführen

Klicken Sie mit der rechten Maustaste auf die Sitzung und wählen Sie Sitzung bearbeiten. Klicken Sie auf die Registerkarte Erweiterte SSH-Einstellungen. Ändern Sie die Remote-Umgebung in Interactive Shell anstelle des ausgewählten Desktops. Setzen Sie den Befehl execute, um das Startmenü für den xServer-Desktop auszuführen (z. B. geben Sie "lxpanel" für Raspberry Pi an, da dies das Startmenü für lxde ist). Klicken Sie auf OK, um die Änderungen zu speichern.

Verschieben und skalieren Sie das neue Startmenü Wenn Sie mit der Maus über dieses neue Startmenü fahren, wird es erweitert, was ärgerlich ist, wenn Sie versuchen, etwas mit Microsoft Windows zu tun. Die Positionierung an einem selten genutzten Ort ist äußerst wichtig.

Hier ist die Anleitung für lxpanel (wie in Raspbian)

Bei anderen Desktops müssen Sie festlegen, wie diese Änderungen vorgenommen werden.

Doppelklicken Sie auf die Sitzung, um lxpanel zu starten. Dadurch wird oben auf Ihrem Bildschirm eine Startleiste für das Remote-xWindows-System hinzugefügt. Klicken Sie mit der rechten Maustaste auf diese Startleiste und klicken Sie auf "Panel-Einstellungen". Wählen Sie in diesen Einstellungen "links" in der Kante und "Mitte" in der Ausrichtung. Ändern Sie die Höhe auf 20 % und die Breite auf 20 Pixel. Klicken Sie auf die Registerkarte Erweitert. Stellen Sie sicher, dass Minimieren aktiviert ist und ändern Sie die Größe, wenn sie auf 2 Pixel minimiert ist. Klicken Sie auf Schließen, um die Änderungen zu übernehmen.

Im minimierten Zustand ist das neue Startmenü in der linken Mitte des Windows-Desktops kaum wahrnehmbar. Es wird eine sehr dünne schwarze Vertiefung sein. Wenn Sie mit der Maus darüber fahren, wird es erweitert. Das Anwendungsmenü ist das oberste Symbol. Sie können dies verwenden, um nach Bedarf neue Fenster und Remote-Anwendungen zu öffnen.

Schritt 6: Legen Sie kein Root-Passwort fest oder melden Sie sich als Root an

Unerfahrene Benutzer setzen das ROOT-Benutzerpasswort und verwenden ROOT direkt (normalerweise die ganze Zeit). Wenn Sie nicht über die Erfahrung verfügen, die Alternativen zu verwenden, sollten Sie sich nicht als Root anmelden. Root kann extrem gefährlich sein und sollte nur verwendet werden, wenn es wirklich benötigt wird.

Ich habe das ROOT-Benutzerkennwort nie festgelegt. Stattdessen nutze ich eine der vielen Alternativen und schließe sie sofort, wenn ich die ROOT-Berechtigung nicht mehr benötige.

1 Befehl mit Root-Berechtigung ausführen

sudo xxxxx (z. B. sudo apt-get install gparted)

Ausführen mehrerer Befehle mit Root-Berechtigung in einem Zeilenbefehlsterminal

sudo su

Verwenden Sie den Befehl exit, um zur normalen Benutzereingabeaufforderung zurückzukehren.

Ausführen von grafischen Programmen mit Root-Berechtigung

sudo -E xxxxx (z. B. sudo -E gparted)

Raspberry Pi "Root-Terminal" erfordert Administrator-Passwort

Legen Sie deshalb kein ROOT-Passwort fest.

Verwenden Sie stattdessen den oben erwähnten Befehl "sudo -E su". Alternativ können Sie "Root-Terminal" in der Startleiste ändern. Um den Befehl für das Anwendungsmenü -> Systemtools -> Root-Terminal zu ändern. Wenn Sie mit der rechten Maustaste auf "Root-Terminal" klicken und Eigenschaften auswählen, können Sie die Registerkarte "Desktop-Eintrag" auswählen. Ersetzen Sie den Befehl durch "lxterminal -e sudo -E su". Dadurch wird eine Zeileneingabeaufforderung als Root-Benutzer geöffnet und Sie können grafische Befehle ausführen, da die DISPLAY-Variable beibehalten wird.

"Raspberry Pi Configuration" erfordert ein Administratorpasswort

Legen Sie deshalb kein Passwort für root fest.

Ändern Sie stattdessen den Befehl für das Anwendungsmenü -> Einstellungen -> Raspberry Pi-Konfiguration. Wenn Sie mit der rechten Maustaste auf "Raspberry Pi Configuration" klicken und Eigenschaften auswählen, können Sie die Registerkarte "Desktop-Eintrag" auswählen. Stellen Sie sicher, dass der Befehl mit sudo -A rc_gui enden sollte. Wenn dies der Fall ist, ersetzen Sie den gesamten Befehl durch "sudo -E rc_gui".

"Bevorzugte Anwendungen" erfordert ein AdministratorkennwortSetzen Sie deshalb kein Kennwort für root ein.

Ändern Sie stattdessen den Befehl für das Anwendungsmenü -> Einstellungen -> Bevorzugte Anwendungen. Wenn Sie mit der rechten Maustaste auf "Bevorzugte Anwendungen" klicken und Eigenschaften auswählen, können Sie die Registerkarte "Desktop-Eintrag" auswählen. Stellen Sie sicher, dass der Befehl mit sudo -A rp-prefapps enden sollte. Wenn dies der Fall ist, ersetzen Sie den gesamten Befehl durch "sudo -E rp-prefapps".

E-Option für sudo

Das -E zwingt sudo, alle Umgebungsvariablen zu übergeben. Für grafische Befehle muss die Umgebungsvariable DISPLAY beibehalten werden, damit diese mit dem xServer kommunizieren können. Warnung: Die anderen Variablen könnten mit der neu erstellten Root-Umgebung in Konflikt geraten. Die Übergabe nur der DISPLAY-Variablen wäre eine weitaus bessere Lösung.

Empfohlen: