In vielen Fällen kann es durchaus sinnvoll sein, ein Tablet oder Handy als zusätzliches Display einzurichten. Wenn der eigentliche Rechner, der Ereignisse über Schnittstellen verarbeitet, die ein Tablet nicht besitzt, zu weit vom eigentlichen Geschehen weg steht, ist ein Tablet als tragbarer Monitor von Vorteil. Unter Linux kann man das über VNC realisieren, was vielen von der Fernwartung von Computern bekannt sein dürfte.
Der für die Ausgabe auf Monitore verantwortliche X-Server erkennt i.d.R. automatisch einen zusätzlichen an die Grafikkarte angeschlossenen Monitor. Da das Tablet aber nicht an einen physikalischen Ausgang sondern über Netzwerk angeschlossen wird, müssen wir dem X-Server eine Schnittstelle dafür bereitstellen. Dazu legen wir als Root eine Datei /usr/share/X11/xorg.conf.d/20-virtual.conf mit folgendem Inhalt an:
Section "Device" Identifier "intelgpu0" Driver "intel" Option "VirtualHeads" "1" EndSection
Für AMD- oder Nvidia-Grafikkarten müssen die Einträge Identifier und Driver entsprechend angepasst werden. Danach muss der X-Server bzw. der verwendete Display-Manager neu gestartet werden. Also loggt man sich von der grafischen Oberfläche aus, wechselt mit STRG+ALT+F1 auf die erste virtuelle Konsole, meldet sich dort als Root an und startet den Displaymanager neu. Im Falle von lightdm durch den Befehl:
systemctl restart lightdm.service
Danach mit STRG+ALT+F7 wieder auf das grafische Terminal wechseln und einloggen.
Auf dem Hostrechner müssen noch, falls nicht schon vorhanden, die folgenden Pakete installiert werden:
sudo apt install x11vnc arandr x11-xserver-utils
Auf dem Client-Rechner - also dem Tablet - muss ein geeigneter VNC-Viewer installiert sein. Für Linux empfehle ich xtightvncviewer, der in den Paketquellen enthalten sein sollte. Diesen Viewer gibt es auch für Windows und MAC. Für Android hat sich bVNC bewährt.
Zuerst muss eine neue Modeline für das anzulegende virtuelle Display dem X-Server bekannt gemacht werden. Für eine Auflösung von 800x600 bei 60Hz sähe der zugehörige Befehl so aus:
gtf 800 600 60 | sed '3q;d' | sed 's/Modeline//g' | xargs xrandr --newmode
Dann muss diese Modeline dem virtuellen Display VIRTUAL1 zugeordnet werden.
gtf 800 600 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --addmode VIRTUAL1
Jetzt platzieren wir das virtuelle Dsipaly rechts vom physikalischen Display - im Beispiel eDP1
gtf 800 600 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --output VIRTUAL1 --right-of eDP1 --mode
Beim Start des VNC-Servers geben wir ihm als Parameter für den Bildausschnitt die Auflösung des virtuellen Displays und die Breite des physikalischen Displays - im Beispiel 1920 - mit.
x11vnc -clip 800x600+1920+0
Auf dem Client-Rechner muss nun noch der VNC-Viewer gestartet werden. Dieser benötigt zum Verbindungsaufbau den Hostnamen oder die IP-Adresse des VNC-Servers.
xtightvnc --fullscreen 192.168.1.114
Ab jetzt können vom Host-Rechner einzelne Fenster oder ganze Anwendungen auf das Tablet geschoben werden.
Da sich niemand die einzelnen Schritte und Befehle merken kann und weil ich oft mit Geräten unterschiedlicher Auflösung als Zweit-Display arbeite, habe ich ein Script erstellt, welches die Schritte nacheinander ausführt und nach Beenden des Viewers auf dem Client auch das virtuelle Display auf dem Host-Rechner abschaltet. Dem Script kann die Auflösung des virtuellen Displays übergeben werden. Geschieht dies nicht, wird eine Default-Auflösung angewandt. Dadurch kann für die verschiedensten zur Anwendung kommenden Geräte jeweils ein Starter für das Script auf der GUI angelegt werden. Das Script kann hier heruntergeladen werden. Einfach in ein Verzeichnis Eurer Wahl kopieren und ausführbar machen. Vorzugsweise sollte dieses Verzeichnis in PATH enthalten sein.
Bei Fehlern, Fragen oder Anregungen schreibt eine Mail.
Die vorgeschlagene Lösung verzichtet bewusst auf sämtliche Sicherheitsfeatures wie Verschlüsselung der Datenübertragung oder Authentifizierung am Server, da wir hier im eigenen Netzwerk arbeiten. Soll der Bildschirminhalt über das Internet freigegeben werden, müssen alle Fragen der Sicherheit neu überdacht werden.