VNC connect unter Raspbian buster headless einrichten

  • Hallo zusammen,

    in der folgenden Anleitung beschreibe ich, wie Du den installierten VNC Server unter Raspbian buster auf einem Raspberry Pi ohne lokal angeschlossenen Monitor in Betrieb nimmst.

    Stand: 2020-12-16 (aktuelle raspi-config Screenshots eingefügt)

    Voraussetzungen:

    Einrichtung in Kurzform
    In der Datei /boot/config.txt müssen folgende Einträge vorhanden bzw. kommentiert sein (im Beispiel für eine Auflösung von 1280x1024).

    Die Beschreibungen der Videomodi finden sich hier. Beim RPi 4B darf der Composite Ausgang nicht aktiv sein.

    # uncomment if hdmi display is not detected and composite is being output

    hdmi_force_hotplug=1

     

    # uncomment to force a specific HDMI mode (this will force VGA)

    hdmi_group=2

     

    hdmi_mode=35

    [pi4]

    # Enable DRM VC4 V3D driver on top of the dispmanx display stack

    #dtoverlay=vc4-fkms-v3d

    max_framebuffers=2

    [all]

    #dtoverlay=vc4-fkms-v3d


    Einrichtung:

    1. ssh Verbindung zum gestarteten und am Netzwerk angemeldeten Raspberry PI herstellen User: pi Passwort: raspberry

    (beim ersten Herstellen der Verbindung wird der Fingerprint des RPi abgelegt, die Frage erscheint nach Erfolg nicht wieder)

    Display Spoiler

    stf@Bonker:~$ ssh pi@raspberrypi

    The authenticity of host 'raspberrypi (192.168.1.52)' can't be established.

    ECDSA key fingerprint is SHA256:IGHMUE4vQC2rocjUcVY0aJH/UuXPVy+ssdNXopBksPA.

    Are you sure you want to continue connecting (yes/no)? yes

    Warning: Permanently added 'raspberrypi,192.168.1.52' (ECDSA) to the list of known hosts.

    pi@raspberrypi's password:

    Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l

    The programs included with the Debian GNU/Linux system are free software;

    the exact distribution terms for each program are described in the

    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

    permitted by applicable law.

    Last login: Sun Feb 23 16:16:21 2020 from 192.168.1.100

    SSH is enabled and the default password for the 'pi' user has not been changed.

    This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.


    Wi-Fi is currently blocked by rfkill.

    Use raspi-config to set the country before use.

    pi@raspberrypi:~ $

    2. Raspbian aktualisieren

    Code
    sudo apt update && sudo apt full-upgrade -y && sudo reboot

    3. Einstellungen (raspi-config aufrufen)

    Code
    sudo raspi-config

    4. Einstellungen wählen



    und die Frage: Would you like the VNC Server to be enabled? mit YES beantworten, die nachfolgende Erfolgsmeldung mit OK bestätigen.

    5. Auflösung anpassen (weiter in raspi-config)

    Die Auflösung muss gesetzt werden, damit eine vernünftige Bildgröße (RPi bis 3B+) bzw. überhaupt ein Zugriff (RPi 4B) stattfinden kann.

    Erklärung

    Greift man mit dem VNCViewer auf den Raspberry Pi zu, erhält man Zugriff auf Display:0. Man sieht also genau das, was auf einem angeschlossenen Monitor dargestellt würde. Die Auflösung entspricht dabei immer der des lokalen Displays/Monitors. Das ist vor allem bei sehr kleinen Displays mit niedriger Auflösung unzweckmäßig. Dort empfiehlt sich die Einrichtung eines virtuellen Desktop mit eigener Auflösung.

    Bei allen Raspberry Pi Modellen bis hin zum Raspberry Pi 3B+ wird standardmäßig der composite Ausgang aktiviert, wenn beim Start kein Monitor über HDMI angeschlossen ist. Die Bildgröße, die VNC dann beim Zugriff nutzt, ist 656 x 416. Beim RPi 4B ist der composite Ausgang deaktiviert, so dass gar kein Zugriff erfolgen kann, wenn keine Auflösung definiert wurde. (Fehlermeldung: Cannot currently show the desktop)

    gewünschte Auflösung einstellen, z.B. 1280x1024

    mit OK bestätigen, und danach mit <Finish> raspi-config verlassen und die Frage nach Neustart mit YES beantworten. Danach lässt sich ein Zugriff über VNC realisieren.

    Stand 2021-01-10 gilt das Folgende nicht mehr, es sind jetzt beliebige Auflösungen auch mit aktiviertem Treiber möglich.

    Display Spoiler

    ACHTUNG: Beim Raspberry Pi 4B ist der Eintrag in der /boot/config.txt standardmäßig

    Code
    [pi4]
    # Enable DRM VC4 V3D driver on top of the dispmanx display stack
    dtoverlay=vc4-fkms-v3d

    aktiv. Sollte ein RPi3xx den GL Treiber aktiviert haben, treten ähnliche Probleme auf: es sorgt dafür, dass VNC keine Auflösung größer 1024x768 (RPi4) bzw. 720x480 (RPi3) darstellt.

    Weiterhin darf der Composite Ausgang nicht aktiv sein, sonst beträgt die Auflösung über VNC gerade einmal 656 x 416 Pixel, egal, welche Auflösung mit hdmi_mode/hdmi_group definiert wurde.

    Willst Du eine größere Auflösung über VNC connect verwenden, dann stell folgendes in raspi-config ein:


    Z) optionale Ergänzung - Einrichtung eines virtuellen Desktop mit VNC connect

    Zur Einrichtung eines oder mehrerer zusätzlicher Desktops, auf die über den VNC Viewer zugegriffen werden kann, startest Du folgende Befehlszeile mit Übergabe der gewünschten Auflösung (-geometry 1024x768) und einer frei wählbaren Displaynummer (:33). Letztere kann weggelassen werden und würde dann automatisch vergeben und in der Ausgabe des Befehls angezeigt. Rechte von root sind für den Start nicht erforderlich.

    Der Befehl vncserver-virtual --help zeigt eine kleine Hilfe mit weiterführenden Informationen an.

    Code
    vncserver-virtual -geometry 1024x768 :33
    Ausgabe beim Start des virtuellen Desktop

    pi@raspberrypi:~ $ vncserver-virtual -geometry 1024x768 :33

    VNC(R) Server 6.7.1 (r42348) ARMv6 (Jan 30 2020 15:13:47)

    Copyright (C) 2002-2020 RealVNC Ltd.

    RealVNC und VNC sind eingetragene Marken von RealVNC Ltd und sind durch

    Markeneintragungen und/oder Markenanmeldungen in der Europäischen Union, in den

    USA und in anderen Jurisdiktionen geschützt.

    Geschützt durch das britische Patent 2481870, das US-Patent 8760366 und das

    EU-Patent 2652951.

    Weitere Informationen zu VNC finden Sie unter https://www.realvnc.com.

    Danksagungen von Dritten finden Sie unter:

    https://www.realvnc.com/docs/6/foss.html

    OS: Raspbian GNU/Linux 10, Linux 4.19.97, armv7l

    Bei einigen Verteilungen (insbesondere Red Hat) erzielen Sie u. U. bessere

    Ergebnisse, wenn Sie vncserver-virtual zusammen mit dem System-Xorg-Server

    anstatt mit der in Xvnc integrierten alten Version ausführen. Es werden

    voraussichtlich mehr Desktop-Umgebungen und Anwendungen kompatibel sein. Für

    weitere Informationen zu dieser alternativen Implementierung siehe:

    https://www.realvnc.com/doclink/kb-546

    Ausgeführte Anwendungen in /etc/vnc/xstartup

    VNC Server-Schlagwort: "Poetic bazaar Atlanta. Yellow shampoo Arnold."

    Signatur: c6-25-5b-80-c6-2b-e0-06

    Protokolldatei ist /home/pi/.vnc/raspberrypi:33.log

    Neuer Desktop ist raspberrypi::33 (192.168.1.52::33)

    pi@raspberrypi:~ $

    Der Zugriff auf den virtuellen Desktop erfolgt über die vergebene Displaynummer (hier am Beispiel des VNC Viewer für Windows).

    Bei jedem neuen Zugriff erscheint die Nachfrage, das Schlagwort muss mit dem aus der Ausgabe beim Start des virtuellen Desktop (siehe Spoiler oben) übereinstimmen.:

    Mit dem Klick auf Fortsetzen erhältst Du Zugriff auf die Anmeldung des gewählten Desktop (Das Schlagwort ist auch hier wieder zu finden). Ein Klick auf OK zeigt den virtuellen Desktop Nummer 33 (mit einer zu ignorierenden Fehlermeldung).

    Um den virtuellen Desktop mit der Nummer:33 im laufenden Betrieb zu beenden, reicht die Eingabe von:

    Code
    pi@raspberrypi:~ $ vncserver-virtual -kill :33

    Richtest Du einen Autostart des virtuellen Desktop ein, steht dieser auch nach einem Neustart des Systems zur Verfügung.

    Viel Spaß mit dem Raspberry Pi.

    Grüße, STF

  • VNC connect unter Raspbian buster headless einrichten? Schau mal ob du hier fündig wirst!

  • Hallo,

    diese Anleitung hat mir sehr geholfen, um endlich einmal über das Anmeldebild mit "Der Desktop kann derzeit nicht angezeigt werden" zu kommen. Aber, ob mit VNC oder XRDP, ich komme immer auf das beigefügte Bild nach dem Einloggen. Was ist da denn falsch?

    Habe ich ggf. das falsche Betriebssystem ohne Desktop installiert? Wo könnte man das nachsehen und wie könnte man das nachinstallieren, ohne dass der ganze Raspi dabei etwas beschädigt?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!