Ich habe ein X-Client-Programm, das Zugriff auf einen X-Server benötigt. Es kann nur über TCP auf den X-Server zugreifen, nicht über andere Methoden wie Unix-Domain-Sockets. Es wird auf demselben Host wie der Server ausgeführt, um die Arbeit zu vereinfachen.
Wie kann ich meinen Xorg-Server dazu bringen, den TCP-Port 6000 abzuhören, aber nur auf Verbindungen von localhost?
Ich habe gefunden, wie X.org Remoteverbindungen auf Port 6000 abhören kann. , in dem erklärt wird, wie der Zugriff für Remote-Hosts aktiviert wird, ich möchte jedoch keinen Remote-Zugriff (hauptsächlich aus Sicherheitsgründen).
Ich dachte darüber nach, den Standardtransport irgendwie an TCP weiterzuleiten, fand aber keine Informationen darüber, was der Standardtransport ist.
(Ich verwende hier kdm als Display-Manager, aber ich denke, ich kann Lösungen entweder für den Display-Manager übertragen oder sogar den Display-Manager wechseln.)
Irgendwelche Ideen?
Dies ist am 11.04 in einer gemischten Kubuntu-Ubuntu-XUbuntu-Installation (ursprünglich Kubuntu, aber ich habe ubuntu-desktop und xubuntu-desktop hinzugefügt. Beim Booten heißt es jetzt Xubuntu 11.04). Ich benutze jetzt den gnome-klassischen Desktop von KDM.
/tmp/.X11-unix/X0
- dies ist ein Beispiel für eine AF_UNIX-Adresse (verwenden Sie diese netstat -x
, um Ihre eigene zu sehen). Die X11-Protokollspezifikation sollte die genauen Adressen bestimmen, mit denen eine Verbindung hergestellt werden soll. Und Sie MÜSSEN es wirklich lesen, wenn Sie eine Client-Bibliothek für dieses Protokoll schreiben.
/tmp/.X11-unix/X0
Existiert hier auch ein Socket (OpenSUSE), werde ich zu Hause nochmal nachschauen (auf dem in der Frage genannten Ubuntu-System). Jetzt muss ich nur noch sehen, wie man das um 6000 an einen TCP-Socket weiterleitet.