Raspberry Pi: VNC Server installieren
Wer seinen Raspberry Pi weder an einem eigenen Display, noch ausschließlich über eine Konsole bedienen möchte, für den ist der VNC Server das richtige. VNC überträgt das Bild der grafischen Oberfläche über das Netzwerk, oder bei Portfreigabe auch über das Internet. Alternativ lässt sich Remote Desktop installieren, wobei ich auf die Vor- und Nachteile der beiden Protokolle an dieser Stelle nicht eingehen möchte, da diese an anderer Stelle im Netz ausführlich erläutert werden. Im Folgenden beschreibe ich wie man einen VNC-Server auf seinem Raspberry Pi zum Laufen bekommt.
Voraussetzung: Raspbian oder vergleichbare Distribution installiert
Als VNC-Server für den Raspberry Pi empfiehlt sich das Tight VNC Package, welches man mittels des Paketmanagers APT installieren kann.
sudo apt-get install tightvncserver
Nun installieren wir noch preload, ein kleines Tool, welches vorhersagt, welche Programme und Abhängigkeiten als nächstes geöffnet werden und diese bereits zuvor in den RAM lädt. Dies hat den Vorteil, dass die grafische Oberfläche wesentlich schneller läuft. Für den Betrieb des Raspberry Pis als reinen Server ist preload nicht zu empfehlen.
sudo apt-get install preload
Darauffolgend passen wir eine Konfiguration von preload an, damit die Nutzung des RAMs effektiver gehandhabt wird.
sudo sed -i 's/sortstrategy = 3/sortstrategy = 0/g' /etc/preload.conf
Jetzt starten wir den VNC-Server zum ersten mal. Dabei werden wir nach einem Passwort zum Einloggen gefragt. Daraufhin kann man festlegen, ob man ein View Only Passwort festlegen möchte, um Dritten ohne Herausgabe oder Änderung des eigenen Passwortes erlauben zu können, den Desktop des Raspberry Pis zu betrachten.
tightvncserver
Nun stoppen wir den VNC-Server wieder, um weitere Einrichtungen vorzunehmen.
vncserver -kill :1
Wir legen nun ein Startscript für den VNC-Server mit dem Namen vnc.sh an, in welches wir die unten stehenden Befehle eintragen. Dabei kann man 1280×720 durch die gewünschte Auflösung ersetzen. Ich empfehle jedoch ohne Overclocking/Übertakten nicht über 1280×720 hinaus zu gehen, da dies deutlich auf die Performance geht.
nano vnc.sh
#!/bin/sh vncserver :1 -geometry 1280x720 -depth 24
Jetzt geben wir der eben angelegten Datei Rechte ausgeführt zu werden.
chmod +x vnc.sh
Möchte man VNC automatisch mit dem Booten des Raspberry Pis starten lassen so müssen wir folgende Schritte beachten.
Wir erstellen ein Start-/Stop-Script im Verzeichnis /etc/init.d mit dem Namen vncboot und fügen das folgende Startscript in dieses ein. Wie in Step 6 kann die Auflösung wieder angepasst werden.
sudo nano /etc/init.d/vncboot
### BEGIN INIT INFO # Provides: vncserver # Required-Start: networking # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starts VNC # Description: ### END INIT INFO export USER='pi' eval cd ~$USER # Check state case "$1" in start) su $USER -c '/usr/bin/vncserver :1 -geometry 1280x720 -depth 24' echo "Starting vncserver for $USER" ;; stop) pkill Xtightvnc echo "vncserver stopped" ;; *) echo "Usage: /etc/init.d/vncboot {start|stop}" exit 1 ;; esac exit 0
Nun müssen wir der erstellten Datei wieder weitere Rechte einräumen.
sudo chmod 755 /etc/init.d/vncboot
Abschließend müssen wir das Script in den Autostart einbinden.
sudo update-rc.d vncboot defaults
Endgültig fertig! Beim Starten des Raspberry Pis wird nun automatisch der VNC-Server gestartet. Wenn ihr den Raspberry Pi in dieser Form betreiben möchtet, kann ich euch empfehlen diesen zu übertakten, da die grafische Oberfläche dann wesentlich flüssiger läuft. Wie dies geht erklärte ich in dem Artikel Overclocking/Übertakten ohne Garantieverlust. Verbinden kann man sich nun im VNC Client über den Port 5901. Als Client kann ich für Windows TightVNC Viewer, für Mac OS X RealVNC und für Linux das Paket tightvnc-java empfehlen.
Zugriff außerhalb des eigenen Netzwerks
Portfreigabe im Router
Soll der soeben installierte Dienst auch außerhalb des eigenen Netzwerkes verfügbar sein, so müssen folgende Ports im Router freigegeben werden. Wie man freigibt, beschrieb ich in dem Artikel Portforwarding bei Fritz!Box und Speedport.
Dieses Tutorial wurde am 01. März 2015 überarbeitet.
100 Kommentare. Hinterlasse eine Antwort
[…] Raspberry Pi: VNC Server installieren 3 Kommentare/geschrieben in Raspberry Pi ← Herzlich Willkommen, Raspberry Pi! Raspberry Pi: Overclocking/Übertakten in Raspbian → 3 replies […]
[…] Raspberry Pi: VNC Server installieren 2 Kommentare/geschrieben in Raspberry Pi ← Raspberry Pi: Raspbian installieren Raspberry Pi: VNC Server installieren → 2 replies […]
Bei kommt am ende ein fehler:
root@raspberrypi:/home/pi# nano /etc/init.d/vnconboot
root@raspberrypi:/home/pi# chmod 755 /etc/init.d/vnconboot
root@raspberrypi:/home/pi# update-rc.d /etc/init.d/vnconboot defaults
update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d//etc/init.d/vnconboot
root@raspberrypi:/home/pi#
Mhhh… kann ich mir gerade nicht erklären. Versuch doch mal die Anleitung unter http://elinux.org/RPi_VNC_Server
Habe exakt die gleiche Fehlermeldung wie RB.
Habe den VNC Server kurz nach einem clean install aktivieren wollen:
update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d//etc/init.d/vnconboot
Habe auch mal nach dem Fehler und seiner Lösung gegoogled: Viele Fragen, keiner kennt die Antwort…
Hast du es schon einmal mit folgendem Kommando versucht?
update-rc.d vnconboot defaults
Ich habe die gleiche Fehlermeldung wie Stefan. Wenn ich update-rc.d vncboot defaults eingebe kommt:
update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d/vncboot
Eigenartig. Bei mir klappte es als ich es installiert habe tadellos…
Was ich vergessen hatte: Bei
sed -i ’s/sortstrategy = 3/sortstrategy = 0/g‘ /etc/preload.conf
kam die Fehlermeldung
sed: couldn’t open temporary file /etc/sedChJQpa: Permission denied
Hat das evtl. etwas damit zu tun?
Nein, das kann nichts damit zu tun haben.
Mit DEM Kommando klappt es! Danke!
martin
Hallo,
ich bin quasi neu einsteiger in Sachen Linux. Ich habe auch das Problem mit unable to read. und das andere Funktioniert auch nicht. Habe beides Zichmale ausprobiert.
Kann mir da vielleicht jemand helfen?
Hallo – wie auch immer die heißen magst,
könntest du „und das andere Funktioniert auch nicht“ bitte etwas konkretisieren, denn ansonsten kann ich dir leider schlecht helfen.
Viele Grüße
Jan
Wichtig: Ich habe Step 8 bis Step 12 nun überarbeitet. Die Probleme aus den Kommentaren müssten dadurch behoben sein!
Ich habe das Problem irgendwie jetzt doch lösen können. Ich habe mich durch alle Tutorial gewühlt. Jetzt gehts. Keine Ahnung woran es lag habe einfach alle ausprobiert und jetzt gehts. Trotzdem danke
Hallo,
für alle die ein paar probleme mit dem Autostart beim VNC haben.
Habe den Script nach:
http://myraspberrypiexperience.blogspot.co.uk/2012/08/start-vnc-automatically.html
angepasst und anschliessend hat es auch Funktioniert !
Ich passte das Startscript entsprechend deines Vorschlages an. Danke.
Welcher Video Ausgang ist der HDMI Ausgang?
Geh ich richtig in der Annahme das „:1“ oder „:0“ des „vncserver :0 -geometry 1920×1080 -depth 24 -dpi 96“ das bestimmen? Ich würde gerne genau das gleiche Bild auf meinem Mac sehen, wie auf meinem TV.
Danke!
Das :1 gibt an, auf welchen Port VNC sendet. Wie du das selbe Bild auf HDMI und VMC bekommt, kann ich dir mit Sicherheit nichts beantworten, jedoch könnte ich mir vorstellen, dass du wenn VNC auf den selben Benutzer wie dem, welcher die Ausgabe über HDMI erzeugt (normalerweise pi), läuft, dass gleiche Bild gesendet wird.
VNC Setup über DynDNS:
Hallo Jan, ich hab dein DynDNS Tutorial über No-IP benutzt und es klappte.
Jetzt wusste ich nicht welche Ports für den VNC Server geforwarded sein müssen, um es aus dem WAN über den No-IP DynDNS service zu erreichen.
Also ich habe gelesen Ports 5800 + 5900 müssen frei sein.
Außerdem wird noch ein Session-Port benötigt. Dieser setzt sich zusammen aus der 5900 + der aktuellen Session.
In deinem Script ist die Session auf :1 gesetzt („vncserver :1 -geometry 1280×720 -depth 24“)
Also ist der Port über den das ganze erreicht wird 5901.
Zum erreichen gibt ihr also ein
„euren No-IP Präfix.No-IP.org:5901“
Habt ihr für die Session eine andere Nummer festgelegt, muss da der Port natürlich angepasst werden.
Grüße und Danke für die tollen Tutorials.
Haben mir als Linux Anfänger schon mal sehr geholfen ;).
Grüße,
Ari
Nochmal ein kleiner Edit von mir:
Die Ports 5800 + 5900 müssen nicht geforwarded sein.
Nur der Session Port muss genutzt werden und dieser sollte zu diesem Tutorial 5901 als TCP geforwarded sein.
Der Grund ist ja schon da drüber genannt 😉
Freut mich zu hören, dass ich dir mit dem Tutorial helfen konnte.
Hallo,
vielen Dank für die Anleitung! Sie hat mir sehr geholfen.
Direkt nach der Einrichtung lief auch alles super, sogar nach einem reboot. Allerdings trat einen Tag später dann ein Problem auf:
Will ich mittels sudo Operationen durchführen (z.B. eine Datei öffnen), so kommt immer wieder die Meldung „Client is not authorized to connect to ServerCannot open display:“
Das Problem lies sich „lösen“, indem ich per ssh-Zugriff einen neuen bildschirm mit root-rechten erstellt habe (sudo vncserver :3 -geometry 1024×768 -depth 24).
Ok, aber eigentlich kann dies nicht die endgültige Lösung sein. Hättest du da noch eine Idee?
Vielen Dank!
Martin
Mhhh… nicht wirklich.
Hey hast du eine Idee wie ich mit dem iPad auf den VNC vom Raspberry zugreiffen kann? Ich hab noch keinen Client gefunden der eingaben der Form IPAdresse:1 erlaubt.
Irgend eine hilfreiche Idee?
Bzgl. Apps für Apple Geräte kann ich leider nicht helfen, da ich selbst kein solches Gerät besitze. Sorry.
für deinen Blog vll interessant. Ich hab eine Lösung gefunden. Mit Mocha VNC aus dem App Store gehts (auch mit der Lite Version). Man muss nur beachten, dass wenn man sich mit dem Interface 1 verbinden will nicht 5900 als Port angibt sondern 5901.
Dank dir fürs Lob und den Hinweis – nun sind auch die Apple Fanboys and Girls bedient 😉
Hi!
erstmal Danke für Deine tollen Anleitungen!
Bei dieser bekomme ich bei Step 12 die Meldung:
Irgendein Konflikt mit PyLoad…
root@raspberrypi:/home/pi# update-rc.d vncboot defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: script ‚vncboot‘ missing LSB tags and overrides
insserv: There is a loop between service pyload and vncboot if stopped
insserv: loop involving service vncboot at depth 2
insserv: loop involving service pyload at depth 1
insserv: Stopping vncboot depends on pyload and therefore on system facility `$all‘ which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
Was kann ich da tun?
OK, die Lösung scheint zu sein:
### BEGIN INIT INFO
# Provides: vncserver
# Required-Start: networking
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts VNC
# Description:
### END INIT INFO
über dem Script (Step 9) einzufügen.
Könnte man bei Step 9 noch ergänzen.
Habs ergänzt. Danke, Volker!
Hilfreich wäre es noch, wenn Du am Ende noch den Port mit angeben würdest, der verwendet werden muss, um sich per VNC-Client mit dem PI zu verbinden –> Port 5901
Ebenfalls ergänzt. Danke 🙂
Hallo,
Ich als Windows Freund bin ja mit Linux jetzt nicht der Crack..
Zu step 6 fehlt mir die Info in welchen Order die vnc.sh kommen muss.
Und ob ich davor „sudo su“ eingeben soll oder nicht.
Ergebnis bei mir ist nämlich das der Autostart nicht funktioniert, der Rest schon.
Danke schonmal!
In Step 6 legst du die Datei einfach im Home-Verzeichnis deines Benutzers ab (für gewöhnlich /home/pi). Der Autostart wird erst in Step 9-12 erklärt. Du musst die Kommandos einfach in der Reihenfolge des Tutorials eingeben –
sudo su
brauchts nicht 😉Vielen Dank Jan!
Datei mit mv #datei #ziel verschoben, anleitung nochmal ausgeführt und geht!
Kann man den Port auch noch ändern?
Einfach googeln, sofern nötig. Normalerweise ist es aber sinnvoll den Port bein Standard zu belassen.
Moin,
geniale Anleitung, vielen dank dafür.
Gute geradlinige Anweisung – hat alles funktioniert
Hallo,
hab bei dem Befehl folgendes Problem:
sudo update-rc.d vncboot defaults
update-rc.d: using dependency based boot sequencing
insserv: service networking has to be enabled to start service vncserver
insserv: exiting now!
update-rc.de: error: insserv rejected the script header
Was mach ich falsch?
Besten Dank schon im Vorraus.
Tobi
Klingt für mich als wäre beim Kopieren des Startscripts etwas schief gelaufen. Hast du alle Zeilen einschließlich der Kommentare kopiert?
Ja, hätte ich gemacht. Kann es am OS liegen? Habe das Raspbmc drauf.
Ich würde tippen, dass das auf Raspbmc eigentlich schon klappen sollte, kann dir jedoch nicht mit Gewissheit sagen..
Hallo,
danke für das Listing VNC Server installieren.
Habe es wie angegeben gemacht. Scheint auch zu funktionieren. Der PI startet ohne Fehlermeldung.
Mein Problem ist, wenn ichnun versuche eine Verbindung vom WIN7 PC zum Pi mittels VNC-Viewer aufzubauen erhalte ich immer die Meldung: Connection refused.
Bin Neuling auf diesem Gebiet und freue mich über Hilfe.
Wilfried R. Apel
Auf welche IP mit Port versuchst du dich denn zu verbinden?
Habe in dem Router, Fritz-Box, dem PI immer die gleiche IP zugeordnet.
Verbinde mich mit: 192.168.178.31::5901
Denke ich machte einen Fehler in Step 4. Habe kein Passwort vergeben. Gibt es eine Möglichkeit das dauerhaft nachträglich einzubinden ?
Versuch dich doch mal mit 192.168.178.31:1 zu verbinden.
Zum Thema Passwort: Einfach folgendes ausführen und anschließend Step 4 wiederholen.
rm -r ~/.vnc
Das Passwort, das war es. Funktioniert jetzt einwandfrei.
Vielen Dank für die schnelle und kompetente Hilfe.
Hallo,
war zu vorschnell. Mit rm-r ~ /.vnc wird das Sktipt gelöscht, nach der Passworteingabe bekomme ich die Meldung das ein neues Startup geschrieben wurde.
Leider ist dieses nach erneutem booten weg.
Was mache ich Falsch?
Du hast Step 4 und Step 5 ausgeführt? Dürfte nach den Neustart nicht weg sein…
Habe Step 4 und 5 ausgeführt.
Beim erneutem booten funktioniert es leider nicht mehr.
Erneut rm -r ~/.vnc ausgeführt.
Tightvncserver neues Passwort vergeben.
Danach habe ich im /root/vnc/ nachgesehen.
Es wurden folgende Dateien ( Datum Uhrzeit) neu geschrieben:
password
raspberrypi:1.log
raspberrypi;1.pid
Erneut gebootet
Mit dem VNC Viewer einloggen geht nicht.
Wieder rm -r usw. sowie Tightvncserver ohne neu zu booten. Funktioniert.
Kann es vielleicht sein, dass du Step 4/5 als Root User ausgeführt hast, den VNC Servern beim Booten jedoch unter einem anderen Benutzer starten lässt?
Kann das leider im Moment nicht sagen.
PI ist kaputt 🙁
Bringt nur noch Hieroglyphen auf den Bildschirm.
Sobald der Ersatz da ist versuche ich es erneut.
Vorerst vielen Dank für Deine Hilfe.
Hallo,
der neue PI ist da.
Allerdings funktioniert mit 3 verschiedenen 8GB SD Karten das expandieren des Filesystems nicht mehr. Der Fehler ist leider nur sehr kurz zu sehen so das ich nicht weis was ich machen soll.
Alle Karten sind FAT32 und auf Fehler geprüft.
Kannst Du hier auch helfen ??
Gruß
Ohne Fehlermeldung kann ich dir leider nicht helfen. Außerdem passt dies nicht zum Artikel. Falls du mit Fehlermeldungen Hilfe brauchst einfach unter dem Raspbian installieren Beitrag kommentieren 😉
[…] bzw. Internet. Wie dies mittels VNC zu bewerkstelligen ist, erklärte ich bereits in dem Artikel VNC Server installieren. Jedoch bietet Microsoft mit dem Remote Desktop Protocol (RDP) eine weitere Möglichkeit, einen […]
Hallo Jan,
nach Deiner Anleitung hat alles wunderbar geklappt. Ich möchte jedoch mit dem TightVNC-Viewer direkt auf dem Desktop zugreifen, den ich auf dem Monitor angezeigt bekomme. Mit IP-Adresse:1 und dem gleichen Usernamen mit dem ich angemeldet bin, funktioniert es nicht… Hast Du inzwischen noch einen Tip für mich?
Das geht meines Wissens nach mit VNC nicht. Evl. könnte es mit Remote Desktop funktionieren, wobei ich mir auch da nicht sicher bin.
[…] Für mich habe ich den Zugriff auf meine Cloud auch für die Konfiguration mittels eines VNC Servers auf dem RaspberryPi gelöst, auf den ich mich sogar mit dem Android Smartphone aufschalten […]
Hi,
bin absoluter Noob. Ich habe hier gerade Raspbian installiert und bin anschließend deiner Anleitung gefolgt. Allerdings konnte ich danach von meinem Mac nicht auf den Raspi zugreifen.
Irgendwie klar, den Server hatte ich ja zwischendurch entsprechend der Anleitung auch wieder angehalten. Da hab ich gleich mal probieren wollen, ob den das mit dem Neustart auch klappt und habe…neugestartet.
Seit dem komme ich nur noch bis zum Anmeldebildschirm und soll Logindaten angeben. Das sollte ja eigentlich pi/raspberry sein, nicht wahr? Ich habe nix geändert. Das immt er auch an, nur lande ich danach wieder auf dem Loginbildschirm. Und das war’s. Watt nu?
LG
A aus O.E.
In Step 4 hast du ein Passwort angegeben. Dieses musst du anstatt raspberry beim Anmelden über VNC angeben.
Hatte ich auch. Einfach via SSH oder STRG + F1 in der Konsole anmelden und mit dem Befehl „rm /home/pi/.Xauthority“ die genannte Datei löschen. Danach ggf. zur Sicherheit ein Reboot (bei mir ging es sogar ohne) und der XServer startet wieder normal und die Anmeldung ist auch lokal wieder möglich. Es gab bei der Installation des Dienstes irgendeine Fehlermeldung in Bezug auf die .Xauthority. Dabei ist vermutlich das Problem entstanden. Hoffe es hilft dir auch.
Hallo,
ich suche schon seit zwei Tagen eine Lösung und finde zu dem Thema überhaupt nichts.
Raspberry ist an den Fernseher angeschlossen. Ich surfe mit meinem Laptop (Win7) im Internet. Auf dem Fernseher wird das Bild meines Laptops 1:1 dargestellt. Ich arbeite weiterhin am Laptop. Auf dem Fernseher wird nur das Bild des Laptops angezeigt. Quasi gemeinsames surfen! Geht sowas? Ton und Video ist nicht zwingend erforderlich. Anschluss des Laptops am Fernseher via HDMI Kabel am Fernsber eher ist keine Option. Ich müsste über 15 Meter Kabel entlang der Wand legen.
VNC funktioniert nicht, da das Bild nicht angezeigt wird. Ich kann zwar auf den Raspberry zugreifen, jedoch wird das Bild, welches ich auf dem Laptop sehe nicht auf den Fernseher ausgegeben. Zugriff vom Raspberry auf den Laptop funktioniert auch wunderbar, dann liegt die Bedienung jedoch beim Raspberry und ich sehe das eigene Bild auf dem Laptop nicht.
PS: Bitte bitte kein andere Lösung nennen (Kabel, Wirless HDMI etc.)! Ich möchte es mit dem Raspberry durchführen!
Danke!
Hallo Jan,
zuerst einmal vielen lieben Dank und respekt für dein Geniale arbeit hier. Hab nun mein Pi quasi komplett nach deinen Angaben eingerichtet und alles hat soweit prima funktioniert. Nun war letzlich mein Plan das ich über VNC den aktuellen Desktop des Pi’s angezeigt bekomme um damit in verbindung mit dem JDwonloader meine Downloads managen zu können. Lokal als auch von außerhalb.
Leider bekomme ich jodeoch nur einen leeren Desktop angezeigt.
1. Liegt das an einer Einstellung oder an der VNC-Version das dies nicht funktioniert, hast du eine Lösung mit welcher es funktioniert?
2. Sollte es mit diesm VNC nicht funktionieren würde ich mich sehr darüber freuen du könntest mir erklären wie man diese komplette Installation wieder rückgänig macht?
Vielen Dank für deine Mühen.
Gruß
SLLEM
Mit VNC bekommst du nicht die Instanz, die du via HDMI bekommst. Jedoch kannst du das jeweilige Programm direkt in VNC öffnen und über eine neue Verbindung später wieder kontrollieren.
Soll für den neuen Raspberry pi2 die preload einstellung so bleiben?
Schadet auf jeden Fall nicht.
Hallo Jan, kann es sein, dass es für den B+ nicht so funktioniert? Ich kann zwar das Paket installieren; komme aber via Tightvnc Viewer nicht an den Pi ran…?? Danke:Ulli
Das funktioniert auch auf dem B+ einwandfrei.
Hallo Jan,
super Tutorial, habe auf den Buchstaben befolgt und funktioniert (auch mit dem B+) einwandfrei.
Mit der Fritzbox und dem „MyFRITZ!-Freigaben“ (nicht zu verwechseln mit dem üblichen Unterpunkt „Portfreigaben“) kann man dazu noch extrem einfach auch von unterwegs auf den Dienst zugreifen. Man muss nur die angezeigte URL rauskopieren (soweit man natürlich MyFRITZ! konfiguriert hat.
Meine einzige Frage an Dich ist warum ich auf dem Raspberry nicht genau eine „Spiegelung“ von dem sehe was ich dort mache. Beim Teamviewer z.B. kontrolliere ich ja den Computer und der der davor sitzt sieht ja an seinem Bildschirm was passiert.
Aber wenn ich jetzt vor dem Raspberry sitzte und es von meinem Computer aus kontrolliere, sehe ich beim Raspberry/Fernseher, nicht was ich am Computer mit dem Viewer gerade sehe.
Gibt es da eine Möglichkeit mit VNC nicht unabhängig auf dem Raspberry Pi zu arbeiten, sondern a la Teamviewer?
Vielen Dank für eine Antwort
Gruß
Klaus
Das kann VNC leider nicht. Es öffnet in jedem Fall eine neue Instanz einer grafischen Oberfläche.
Hallo Jan,
in Deinem Startscript ist ein Fehler.
Zeile 26:
echo „Usage: /etc/init.d/vncserver {start|stop}“
Richtig ist:
echo „Usage: /etc/init.d/vncboot {start|stop}“
Dann wird auch die darin festgelegte Auflösung übernommen.
Mit Fehler startet nur die Standardauflösung 1024×768 o.ä.,
weiß ich jetzt nicht mehr so genau.
Viele Grüße – Wolfgang
Das hat nichts mit der Auflösung zu tun, war aber trotzdem ein Schönheitsfehler. Danke für den Hinweis, ist verbessert!
Hallo Jan, herzlichen dank für Deine Anleitungen! Sehr gut und klar beschrieben und nachvollziehbar. Ich habe einen Banana Pi und zunächst xrdp installiert. Funktioniert auf Anhieb und problemlos. Danach habe ich auf ein anderes frisches Betriebssystem versucht den VNC-Server zum Laufen zu bringen und bin leider vorerst gescheitert. Da RDP läuft ist es zwar kein Problem, aber mich interessiert trotzdem woran es liegen könnte. Ich habe sowohl über die Bordmittel des Macs als auch über eine iPad App versucht zuzugreifen und bekomme immer die Meldung, dass die Verbindung nicht aufgebaut werden konnte. Zur Abfrage eines Passwortes kommt es erst gar nicht. Freue mich über einen Tip bei Gelegenheit. Herzliche Grüße Haiko
Du könntest prüfen ob eine VNC-Instanz auf dem Raspberry Pi überhaupt läuft.
ps aux | grep vnc
Ja, leider läuft vnc nicht.
Befehl sudo systemctl list-units -t service
ergibt
….
[email protected] loaded active running User Manager for UID 1000
● vncboot.service loaded failed failed LSB: Starts VNC
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
wenn ich mit
sudo /etc/init.d/vncboot start
manuell starte, geht es doch von meinem mac aus.
IP’s spielen keine Rolle, da im lokalen Netzwerk alles abläuft.
Hatte noch nicht den ganzen Thread gelesen.
unter Pi3 also mit Jessie (vergaß ich zu erwähnen) geht es leider nicht, jedoch wurde weiter unten eine Lösung vorgeschlagen, werde ich einarbeiten. Ich gehe davon aus, daß es funktioniert. Ansonsten Tolle Anleitung.
Hallo Jan!
Ich wollte meinen Raspberry Pi zuerst über meinen Laptop Bildschirm laufen lassen, doch das geht so ohne weiteres anscheinend nicht! Ich dachte es reicht, wenn man den Raspberry Pi (2 Modell B) einfach über ein Netzwerkkabel an den Laptop anschließt! Geht das nicht? Dann habe ich erfahren, dass man auf dem Pi einen VNC Server installiert ( wie hier) und auf einem beliebigen anderen Gerät ( bei mir der Laptop) die VNC App, also den Clienten! Wenn ich auf dem Laptop in der VNC App dann die IP vom Pi eingebe, wird dann auf dem Laptop der Pi Bildschirm angezeigt. Geht das nicht auch ohne Server auf dem Pi? Nur mit IP in der App? Danke im Voraus!
Du brauchst ja eine Softwre, die den Bildschirminhalt packt und ordentlich versenden. Folglich völlig ohne Software geht das nicht.
Hallo Jan,
habe Deine Anleitung befolgt, hat alles super geklappt.
Allerdings stelle ich mich jetzt beim Verbinden zu blöd an.
Ich versuche mit VNC-Viewer auf den raspi zuzugreifen und bekomme die Meldung: „Die Verbindung wurde vom Hostcomputer abgelehnt“.
Muss ich noch die Firewall des raspis konfigurieren?
Im VNC-Viewer gebe ich nur die IP-Adresse des raspis an und bei Verschlüsselung: „VNC Server trifft Auswahl“.
Muss ich was an der Firewall des raspis konfigurieren?
Freue mich über eine kurze Antwort,
Gruß,
Stefan
Ah, jetzt funktioniert’s! Beim Starten von /etc/init.d/vncboot start wird ja ein Passwort abgefragt. Da habe ich das falsche angegeben.
Du musst den Port, bspw. 5901, angeben. Zum Bespiel 192.178.168.0.21:5901
Alles funktioniert super. Ich würde nun gerne noch ein lxterminal und emacs starten,
nach vnc start, sodass ich diesen beiden Anwendungen schon auf meinem VNC
screen offen habe. Ein Tipp wäre super.
MFG
Heinz Baier
Wenn das geht solltest du die Befehle in die ~/.vnc/xstartup Datei eintragen können.
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
autocutsel -fork
#x-terminal-emulator -geometry 80×24+10+10 -ls -title „$VNCDESKTOP Desktop“ &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
/usr/bin/lxterminal &
/usr/bin/emacs23 &
So etwa ?
leider starten die beiden Anwendungen nicht.
Sollte eigentlich so funktionieren. Versuch doch mal noch ein „&“ hinter das „/etc/X11/Xsession“ zu stellen.
Vielen Dank, nun tut es, ist super wenn auf dem VNC Screen nach dem booten die Anwendungen gleich verfügbar sind.
Gruß Heinz
Woohoo. Richtig geraten 😀 War nur aus dem Bauch raus, dass ich den Fehler dort vermutet habe.
[…] (Stand: 09.06.2015): Jan Karres, […]
Hallo,
ich habe die Anleitung Schritt für Schritt gemacht. Das starten und verbinden funktioniert einwandfrei. Leider funktioniert bei mir der Autostart nicht. Ich habe es jetzt schon mehrfach probiert. Solbald ich den server manuel über ssh wieder starte funktioniert es.
Könnte es daran liegen das ich berryboot als Bootloader verwende?
Mit dem Autostart habe auch ich Probleme.
Wenn ich den VNC-Server manuell starte erhalte ich folgende Meldung:
root@raspberry-pi:~# tightvncserver
xauth: (argv):1: bad display name „raspberry-pi:1“ in „add“ command
New ‚X‘ desktop is raspberry-pi:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/raspberry-pi:1.log
root@raspberry-pi:~#
In den Scripten wird immer vom User ‚pi‘ gesprochen. Muss ich den auf ‚root‘ ändern?
Nebenbei: Ich boote nicht in einen Desktop. Es startet qlc+.
Gruß
Ralph
ps.: Und auch von mir noch ein Dank für deine Arbeit! Und das auch noch in deutsch!!!
Hallo,
mir fällt gerade auf, dass es im HOME Verzeichnis keinen weiteren Ordner gibt…..gibt es dann keinen User ‚pi‘?
Moin Jan,
für die „Mal-Eben-Schnell-Ausprobierer“ und ganz Doofen wie mich 🙂 könntest Du in Schritt 7, da der Rest ja ‚optional‘ ist, noch erwähnen, dass man das script ./vnc.sh auch starten muss. Das erspart lästige Fehlermeldungen und -suche in Windows 😉
Hi,
leider funktioniert bei mir seit dem Update auf Raspbian Jessie der autostart des vnc viewers nicht mehr. Auch wenn ich Jessie installiere und dann den vnc nach deiner anleitung aufsetze geht es nicht. Auch cron hat nicht funktioniert. Ist das bei allen so?
Deine Tutorials sind nichts desto trotz wirklich super! Weiter so!
Super Anleitung. Danke Jan. Den Autostart unter jessie habe ich mit der Anleitung: https://www.raspberrypi.org/forums/viewtopic.php?t=123457&p=830506 hinbekommen.
undrob
[…] Raspberry Pi: VNC Server installieren […]
Habe jetzt ein wenig mit dem Star Script gekämpft. Bei Mir Läuft der raspberry mit jessi und hier es ist unbedingt notwenidg, dass die start scripts mit „#! /bin/sh“ in der obersten Zeile beginnen. schöne grüße und danke für deine anleitung
Danke dir auch für deine Tutorials! Leider bekomme ich den vnc nicht zum Autostarten. Auch nach mehrmaligen Versuchen jeden Schritt richtig zu machen und um nichts auszulassen.
Habe schon von verschieden Seiten im Netz versucht den Fehler zu beheben.
Das sind die Fehlermeldungen die ich im Logfile gefunden habe.
raspberrypi systemd[518]: Failed at step EXEC spawning /etc/init.d/vncboot: Exec format error
aspberrypi systemd[1]: vncboot.service: control process exited, code=exited status=203
raspberrypi systemd[1]: Failed to start LSB: Starts VNC.
raspberrypi systemd[1]: Unit vncboot.service entered failed state.
Liebe Grüße aus Wien – Josef
vielen Dank Oliver! Auch ich hatte nach dem Update Probleme mit dem Autostart. Das Hinzufügen der #! /bin/sh im Autostartscript war die Lösung!!! Vielen Dank
hallo Jan! Vielen Dank für die tolle und ausführliche Anleitung. Bei mir startet „tightvncserver“ auch nicht automatisch, wäre aber kein problem für mich…
mich stört eher, dass wegen plex media server mein pi jeden morgen um 7 uhr neu startet (anleitung von https://medium.com/@danielabdilla/home-media-server-using-raspberry-pi-plex-d44e2c6ed292#.ngn1n0km5), was auch noch kein problem wäre, SONDERN beim Neustart möchte ich, so wie Du tightvncserver bei mir „JDownloader“ auch neu startet (Anleitung von: http://raspberrypi-jdownloader.io.tc/2015/05/14/raspberry_pi_3_und_jdownloader2/). gibt es beim Pi auch ein „Autostart“ funktion, welche dann JDownlaoder mit dem desktop mitstarten würde? ich bin laie, wollte dein Script auf JDownloader anpassen, kenne ich mich aber zu wenig aus. Vielen Dank für Deine hilfe, mit freundlichen Grüssen,
Geri