Raspberry 2 / 3 als Thin Client am Windows Server 2012 & 2008

  • Es gibt zwar haufenweise Einträge und Posts zu diesem Thema, aber die Arbeit, alle Details zusammenzusuchen war für mich als Nicht-Profi doch erheblich. Vielleicht erspart diese Anleitung Anderen diese Mühe. Für Verbesserungsvorschläge bin ich immer zu haben!

    Projektziel:

    • Raspberry Pi als billiger Ersatz für 10 proprietäre Thin Clients in einem kleinen Unternehmen.
    • Als Server kommen Windows Server 2008 R2 und Windows Server 2012 Foundation zum Einsatz (RDP Sitzungshost).
    • Es soll Standard OS Raspbian verwendet werden, keine speziellen Distributionen (wie etwa das Projekt rpitc).
    • Audio wird am Thin Client nicht gebraucht, wurde daher auch nicht getestet.
    • Der RaspPi soll automatisch in die Remote Desktop Sitzung starten.

    Vorgehensweise:

    • Erstellen einer "Master SD Card" für einen Raspi 2 B
    • Test und Abnahme
    • Kopieren der SD Card für alle anderen Raspi´s


    Hardware & Image
    Verwendet wurden Pi2B, die seitens Performance ausreichen. Pi3 sollte ohne Änderung möglich sein.
    Erste Stolperfalle waren Netzteil und SD Card. Fast alle Anfangsprobleme lagen daran.
    Die ersten Schritte mit dem Pi werden z.B. hier beschrieben.
    Raspbian "Jessie" wird hier heruntergeladen. Noobs und Jessie Light sind ungeeignet.
    Für das Vorbereiten und Imagen der SD Karte unter Windows habe ich gute Erfahrunge mit dem USB Image Tool gemacht.

    Zweite Stolperfalle: Soll später das Image auf weitere SD Karten kopiert werden, dürfen diese nicht kleiner sein. Leider variieren die Kapazitäten gelegentlich um wenige KB und schon klappt das kopieren nicht mehr. Alle Tipps & Tricks zum Reduzieren der Imagegröße (von dem ja nur ein Teil tatsächlich genutzt wird) waren entweder aufwändig oder funktionierten nicht. Am besten also immer denselben Typ SD Card nehmen oder das Master Image auf einer kleineren SD erstellen.

    Konfiguration:
    Nach dem Start des Raspi: Menu / Konfiguration
    Deutsche Zeitzone
    Deutschen Keyboard Layout
    Hostname anpassen (z.B. Pi[lfd Nr])

    Terminal starten, IP Adresse mit "ifconfig" abfragen

    Alle weiteren Einstellungen habe ich dann vom PC aus mit dem SSH Client "Kitty" vorgenommen (ist bequemer). In Kitty bei Verbindungseinstellung „SFTP“ über den SSH-Port 22 eintragen.

    Passwörter ändern
    [font="Liberation Sans, sans-serif"]sudo passwd (ändert pw für root)[/font][font="Liberation Sans, sans-serif"]
    su root (mit o.a. neuem pw)[/font]
    [font="Liberation Sans, sans-serif"]sudo passwd pi (ändert pw für den Standarduser pi[/font]

    Überflüssige Pakete entfernen
    [font="Liberation Sans, sans-serif"]sudo apt-get purge --autoremove libreoffice* idle idle3 scratch sonic-pi timidity wolfram-engine python-pygame penguinspuzzle minecraft-pi[/font]
    [font="Liberation Sans, sans-serif"]sudo apt-get clean[/font]

    Einstellung der Bildschirmauflösung
    In meinem Fall werden alte VGA Monitore über ein HDMI-VGA Adapter angeschlossen (was gut funktioniert). In diesem Fall muss die Auflösung manuell konfiguriert werden:
    [font="Liberation Sans, sans-serif"]Für HDMI Anzeigemodus 35 (60Hz) oder 36 (75Hz):
    sudo nano /boot/config.txt
    [/font][font="Liberation Sans, sans-serif"]Ergänze und entferne die Auskommentierung[/font][font="Liberation Sans, sans-serif"]
    disable_overscan=1
    hdmi_group=2
    hdmi_mode=36
    [/font][font="Liberation Sans, sans-serif"]- Save the edited file [/font][font="Liberation Sans, sans-serif"]Strg[/font][font="Liberation Sans, sans-serif"]-x, [/font][font="Liberation Sans, sans-serif"]J[/font][font="Liberation Sans, sans-serif"], [enter][/font][font="Liberation Sans, sans-serif"]
    sudo reboot[/font]

    Pakete aktualisieren
    sudo apt-get update
    sudo apt-get dist-upgrade

    [font="Liberation Sans, sans-serif"]Rdesktop[/font] [font="Liberation Sans, sans-serif"]hinzufügen[/font]
    Stolperfalle 3: Die Version 1.8.2-3 aus den aktuellen Repositories hat nicht funktioniert. Sie erzeugt einen Fehler "Error CredSSP: Initialize failed, do you have correct kerberos tgt initialized?`Connection esatblished using SSL. Error: SSL_write: 5 (Die Verbindung wurde vom Kommunikationspartner zurückgesetzt)"
    Das passiert gegen den Server, nicht gegen einen Test-Windows-10-PC. [font="Liberation Sans, sans-serif"]Den Fehler behebt ein neu kompiliertes Rdesktop Version 1.8.3.
    [/font]
    [font="Liberation Sans, sans-serif"]Vorher [/font][font="Liberation Sans, sans-serif"]abhängige Bibliotheken installieren[/font]
    [font="Liberation Sans, sans-serif"]sudo apt-get install libssl-dev [/font]
    [font="Liberation Sans, sans-serif"]sudo apt-get install libx11-dev[/font]

    [font="Liberation Sans, sans-serif"]rdesktop[/font] [font="Liberation Sans, sans-serif"]1.8.3 von[/font] [font="Liberation Sans, sans-serif"]rdesktop.org → [/font][font="Liberation Sans, sans-serif"]https://github.com/rdesktop/rdesktop/releases/tag/v1.8.3[/font] [font="Liberation Sans, sans-serif"]downloaden[/font]
    [font="Liberation Sans, sans-serif"]cd Download[/font][font="Liberation Sans, sans-serif"]
    tar xvzf rdesktop-1.8.3.tar.gz
    cd rdesktop-1.8.3[/font]
    [font="Liberation Sans, sans-serif"]sudo ./configure --disable-credssp --disable-smartcard
    sudo make
    sudo make install[/font]

    [font="Liberation Sans, sans-serif"]rdesktop liegt dann auf /usr/local/bin/rdesktop[/font][font="Liberation Sans, sans-serif"]
    Vorgehen siehe auch hier: http://http://www.itworld.com/article/298828…-for-linux.html/article/2988289/linux/how-to-install-and-use-rdesktop-the-remote-desktop-client-for-linux.html[/font]


    Shellscript für den Start der RDP Sitzung erstellen
    [font="Liberation Sans, sans-serif"]nano /home/pi/startrdp.sh
    … und folgendes Script einfügen.[/font]

    [font="Liberation Sans, sans-serif"]#!/bin/bash
    while ! ping -c 1 [IP Adress des Servers] > /dev/null; do [/font]
    [font="Liberation Sans, sans-serif"]sleep 1; [/font]
    [font="Liberation Sans, sans-serif"]done
     exec rdesktop [IP Adress des Servers] -f -d [DOAMIN] -u [USER][/font]

    [font="Liberation Sans, sans-serif"]Jetzt noch die Rechte zum Ausführen setzen und fertig[/font]
    [font="Liberation Sans, sans-serif"]
    chmod +x startrdp.sh[/font]

    Link des Start-Scripts auf den Desktop legen

    [font="Liberation Sans, sans-serif"]ln -s /home/pi/startrdp.sh /home/pi/Desktop/startsession[/font]

    Autostart einrichten
    mkdir ~/.config/autostart
    nano ~/.config/autostart/.desktop

    … [font="Liberation Sans, sans-serif"]und folgende Zeilen einfügen.[/font]

    [font="Liberation Sans, sans-serif"][Desktop Entry]
    Type=Application
    Exec=/home/pi/startrdp.sh[/font]

    Bildschirmsperre
    In Firmenumgebungen ist die Zugangssicherung essentiell. Leider sind die Möglichkeiten des Raspbian beschränkt, daher muss auf den alten XScreensaver zurückgegriffen werden.

    [font="Liberation Sans, sans-serif"]sudo apt-get install xscreensaver[/font]

    [font="Liberation Sans, sans-serif"]xscreensaver über Menü / Einstellungen aufrufen[/font]
    Anzeigemodi: Nur einen Bildschirmschoner: Bildschirm schwärzen, 5 min, sperren nach 15 min, Bildschirmschoner „Ripples“, der ein Bild des Firmenlogos anzeigt (alle Effekte sind dabei abgeschaltet).

    [font="Liberation Sans, sans-serif"]
    Soll der Bildschirm auch manuell gesperrt werden können (Strg-Alt-L):
    [/font]


    nano ~/.config/openbox/lxde-pi-rc.xml

    suche
    <!--keybindings for LXPanel →

    [font="Liberation Sans, sans-serif"]und ergänze[/font]

    <keybind key="C-A-L">
    <action name="Execute"><command>xscreensaver-command –-lock </command></action>
    </keybind>


    Individualisieren der SD Clones:
    Alle Raspi-Thin Clients sind identisch (Clones). Vor der Nutzung müssen lediglich Hostname (Menu / Konfiguration) und Username (im Startscript) individualisiert werden.

    Und was ist mit Ausschalten?
    Die Pi´s bleiben immer an. Nach der Arbeit melden sich die Nutzer vom RDP-Server ab und schalten den Monitor aus.
    Der Stromverbrauch des Pi ist vernachlässigbar, das schnelle Herstellen der Arbeitsfähigkeit (nur startrdp vom Desktop anklicken) kommt sehr gut an.

    Was noch zu tun ist
    - eine schöne Desktopverknüpfung mit Icon für den RDP-start
    - eine bessere Screen-Lock Lösung

    Einmal editiert, zuletzt von rich05 (1. Juni 2016 um 18:01)

  • Raspberry 2 / 3 als Thin Client am Windows Server 2012 & 2008? Schau mal ob du hier fündig wirst!

  • Danke für das Tut! Trotz der langen Zeit ein paar Nachfragen, bevor ich sowas ebenfalls aufsetze:

    • gibt es Möglichkeiten, Dateien auf den Gastcomputer zu übertragen und wieder zurück, z.B. per USB?
    • gibt es Einschränkungen bei den Windows-Tasten?
    • Hast du das Setup weiter in Betrieb, welche Änderungen sind nötig geworden?
    • Sind die Graphikeigenschaften gar nicht oder nur eingeschränkt zu gebrauchen?

    Danke! Thomas

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!