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?