J'ai un programme client X qui a besoin d'accéder à un serveur X. Il ne peut accéder au serveur X que par TCP, pas par d'autres méthodes comme les sockets de domaine Unix. Il fonctionnera sur le même hôte que le serveur, pour faciliter les choses.
Alors, comment puis-je faire en sorte que mon serveur Xorg écoute sur le port TCP 6000, mais uniquement pour les connexions de l'hôte local?
J'ai trouvé Comment faire pour que X.org écoute les connexions à distance sur le port 6000? , ce qui explique comment activer l'accès pour les hôtes distants, mais je ne veux pas vraiment l'accès à distance (pour des raisons de sécurité, principalement).
J'ai pensé à transférer le transport par défaut vers TCP, mais je n'ai pas vraiment trouvé d'informations sur le transport par défaut.
(J'utilise kdm comme gestionnaire d'affichage ici, mais je pense que je peux transférer des solutions pour le gestionnaire d'affichage, ou même changer de gestionnaire d'affichage.)
Des idées?
C'est le 11.04 sur une installation mixte Kubuntu-Ubuntu-XUbuntu (à l'origine Kubuntu, mais j'ai ajouté ubuntu-desktop et xubuntu-desktop. Au démarrage, il est maintenant dit Xubuntu 11.04). J'utilise maintenant le bureau gnome-classic, je pense, de KDM.
/tmp/.X11-unix/X0
- c'est un exemple d'adresse AF_UNIX (utilisez netstat -x
pour voir la vôtre). La spécification du protocole X11 doit déterminer les adresses exactes auxquelles se connecter. Et vous DEVEZ vraiment le lire si vous écrivez une bibliothèque cliente pour ce protocole.
/tmp/.X11-unix/X0
existe aussi comme socket ici (OpenSUSE), je vais vérifier à nouveau à la maison (sur le système Ubuntu nommé dans la question). Maintenant, je n'ai plus qu'à voir comment transmettre cela à un socket TCP à 6000.