Anstatt Ihren Raspberry Pi mit Bildschirm, Tastatur und Maus zu verbinden, können Sie Ihre Raspbian-Installation auch über eine Netzwerkverbindung von Ihrem Notebook/PC aus fernsteuern. Solange Sie keine grafischen Programme benötigen, gelingt das am effizientesten und sichersten mittels SSH. Wenn Sie hingegen auch die grafische Benutzeroberfläche sehen und bedienen möchten, müssen Sie das Grafiksystem sowie die Interaktion mit Tastatur und Maus auf einen anderen Rechner quasi umleiten. Zu diesem Zweck haben wir Ihnen hier im Blog VNC als Lösung vorgestellt.
Es muss nicht immer VNC sein…
Ein Leser unseres Buchs hat mich kürzlich auf eine viel einfachere Alternative aufmerksam gemacht, die ich in meiner auf Unix/Linux fokussierten Sicht übersehen habe: Das Remote Desktop Protocol (RDP) ist ein von Microsoft entwickeltes Protokoll zur Darstellung eines Bildschirminhalts sowie zur Steuerung eines über das Netzwerk erreichbaren Computers. Obwohl dieses Protokoll zur Steuerung von Windows-Rechner gedacht ist, wird es auch von Linux unterstützt.
(Aktualisiert: 31.3.2017, 18.3.3021)
xrdp installieren
Die simple Installation von xrdp
macht Ihren Raspberry Pi zu einem RDP-Server:
sudo apt-get remove realvnc-vnc-server
sudo apt-get install xrdp
Wenn Sie sich im Detail dafür interessieren, wodurch sich VNC und RDP unterscheiden, werfen Sie einen Blick auf die folgenden Seiten:
http://blog.codinghorror.com/vnc-vs-remote-desktop
http://superuser.com/questions/32495
Update März 2017: Bei aktuellen Raspbian-Versionen ist standardmäßig das Paket realvnc-vnc-server
installiert. Dieses Paket ist inkompatibel zu xrdp
und führt dazu, dass beim Versuch, eine Verbindung herzustellen, der nichts-sagende Fehler problem — error connecting auftritt. Abhilfe: Sie müssen zuerst realvnc-vnc-server
deinstallieren und dann xrdp
(neu) installieren. Also:
sudo apt-get remove xrdp realvnc-vnc-server
sudo apt-get install xrdp
Bei der Installation von xrdp
wird dann automatisch das Paket vnc4server
installiert. Das ist ein anderer VNC-Server, der kompatibel zu xrdp
ist. Quelle: raspberrypi.stackexchange.com
Update März 2021: Wenn Sie xrdp unter Raspberry Pi OS einrichten, funktionieren im Remote Desktop möglicherweise weder Tastatur noch Maus. Schuld daran ist erstaunlicherweise das deaktivierte Screen-Blanking. Abhilfe: Starten Sie Einstellungen / Raspberry-Pi-Konfiguration, wechseln Sie in das Dialogblatt Display und aktivieren Sie die Option Screen Blanking. Quelle: https://www.raspberrypi.org/forums/viewtopic.php?t=266698
RDP unter Windows nutzen
Nachdem die Installation unter Raspbian ein Kinderspiel war, erweist sich auch die Nutzung unter Windows als vollkommen unkompliziert: Um Ihren Raspberry Pi von Windows aus fernzusteuern, suchen Sie im Windows-Startmenü nach Remotedesktopverbindung. Im Dialog zum Verbindungsaufbau müssen Sie den Hostnamen des Raspberry Pi (im folgenden Screenshot pi2
) sowie den Login-Namen pi
angeben. Optional können Sie auch die gewünschte Auflösung und diverse andere Parameter festlegen.
Verbinden fragt nach dem Passwort für den Benutzer pi
und stellt dann die Verbindung her. Das RDP-Programm warnt, dass die Identität des Raspberry Pis nicht überprüft werden kann. Das liegt daran, dass das auf dem Raspberry Pi laufende Programm xrdp
nur eine relativ alte Version des RDP-Protokolls unterstützt. Mit Ja stellen Sie die Verbindung dennoch her. In einem neuen Fenster erscheint nun nach einigen Sekunden der vom Raspberry Pi vertraute Desktop.
Der Bildschirminhalt im RDP-Fenster stimmt nicht mit dem Monitorbild des Raspberry Pi überein. Das liegt daran, dass für die RDP-Verbindung ein eigener Desktop gestartet wird, der vom echten Desktop des Raspberry Pi unabhängig ist! RDP agiert also nicht wie eine Fernwartungs-Software, die den vorhandenen Bildschirminhalt dupliziert. Das hat den Vorteil, dass die Grafikauflösung jeder RDP-Session individuell eingestellt werden kann.
Wenn Sie das RDP-Fenster schließen, erscheint ein Hinweis, dass die RDP-Session damit nicht beendet wird. Alle von Ihnen auf dem Raspberry Pi gestarteten Programme laufen weiter. Sie können sich später neuerlich einloggen und weiterarbeiten. Wenn Sie das nicht wünschen, müssen Sie auf dem Raspberry-Pi-Desktopn Shutdown / Logout ausführen.
RDP unter macOS und Linux nutzen
Sie können die RDP-Verbindung zum Raspberry Pi auch von einem Rechner herstellen, der unter macOS oder Linux läuft. Unter macOS installieren Sie dazu im App Store das kostenlose Programm Microsoft Remote Desktop.
Linux stellt diverse RDP-Clients zur Auswahl. Unter Ubuntu ist das Programm remmina
installiert, das im Startmenü die Bezeichnung Zugriff auf entfernte Arbeitsflächen trägt. Zum Verbindungsaufbau wählen Sie das Protokoll RDP und geben den Hostnamen oder die IP-Adresse Ihres Raspberry Pi an.
Eine Alternative zu remmina
ist das Programm rdesktop
. Das gleichnamige Paket muss vor der ersten Verwendung installiert werden. Den Verbindungsaufbau initiieren Sie aus einem Terminal heraus mit rdesktop hostname
, wobei Sie den Hostnamen des Raspberry Pi angeben. Bei Bedarf können Sie die Auflösung für die RDP-Verbindung mit der Option -g
festlegen, also beispielsweise mit -g 1280x1024
.
Ordentlichen Maus-Cursor einstellen
Im Remote-Desktop-Fenster kommt standardmäßig ein häßlicher, X-förmiger Maus-Cursor zum Einsatz. Damit stattdessen der gewöhnliche Maus-Cursor zum Einsatz kommt, führen Sie als Benutzer pi
die folgenden Kommandos aus:
cd
echo "xsetroot -cursor_name left_ptr&" > .xsessionrc
chmod a+x .xsessionrc
sudo systemctl restart xrdp
Startet die Remote-Desktopverbindung dann zukünftig beim booten des Raspi automatisch?
Nein, gestartet wird nur ein Dämon, der wenig Speicherplatz benötigt. Erst wenn ein Client eine RDP-Verbindung herstellen will, wird der virtuelle Desktop eingerichtet. Das dauert dann eine Weile (ca. 5 bis 10 Sekunden). Der Desktop bleibt dann bestehen, bis er explizit durch Ausloggen beendet wird. In diesem Zeitraum erfolgt ein neuerlicher RDP-Verbindungsaufbau nahezu verzögerungsfrei.
bei mir ist ein anderer Desktop ich brauche allerdings den aller selben. wie kann ich das beheben?
ich habe gerade nicht die Zeit, das zu testen, aber
http://askubuntu.com/questions/235905/use-xrdp-to-connect-to-desktop-session
sollte weiterhelfen
Bei öffnet sich nach dieser Anleitung leider nur ein Auswahlmenü für verschiedene Module, vnc und rdp, von denen keines zu funktionieren scheint…