Mit dem HP T160 Thin Client steht ein nettes Stück x86-Hardware zur Verfügung, die nach ihrem regulären Ableben einfach weiter genutzt werden kann.
So lässt sich damit beispielsweise ein kompakter Homeserver, Media Center (HTPC) oder einfacher PC realisieren. Wegen der relativ schwachen Ausstattung kann man keine all zu großen Sprünge machen, je nach angedachten Zweck ist dennoch einiges machbar.
Für einen Kunden sollte nun ein einzelner Thin Client her, der einen Dual- bzw. Multi-Monitor-Betrieb ermöglicht. Am T610 gibt es neben einen DVI (mit VGA)- zusätzlich noch einen DisplayPort (DP)-Anschluss, die Grundvoraussetzungen wären damit schon mal erfüllt.
Das vorliegende Gerät hat keine Lizenz, ursprünglich wurde es vermutlich mal mit Windows 7 Embedded betrieben. Nun eine reguläre Windows-Lizenz für den Thin Client-Betrieb zu “opfern” wäre zu viel des Guten, in mehrfacher Hinsicht besser ist es eine Linux-Distribution zu verwenden.
In diesem Fall kommt Debian 11 Bullseye zum Einsatz. Der Vollständigkeit halber sei erwähnt, das es diverse Anwendungen gibt, mit denen Bestandshardware als Thin Client weiter genutzt werden kann. Wenn es nur um ein Einzelsystem geht und Recycling gemacht werden soll, ist der nachfolgend beschriebene Weg in Ordnung.
USB-Stick vorbereiten
Für die Installation kommt ein USB-Stick, der mit Ventoy vorbereitet wurde, zum Einsatz. Dadurch ist es einfach möglich, die *.iso-Datei auf diesen Stick zu kopieren. Ferner muss man sich (erstmal) keine Gedanken um BIOS oder UEFI bzw. UEFI Legacy machen.
Debian legt viel Wert auf den Open Source-Gedanken, leider stehen nicht immer für alle Hardware-Komponenten vollständig offengelegte Treiber zur Verfügung, daher greife ich lieber zur inoffiziellen *.iso, die bereits die non-free Firmware enthält. Diese kann hier heruntergeladen werden:
https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/
Die Hardware vorbereiten
Idealerweise hat man ein Gerät mit 16 GB SATA SSD oder weniger gut eine IDE SSD. Nach- oder Umrüsten lässt sich eine SATA SSD, mit ein wenig gebastel sogar mit DIY Halterung:
HP T610 ThinClient – DIY SSD-Halterung
Wer Wake-on-LAN (WoL) nutzen möchte sollte unbedingt im BIOS die UEFI-Boot-Devices deaktivieren:
Der Hintergrund zu diesem nicht ganz undringenden Apell liegt darin, das sich zwar Debian mit UEFI installieren lässt und die Hardware sogar via Magic Paket (WoL) gestartet werden kann, aber offensichtlich dann ein “UEFI-Bypass” greift und vmtl. versucht wird von einem Legacy-Boot-Device zu starten. Oder anders ausgedrückt:
Man bleibt schlicht an einem schwarzen Bildschirm mit blinkendem Cursor in der oberen linken Ecke hängen. Es startet noch nicht einmal Grub und man sieht auch sonst keine BIOS-Meldung.
Ob das nun ein Bug oder ein Feature ist, kann ich leider nicht sagen. Ins BIOS gelangt man übrigens entweder über “Esc” oder “F10”.
Das Basis-System installieren
Die eigentliche Installation ist unspektakulär, als Hostnamen kann die Seriennummer verwendet werden, bei der Software-Auswahl verzichtet man zunächst auf den Desktop, da dieser Task für den angedachten Zweck zu viel unnötige Pakete installieren würde. Stattdessen aktiviert man den SSH-Server, der für die spätere Fernwartung genutzt werden kann.
Einen minimalen Desktop einrichten
Gänzlich ohne grafische Oberfläche geht es nicht, man könnte zwar nur einen Display-Manager installieren und dann direkt via Remotedesktopverbindung o.ä. weiter arbeiten, etwas mehr Komfort kann es dann schon sein. Damit die Ressourcen geschont werden kommt Xfce zum Einsatz.
Alle nachfolgenden Befehle direkt an der Konsole oder via ssh, jeweils als root, ausführen:
apt install xfce4 xfce4-goodies
Bemerkung: Nicht “apt install task-xfce-desktop” ausführen, denn dann werden diverse Anwendungen gleich mit installiert!
Automatische Anmeldung am Desktop konfigurieren
Der Anwender soll sich morgens einfach an seinen Arbeitsplatz setzen und direkt loslegen können. Typisch bei Thin Clients ist, das man sich an diesen nicht anmelden muss. Gemeint ist dabei nur die lokale Anmeldung am Thin Client, nicht die Anmeldung an einen Terminalserver.
Damit beim Start automatisch ein Benutzer angemeldet wird, einfach wie folgt vorgehen:
nano /usr/share/lightdm/lightdm.conf.d/01_debian.conf
Folgende Zeilen ausführen:
[SeatDefaults] autologin-user=<Benutzername> autologin-user-timeout=0
Spiegeln einrichten
Das “Spiegeln” kennt man von vielen Thin Clients. Gemeint ist damit, das zu Support-Zwecken sich ein Helpdesk-Mitarbeiter auf den Desktop des Thin Clients verbinden kann. Er oder Sie sieht dann, was der Anwender auch sieht und kann z.B. Verbindungseigenschaften ändern. Damit dies bei unserem “Marke Eigenbau”-Thin Client ebenfalls möglich ist, wird X11vnc installiert:
apt install x11vnc
Zum Festlegen des VNC-Kennworts folgende Befehle ausführen:
x11vnc -storepasswd /etc/x11vnc.passwd chmod 0400 /etc/x11vnc.passwd
Damit X11vnc beim Starten des Systems ebenfalls ausgeführt wird und zwar vor der Benutzeranmeldung (falls es da mal Schwierigkeiten gibt), wie folgt den Dienst anlegen:
nano /lib/systemd/system/x11vnc.service
Folgenden Inhalt einfügen:
[Unit] Description=Start x11vnc After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -localhost -rfbauth /etc/x11vnc.passwd -rfbport 5900 -shared [Install] WantedBy=multi-user.target
Diese Konfiguration beschränkt den Zugriff auf “localhost” ein, d.h. ein direkter VNC-Zugriff ist so nicht möglich, man muss zuvor einen ssh-Tunnel aufbauen. Möchte man dies so nicht, entfernt man einfach “-localhost” aus der “ExecStart”-Zeile. Nun noch den Dienst registrieren und starten:
systemctl enable x11vnc.service systemctl start x11vnc.service
(Aktuelles) Remmina installieren
Damit man einfach Verbindungen zu Terminalservern oder anderen Systemen aufbauen kann, empfiehlt sich der Einsatz von Remmina.
Installiert man dieses allerdings auf dem Repository mittels
apt install remmina remmina-plugin-rdp remmina-plugin-vnc
erhält man allerdings nicht die aktuellste Version. Bei Debian 11 Bullseye ist es 1.4.11 und in Testing ist es 1.4.21, die zu diesem Zeitpunkt aktuelle Ausgabe. Damit hinsichtlich RDP die Multi-Monitor-Unterstützung gegeben ist wird mindestens Version 1.4.13 benötigt. Hat man Remmina bereits aus dem Repository installiert, kann es so entfernt werden:
apt remove remmina remmina-plugin-rdp remmina-plugin-vnc
Nun kann man über eine entsprechende Konfiguration die Pakete aus dem Testing- oder Unstable-Repository installieren, allerdings kann das ungewollte weitere Pakete und in Folge Nebenwirkungen nach sich ziehen. Besser ist es in diesem Fall auf Flatpak zu setzen.
Flatpak und darüber Remmina sind schnell eingerichtet:
apt install flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub Remmina
Remmina bzw. generell Flatpak-Apps kann man einfach via
flatpak update
aktualisieren. Soweit ist das Grundsystem vorbereitet und man kann mit
reboot
neu starten. Nach dem erfolgtem Neustart wird der Desktop angezeigt werden.
Remmina wird wie folgt gestartet:
flatpak run org.remmina.Remmina
Diesen Befehl kann man als Starter auf dem Desktop ablegen:
Es macht durchaus Sinn das Remmina direkt nach der Anmeldung gestartet wird, das passende Stichwort lautet Autostart. Den entsprechenden Eintrag kann man unter
Anwendungen - Einstellungen - Sitzung und Startverhalten
auf der Registerkarte “Automatisch gestartete Anwendungen” einfügen:
Zur Info: Die Speicherorte für Verbindungseinstellungen von Remmina sind
/home/user/.local/share/remmina/ Flatpak: /home/$USER/.var/app/org.remmina.Remmina/
RDP und RemoteApps mit FreeRDP
Wer nur RDP oder speziell RemoteApps nutzen möchte oder muss, hat mit Remmina leider Pech, da ersteres dort zwar unterstützt wird, letzteres allerdings nicht. Hier hilft der Griff zu FreeRDP, das man entweder aus dem Repository von Debian installieren kann:
apt install freerdp2-x11
Die Nutzung erfolgt im einfachsten Fall dann so:
xfreerdp /u:<Benutzername> /p:<Passwort> /v:<RDP-Server> /f
Für die Unterstützung vom Multimonitorbetrieb hängt man ein
/multimon
an. Für RemoteApps sieht der Befehl so aus:
xfreerdp /u:<Benutzername> /p:<Passwort> /v:<RDP-Server> /app:"||<RemoteApp-Name>" /smart-sizing
Mit “<RemoteApp-Name>” ist der Freigabename einer RemoteApp gemeint. Dieser muss in der gleichen Syntax angegeben werden, wie man sie beispielsweise in entsprechenden *.rdp-Dateien findet:
xfreerdp /u:<Benutzername> /p:<Passwort> /v:<RDP-Server> /app:"||Notepad" /smart-sizing
Die entsprechenden FreeRDP-Befehle kann man als Starter auf dem Desktop hinterlegen.
Fein-Tuning
Es sollte noch die eine oder andere Kleinigkeit eingestellt werden.
Automatisches Sperren deaktivieren
Per Vorgabe wird der Desktop gesperrt wenn das System in den Standby geht oder der Bildschirm nach Zeit X abgeschaltet wird. Regeln lässt sich das unter
Anwendungen - Einstellungen - Energieverwaltung - Sicherheit
Herunterfahren- und Neu starten-Schaltfläche einblenden
Um schneller und einfacher den Quasi-Thin Client herunterfahren oder neu starten zu können, bietet es sich an entsprechende Schaltflächen direkt sichtbar zu haben. Am (imho) einfachsten ist es, rechts oben mit der rechten Maustaste den Benutzernamen anzuklicken und “Eigenschaften” auszuwählen. An dieser Stelle ändert man “Erscheinungsbild” auf “Aktionsknöpfe” und de-/aktiviert unter “Aktionen” alle gewünschten Punkte:
Automatisch Ein-/Ausschalten
Einen automatischen Start des T610 lässt sich entweder über eine entsprechende BIOS-Konfiguration erreichen oder via Wake-on-LAN (WoL). Imho ist letzteres besser, da man bequem den Start von einem Server aus planen kann, ohne am Gerät selbst etwas umkonfigurieren zu müssen.
Damit das System automatisch herunterfährt kann man via ssh einen entsprechenden Befehl absetzen (lassen) oder mittels Cronjob einen Zeitpunkt planen. Im Terminal oder via ssh als root folgenden Befehl ausführen:
crontab -e
Anschließend folgendes Einfügen, um das System täglich um 20:00 Uhr herunter zu fahren:
0 20 * * * /sbin/shutdown -h now
Untere Leiste konfigurieren
Auf dem Desktop gibt es per Vorgabe eine Leiste am unteren Rand, die diverse vorkonfigurierte Symbole enthält. Mit unter kann diese störend sein und ungewollt eingeblendet werden. Neben dem Voreingestellten intelligenten Ausblenden ist ein generelles Ausblenden möglich oder man entfernt diese Leiste vollständig.
Konfigurieren kann man es so:
- Auf der oberen Leiste mit der rechten Maustaste klicken und “Leiste – Leisteneinstellungen” auswählen.
- “Leiste 2″ auswählen und wie gewünscht einstellen oder mit einem Klick auf die Minus-Schaltfläche” diese entfernen.
Weiteres
Man kann noch viel mehr anpassen und ändern wie z.B. die Schreibtisch-Symbole ausblenden oder das Anwendungen-Menü anpassen:
Xfce – Das Xfce 4.5+ Menü anpassen
Wake-on-LAN aktivieren
Damit WoL funktioniert, muss es zunächst im BIOS aktiviert sein. Wie das geht ist hier beschrieben:
manualslib – Wake-On Lan; Power-On Sequence – HP t610 Series Troubleshooting Manual
Kurz gesagt: “S5 Maximum Power Savings” muss auf “Disabled” stehen, ab Werk ist das der Fall. Wie eingangs erwähnt sollten zudem die UEFI-Boot-Devices deaktiviert sein.
Die nachfolgenden Schritte muss man nur unternehmen, wenn es nicht auf Anhieb funktioniert!
Neben der Hardware und den BIOS-Einstellungen muss auch das Betriebssystem mitspielen. Unter Debian kann man mit dem “ethtool” prüfen, ob Wake-on-LAN von der Netzwerkkarte unterstützt wird und ob es aktiv ist:
root@debian-thinclient:~# ethtool enp3s0 Settings for enp3s0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Auto-negotiation: on Port: Twisted Pair PHYAD: 1 Transceiver: internal MDI-X: on Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) drv probe link timer ifdown ifup rx_err tx_err Link detected: yes
Die Zeile “Wake-on:” gibt den Status an, “g” bedeutet das WoL für Magic Pakets aktiviert ist. Damit das Betriebssystem beim Herunterfahren die Netzwerkkarte in den richtigen Modus versetzt bzw. nicht komplett ausschaltet muss man folgendes konfigurieren:
nano /etc/network/interfaces iface enp3s0 inet dhcp ethernet-wol g post-up /sbin/ethtool -s $IFACE wol g post-down /sbin/ethtool -s $IFACE wol g
Die Änderung speichern und neu starten.
Abschlussbemerkung
Dieser Beitrag ist umfangreicher ausgefallen als ursprünglich erwartet, dennoch war ein Teil der einzelnen Schritte, vor allem bei Remmina, Flatpak, FreeRDP und WoL sehr lehrreich. Die länge des Textes soll allerdings niemanden abschrecken. Die eigentliche Installation inkl. Copy & Paste der hier aufgezeigten Befehle führt zu einem lauffähigen DIY-/Quasi-Thin Client in ca. 30 Minuten, wenn die verwendete Hardware performanter ist ist man sogar früher fertig.
Quellen
steemit – How to enable auto-login in Debian 9 Xfce
My Sysadmin Cheatsheet – X11VNC on Debian/Ubuntu
Elektronik Kompendium – VNC-Server auf dem Raspberry Pi einrichten (X11VNC)
Medium – Linux : Remote desktop multiple monitor support
serverfault – How can I run Debian stable but install some packages from testing?
debian grimoire – Installing Testing Packages on Stable
Debian – Wiki – AptPreferences
GitLab – Remmina – Issues – #376 – RDP: Multi monitor support
GitLab – Remmina – Issues – #2184 – Multi monitor support
Remmina – How to install Remmina
Flatpak – Docs – Getting Started – Using Flatpak
Thomas Krenn – wiki – Wake on LAN unter Linux
debianforum.de – [erledigt] wakeonlan zeigt keinen Wirkung
ArchLinux – Wiki – Wake-on-LAN
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Hallo. Super Anleitung, jedoch ist bei mir die Auflösung nur 600×800 und nicht änderbar und über “Einstellungen-Anzeige” wird nur “default” und keine Graka bzw. Monitor vorgeschlagen.
Bei ARCH mit XFCE war alles fein in FHD.
Fehlen Treiber oder ähnliches?
Gruß nelzon
Klingt nach fehlenden Treiber oder zu altem Kernel, wobei die Hardware ja schon gut abgehangen ist. Wie und in welchen Versionen würde denn installiert?
Aktuelles debian 11 non-free netinst-Version aus deinem Link. Also genau wie du es beschrieben hast. Der neuste Kernel wird doch dabei mitinstalliert, oder täusche ich mich?
Für die Nachwelt: “apt install firmware-amd-graphics” (Fehlermeldungen ignorieren) + “reboot” löste das Problem
Danke für dein Feedback. Seltsamerweise hatte ich das nicht bzw. den Befehl nicht benötigt.
Hallo,
ich freue mich immer wenn jemands sein Wissen zur Verfügung stellt.
Das ist “gut so” wie ein persöhnlichkeit mal Behauptete.
Meine Dank für die Mühe.
Grüße aus Münster
Hallo,
und Dankefür Deine Anleitung. Habe das ganze mit Debian12 nachgebaut und festgestellt, dass das “neue” Remina (muß nicht mehr das plugin-rdp bzw. plugin-vnc installiert werden) dort schon in der aktuellen Version drin ist genauso wie die non-free-Sachen.
Das ganze läuft bei mir auf eiem Futro S720 mit 8GB-SSD problemlos.
Eine Frage noch zu xfreerdp: nur notwendig für RemoteApss weil RDP Richtung Windowsserver läuft auch ohne Probleme mit Remina.
Gruß Jürgen
Hallo Jürgen,
der Beitrag ist gut zwei Jahre alt, da hat sich sicherlich mittlerweile das eine oder andere weiter entwickelt. Freut mich zu hören, das es nun einfacher ist.
> Eine Frage noch zu xfreerdp: nur notwendig für RemoteApss weil RDP Richtung Windowsserver läuft auch ohne Probleme mit Remina.
Wie lautet nun die Frage?
xfreerdp braucht man nur, wenn man RemoteApps nutzen möchte.
Verwendet man RDP um auf einen vollen Desktop zuzugreifen, reicht Remina völlig aus.
Hallo Andy,
genau das meinte ich, war im Text oben (für mich?) etwas verwirrend formuliert.
Gruß Jürgen