Der Raspberry Pi ist ein großartiger, erschwinglicher PC mit viel Leistung für seine Größe. Das macht sie für so viele Projekte in so vielen Bereichen geeignet. Es ist jedoch nicht immer einfach, genaue und vollständige Informationen zu finden. In der Code Clinic haben wir viele Stunden damit verbracht, einen funktionierenden VNC-Server einzurichten, der es uns ermöglicht, den Pi ohne Kopfhörer (d. h. ohne angeschlossene Tastatur und Maus) zu betreiben. Wir haben so viele Anleitungen gesehen und ausprobiert und scheinbar endlose Foren durchforstet, um VNC zum Laufen zu bringen, aber ohne Erfolg.
Jetzt, wo wir ein zuverlässiges System haben, wollten wir unser Wissen weitergeben.
Die Wahl des richtigen VNC-Servers
Es gibt mehrere Softwareprojekte, die VNC unterstützen. Welches für Ihre Bedürfnisse am besten geeignet ist, hängt davon ab, was Sie über VNC und letztendlich mit Ihrem Pi machen wollen. Wenn Sie speziell mit demselben Desktop arbeiten müssen, der auf einem an den Pi angeschlossenen Monitor angezeigt wird, werden Sie wahrscheinlich Schwierigkeiten haben, genaue Informationen darüber zu finden, wie Sie das tun können. Glücklicherweise haben wir eine Anleitung für Sie erstellt.
Wenn Sie einfach nur eine Verbindung zum Pi benötigen, um allgemeine Aufgaben zu erledigen und komplett ohne Header zu arbeiten, empfehlen wir Ihnen TightVNC, da es eine kostenlose Open-Source-Software ist, eine Komprimierung bietet, um über ein langsames Netzwerk (Internet) zu arbeiten, und in den Software-Repositories leicht verfügbar ist. Außerdem scheint er der zuverlässigste von allen zu sein. Um TightVNC zu installieren, lesen Sie bitte weiter.
Client-Server-Modell
VNC folgt dem traditionellen Client-Server-Modell. Die Server-Software läuft auf dem Pi, auf den zugegriffen werden soll, und die Client-Software läuft auf dem lokalen Rechner, der den Host steuern möchte. Der Server und der Client müssen nicht identisch sein (z. B. kann der Client RealVNC sein, wenn der Server TightVNC ist), aber einige Funktionen funktionieren nur, wenn derselbe Client und Server verwendet werden.
Installieren Sie die TightVNC-Server-Software
Aktualisieren Sie zunächst die Software-Repository-Informationen mit:
sudo apt-get update && apt-get upgrade
Dadurch werden Ihre Repository-Daten aktualisiert und die bereits installierte Software auf den neuesten Stand gebracht. Dies ist besonders wichtig, wenn Sie das Betriebssystem gerade erst installiert haben, da die Repository-Informationen möglicherweise unvollständig sind.
Als nächstes müssen wir TightVNC aus den Repositories installieren:
sudo apt-get install tightvncserver
Starten Sie den VNC-Server und konfigurieren Sie ein Passwort
Wenn Sie den Server zum ersten Mal starten, werden Sie aufgefordert, ein Passwort festzulegen. Dies ist das Passwort, das Sie für die Fernverbindung verwenden.
/usr/bin/tightvncserver
Es besteht keine Notwendigkeit, ein Kennwort nur für die Ansicht zu erstellen, es sei denn, Sie haben einen besonderen Bedarf. Beim Start des Servers wird Ihnen angezeigt, welcher virtuelle Desktop eingerichtet wurde. In diesem Fall:
New 'X' desktop is raspberrypi:1
Das angehängte ‘zeigt an, dass es sich um den virtuellen Desktop 1 handelt. Sie stellen die Verbindung dazu her, indem Sie :1 am Ende der IP-Adresse im Client oder die entsprechende Portnummer 5901 verwenden. Wir werden dies später noch genauer erklären. Sie können mehrere Instanzen betreiben. Jedes Mal, wenn Sie tightvncserver starten, wird der nächste verfügbare Desktop verwendet, aber in den meisten Fällen werden Sie nur einen benötigen.
Hinzufügen von Tightvnc zum Startup
In den meisten Fällen werden Sie wahrscheinlich wollen, dass der VNC-Server automatisch startet, wenn der Pi hochfährt. Dies sollte zwar recht einfach sein, kann sich aber für die meisten Menschen, die versuchen, dies einzurichten, als Hauptstolperstein erweisen. Es gibt zahlreiche Anleitungen, die jeweils einen etwas anderen Weg aufzeigen. Aber in jedem Fall sind die gegebenen Informationen entweder falsch oder können nicht für jeden funktionieren.
In den meisten Fällen müssen Sie zunächst prüfen, ob Sie das richtige Terminalfenster verwenden. Da wir uns in der Regel automatisch mit dem Standardbenutzer “Pi” anmelden werden, ist es wichtig, Befehle über das Standardterminal und nicht über RootTerminal auszuführen. Zum Glück funktionieren die folgenden Anweisungen unabhängig davon, welches Terminal Sie verwenden.
Um Tightvnc automatisch starten zu lassen, müssen wir eine neue Init-Datei erstellen. Nachstehend finden Sie den Code, den wir hinzufügen werden:
#!/bin/sh ### BEGIN INIT INFO # Provides: tightvncserver # Required-Start: $local_fs # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop tightvncserver ### END INIT INFO # More details see: # https://codeclinic.de/2014/01/raspberry-pi-tutorial-setting-vnc-default-desktop ### Customize this entry # Set the USER variable to the name of the user to start tightvncserver under export USER='pi' ### End customization required eval cd ~$USER case "$1" in start) su $USER -c '/usr/bin/tightvncserver :1' echo "Starting TightVNC server for $USER " ;; stop) pkill Xtightvnc echo "Tightvncserver stopped" ;; *) echo "Usage: /etc/init.d/tightvncserver {start|stop}" exit 1 ;; esac exit
Um diesen Code vollständig herunterzuladen, verwenden Sie die folgenden Befehle, um den Code über das Penguin Tutors Repository zu erhalten:
wget http://www.penguintutor.com/otherfiles/tightvncserver-init.txt sudo mv tightvncserver-init.txt /etc/init.d/tightvncserver
Zeile 16 ist derzeit auf den Standard-Benutzernamen “pi” eingestellt. Sie sollten dies bei Bedarf ändern, aber in den meisten Fällen werden Sie sich als Standardbenutzer anmelden. Geben Sie nicht root als Benutzer an.
Ändern Sie die Datei so, dass sie root gehört (nicht unbedingt notwendig, aber der Standardbesitz für init-Dateien). Diesen Schritt haben wir in den meisten verfügbaren Anleitungen vermisst, und keine von ihnen hat bei uns funktioniert. Wir empfehlen daher dringend, diesen Befehl auszuführen:
sudo chown root:root /etc/init.d/tightvncserver
Machen Sie die Datei ausführbar, indem Sie sie ausführen:
sudo chmod 755 /etc/init.d/tightvncserver
Fügen Sie das Skript mit dem Befehl zu den Standard-Runlevels hinzu:
sudo update-rc.d tightvncserver defaults
TightVNC wird nun gestartet, wenn Ihr (LXDE-)Desktop startet. Ich empfehle Ihnen, an dieser Stelle einen Neustart durchzuführen, um sicherzugehen, dass es funktioniert, aber Sie können auch einfach anhalten und neu starten, wenn Sie nicht neu starten wollen. Sie können es manuell starten und stoppen:
sudo /etc/init.d/tightvncserver start
und
sudo /etc/init.d/tightvncserver stop
Beachten Sie, dass dies für die Ausführung nur einer Instanz von TightVNC auf dem Computer vorgesehen ist. Wenn Sie in der Lage sein wollen, bestimmte Instanzen von TightVNC zu starten und zu stoppen, müssen Sie das Startskript entsprechend anpassen. Wie Sie VNC auf dem Raspbian-Desktop ausführen können, erfahren Sie in Teil 2.