XRDP - Remote Desktop Verbindung (Windows, Android, iOs, Linux, Mac OSX)

    • Official Post

    Ihr habt euch sicherlich schon überlegt, wie ihr die GUI des Raspberry Pis ohne angeschlossenen Bildschirm nutzten könnt.


    Ich hatte das Problem gerade bei einem Projekt wo es um den Outdooreinsatz des RPI ging.
    Dort habe ich per mini Router (Affiliate-Link) (läuft mit 5V, auch am aktiven Hub) ein kleines Netzwerk aufgebaut und alle Clients sowie den Server(Raspberry Pi) per Wifi verbunden.
    Nun war es mir möglich über Windows, Android, iOS, Linux, oder auch Mac OSX den Bildschirminhalt des Raspberry Pis anzuzeigen und sogar zu steuern.


    In dieser Anleitung zeige ich euch, wie das funktioniert.
    Auf dem Raspberry Pi habe ich nur ein Paket installiert. Es nennt sich "xrdp".
    Dieses Paket stellt einen Server für die "Remotedesktopverbindung" von Windows her. Jeder Windowsrechner hat dieses Hilfsprogramm von Haus aus installiert und ist somit als Client möglich.
    Für Android und iOS gibt es kostenlose Apps, deren Konfiguration ich euch später zeigen werde.


    Voraussetzungen:

    • Raspbian (ich habe 2013-09-25 benutzt)
    • Netzwerkverbindung (entwerder via LAN oder WLAN)
    • euch ist die IP-Adresse des Raspberry Pi bekannt (ifconfig eth0 o. wlan0)
    • einen Client (Windows, Andorid, iOS)


    Pakete aktualisieren und den XRDP Server installieren

    Code
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install xrdp


    xrdp wird nach der Installation automatisch gestartet und wird auch nach jedem reboot gestartet.
    Das wars es schon, was ihr auf dem Raspberry Pi installieren müsst.



    Die Clients:
    Windows
    Du findest das Programm "Remotedesktopverbindung" unter: START -> Alle Programme -> Zubehör
    Du kannst es auch via STRG+R und der Eingabe "mstsc" starten.


    Hier trägst du nun die IP-Adresse eures Raspberry Pis und den Benutzer "pi" ein.
    Setzte den Haken bei "Speichern der Anmeldeinformationen zulassen"
    Mit einem Klick auf "Verbinden" gehts weiter.



    Du wirst nun nach dem Passwort gefragt. Standardmäßig ist dieses "raspberry".
    Auch hier den Haken bei "Anmeldedaten speichern" nicht vergessen. In Zukunft wirst du dann nicht mehr nach den Anemldedaten gefragt.
    Eingeben und bestätigen.


    Nun sollte das GUI des Raspberry Pis erscheinen.


    Falls ihr nach dem verbinden folgendes Fenster seht, könnt ihr auch dort euren Benutzernamen (pi) und Passwort(raspberry) eingeben.

    Dieses Fenster erscheint nur, wenn ihr die Clients nur mit der IP-Adresse konfiguriert.




    Android
    Wir installieren die App: Microsoft Remote Desktop
    Auch hier konfigurieren wir den Client mit IP-Adresse, Benutzername sowie Passwort.


    Nach dem verbinden kann der Hinweis "Untrusted Connection" mit "Connect Always" bestätigt werden.
    Nun sollte das GUI des Raspberry Pis erscheinen.


    iOs
    Wir installieren die App: RDP Remote Desktop iFreeRDP
    Auch hier ist die Konfiguration einfach und im Grunde genau so wie bei den anderen Clients.


    Linux
    mit folgenden Befehlen kannst du den Client "rdesktop" unter Linux installieren.

    Code
    sudo apt-get update
    sudo apt-get install rdesktop


    Danach kannst du mit folgendem Befehl eine Verbindung aufbauen:

    Code
    rdesktop 192.168.0.101



    (unter Linux Mint 14 Nadia mit rdesktop)


    Das ganze funktioniert natürlich auch mit dem Raspberry Pi und Raspbian

    Code
    rdesktop 192.168.0.26 -g 800x600


    mit dem Parameter -g gibst du die Auflösung an.
    zusätzlich kannst du noch die Parameter "-u BENUTZERNAME" sowie "-p PASSWORT" einsetzten. Außerdem gibt es noch das Parameter "-z" welches die Komprimierung einschaltet



    (Raspberry Pi mit Raspbian und rdesktop)



    MacOSX
    Den MS-RDP-Client gibt es auch für MacOS im AppStore
    Alternativ sollte es auch mit cord funktionieren.




    Schönen Gruß,
    ps915

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Edited once, last by ps915 ().

  • Ein gut gemachtes Tutorial.


    Dennoch möchte ich ein großes ABER anmelden.


    RDP ist ein proprietäres Netzwerkprotokoll von Microsoft, dass auf Betriebssystemen wie Unix, Linux und MacOS nachträglich installieren werden muss.
    Es gibt aber für diese Betriebssysteme bereits ein Netzwerkprotokoll, dass Ähnliches und noch mehr leistet.
    Und es ist (fast) immer im Spiel: Sobald ein Desktop angezeigt wird, wird es verwendet, nämlich X.
    - egal ob KDE oder Gnome oder dessen Derivate oder ... -


    Ein großer Vorteil ist, dass ein Unix-Rechner mit einem beliebigen anderen X-Server auf einen anderen Rechner kommunizieren kann.


    Deutlicher:
    Ein Pi mit Rasbian und LXDE soll den Desktop auf einen Linux-Rechner mit Gnome oder KDE anzeigen.


    Was passiert mit RDP:


    Der Pi startet einen X-Server.
    Er startet den LXDE-Desktop.
    Er sendet den Desktop-Inhalt mit RDP zum Zielrechner.
    Der Zielrechner startet einen X-Server.
    Er setzt das RDP-Protokoll auf X um.
    Er leitet die Ausgabe zu seinen X-Server.
    Der X-Server zeigt den Desktop des Pi an.


    Was passiert mit X:


    Der Pi sendet mit X den Desktop zum Zielrechner.
    Der Zielrechner startet einen X-Server
    Der X-Server nimmt die Daten des Pi an und stellt den Desktop dar.


    Was ist wohl eleganter?


    Nicht nur das! Der Pi braucht den Desktop nicht erstellen (rendern): der Zielrechner macht das.
    Der X-Server des Pi und sein Desktop müssen nicht laufen - er bleibt im Textmodus.
    Gerade für headless laufende Rechner doch eindeutig ein Vorteil.


    Das RDP-Protokoll braucht man erst, wenn Microsoft ins Spiel kommt.
    Habe ich nur Linux-/MacOS-/Unix- oder gar VMS-Rechner, ist es überflüssig.


    Aber bitte nicht falsch verstehen.
    Das hat nichts mit der Qualität des Tutorials zu tun!


    Die Verwendung von X ist hier im Forum beschrieben.

    Keep it simple [,&] stupid

    Edited once, last by kungel ().

    • Official Post


    [...]


    Das RDP-Protokoll braucht man erst, wenn Microsoft ins Spiel kommt.
    Habe ich nur Linux-/MacOS-/Unix- oder gar VMS-Rechner, ist es überflüssig.


    Aber bitte nicht falsch verstehen.
    Das hat nichts mit der Qualität des Tutorials zu tun!


    Du hast vollkommen Recht. Ich habe das Tutorial resultierend aus meinem Projekt geschrieben. Und da war ich leider auf Windows angewiesen bzw hat mich diese Lösung überzeugt. Ich aber auch sehr zufrieden mit der Leistung bis jetzt.


    Trotzdem sehr gut beschrieben, was im "Hintergrund" abläuft. Wird einigen Usern bestimmt hilfreich sein.


    Schöne Grüße,
    ps915


    Edit: Habe das Tutorial noch um Linux Mint und Raspbian erweitert.

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • dumme Frage,


    wer bestimmt die Auflösung


    der PI oder der Zielrechner ?


    momentan mache ich das ja so das ich am PI per HDMI_force die Auflösung erzwinge und per x11vnc fernsteuere, aber natürlich


    Netbook,winDESK, androidvnc haben ja alle verschiedenene Auflösungen das man meist immer scrollen muss

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • @ RDP unter Linux:


    RDP ist in der Regel bei vielen Distributionen bereits installiert.
    Und in guter alter Linux-Tradition gibt es viele Lösungen.
    Bei KDE ist es KRDC, bei Debian Vinagre.


    @ Auflösung:


    Unter KDE mit KRDC gebe ich auf dem Zielrechner die Auflösung vor (greife damit allerdings nur auf MS Windows-Rechner zu)

    Keep it simple [,&] stupid

    Edited once, last by kungel ().

    • Official Post


    wer bestimmt die Auflösung
    der PI oder der Zielrechner ?


    Der Client bestimmt die Auflösung.
    Habe mal eine Screenshot angehängt welches 2 gleichzeitige Verbindungen zum selben Pi zeigt.

    Die gewünschte Auflösung kannst du unter Windows konfigurieren.


    Die Auflösung von RPI -> Windows zu bestimmen habe ich noch nicht ausprobiert.

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Edited once, last by ps915 ().

  • danke scheint mir sinnvoller zu sein ;)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • nochmal ein Riesen Danke von mir, ist echt viel besser mit 1920er x 1080er Auflösung am PI zu programmieren als mit der Zwangsauflösung per HDMI_force....

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    • Official Post


    nochmal ein Riesen Danke von mir, ist echt viel besser mit 1920er x 1080er Auflösung am PI zu programmieren als mit der Zwangsauflösung per HDMI_force....


    Da hast du vollkommen Recht mit der Auflösung! ;)
    Ich kann bis jetzt auch sagen, dass es wirklich sehr flüssig läuft bei mir.
    Was das Programmieren angeht, erledige ich das allerdings auf einem Windows Rechner der über WinSCP mit dem Raspberry Pi verbunden ist. Er öffnet die Dateien in Notepad++ und mit einem klick auf "Speichern" ist es schon auf dem RPi gespeichert. So erspart man sich das rüberschieben usw. Für mich die komfortabelste Lösung. =)

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.


  • Was das Programmieren angeht, erledige ich das allerdings auf einem Windows Rechner der über WinSCP mit dem Raspberry Pi verbunden ist. Er öffnet die Dateien in Notepad++ und mit einem klick auf "Speichern" ist es schon auf dem RPi gespeichert. So erspart man sich das rüberschieben usw. Für mich die komfortabelste Lösung. =)


    nun ja da ich unter geany am PI programmiere spare ich das ganze rüberschieben ;) für mich komfortabler :D

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo,


    ich bin neu hier und kenne mich auch mit dem Raspi nicht so gut aus.
    Ich habe Dein Tutorial befolgt uns soweit hat alles geklappt bis aufs einloggen.
    Ich nutze entweder Microsoft Remote Desktop unter OSX, oder die App welche Du für iOS vorgeschlagen hast. Überall bekomme ich die Meldung "Login Fehlgeschlagen"



    Auch wenn ich erneut das Passwort eingebe habe ich keinen Erfolg :(
    Hast Du / Habt Ihr eine Idee was ich falsch mache ?


    Vielen Dank
    Marco

  • Also was RDP und Microsoft angeht.
    Es stimmt schon, dass das Zeugs von den Redmondern entworfen wurde und dass es für den Pi wohl besser ist, direkt X-Forwarding zu nutzen, doch ist das MS-Produkt eben auch fixer, das muss ich selbst zugeben und das, obwohl ich auf FOSS setze.


    Allerdings und das ist das schöne, wird bei 'xrdp' auch eine offene Variante verwendet, welche auch einsehbar ist, da alles auf GitHub liegt.


    Was einem jetzt mehr liegt, muss jeder für sich entscheiden, für Windows und MacOS-Nutzer ist höchstwahrscheinlich RDP angenehmer.
    Ich komme auch mit X-Forwarding klar, sofern ich es denn mal benötige, ansonsten arbeite ich halt nur auf der CLI und komme genauso weit.



    Grüße
    Hustenbold

    [font="Courier New"]

    Code
    print("Hallo Welt!")


    [/font]

  • Hallo,


    ich bin Neuling und habe folgendes Problem. Wenn ich mstsc unter Windows oder Microsoft Remote Desktop auf dem MAC starte, bekomme ich nach Zugang und Passwort nur das ersichtliche Bild. Im Protokoll vom RaspberryPi steht nur, dass er gestartet ist und lauscht. Wo liegt der Fehler?


  • soweit alles toll, nur vermisse ich Sound


    gibt es da eine Möglichkeit ? zu echtem RDP am abgesetzten PI gehört IMHO auch die Soundunterstützung :blush:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • merkwürdige Sache


    ich lege eine Datei auf den Desktop


    unter VNC (rechts) sehe ich sie mit : temp_
    unter XRDP (links) sehe ich sie nicht, aber im Dateimanager mit: temp_


    hat jemand ne Idee woran das liegt ? an den Zugriffsrechten kann ich keinen Unterschied erkenne


    vergesst den Unsinn, liegt nur an anderer Stelle im Schirm

  • Hallo zusammen,



    ich hoffe ich bin mit meiner Frage hier richtig.


    Warum läuft die grafische Oberfläche des wheezy, die ich im Terminal über startlxde starte mit dem englischen Tastaturlayout (ich habe Stunden verbracht dieses Layout auf DE zu stellen ohne Erfolg),
    Starte ich diese Oberfläche über die RemoteDesktopVerbindung bleibt das Layout auf DE.


    Habt ihr dafür eine Erklärung?


    alles Gute


    Boris