Situation
Auf einem Linux-Server wird ein XDM ausgeführt, das XDMCP unterstützt. Über einen X -query <server>
Befehl wird über XDMCP eine Verbindung zu verschiedenen Linux- und OS X-Boxen hergestellt .
Sobald der Benutzer angemeldet ist, wird der Fenstermanager gestartet, der meist über die Tastatur mit einer zugewiesenen Metataste gesteuert wird.
Problem
Der zugewiesene Metaschlüssel muss von der Plattform der Box abhängen, die eine Verbindung zum Linux-Server herstellt. Wie finde ich heraus, welche Plattform sich hinter dem verbundenen X-Server befindet?
Gedanken
Ich kann die Umgebungsvariable DISPLAY nicht zum Einschalten verwenden. Die IPs der Verbindungsboxen werden von DHCP zugewiesen und geben keinen Hinweis auf die Plattform der Box.
Ich weiß, dass die Option -class auf X verwendet werden kann, um die Anzeigeklasse festzulegen, die dann verwendet werden kann, um Standardeinstellungen für die verschiedenen Anzeigeklassen in Xresources festzulegen. Ich weiß jedoch nicht, wie ich die Klasse des verbundenen Xservers über die Befehlszeile (oder ein kleines benutzerdefiniertes C-Programm) abrufen kann, und außerdem weiß ich nicht, wie ich den Wert einer Xresource abrufen kann, die mit dieser Klasse konfiguriert werden würde .
Idealerweise kann der verwendete Metaschlüssel auf der Box konfiguriert werden, auf der der X-Server ausgeführt wird, sodass der Linux-Server, auf dem der xdm ausgeführt wird, keine Neukonfiguration benötigt, wenn im Setup ein neuer Plattformtyp eingeführt wird.
Was ist der beste Weg, um dies zu erreichen? Ist es möglich, die Plattform zu bestimmen, auf der der X-Server ausgeführt wird? Kann eine Konfigurationsoption vom Xserver an die Fenstermanager-Skripte übergeben werden? Gibt es einen besseren Weg, um dies zu lösen?
xmodmap
oderxkb
oder eine Einstellung/etc/xorg.conf
auf der X-Serverseite einrichten .xprop
konnte ich es noch nicht arbeiten, aber von der Seite , dass das Problem ist , dass der X - Server noch nicht ausgeführt wird , bevor dasX -query
gemacht wird, und danach xprop Zugriff nicht auf dem Anschlusskasten hat, ein xhost + <IP aus $ DISPLAY> müsste auf der Serverbox oder ähnlichem ausgeführt werden. Selbst dann ist mein xprop aus einem unbekannten Grund ausgefallen, den ich noch nicht lösen konnte.