У меня есть некоторая программа X-клиента, которой нужен доступ к X-серверу. Доступ к X-серверу возможен только по протоколу TCP, но не с помощью других методов, таких как доменные сокеты Unix. Он будет работать на том же хосте, что и сервер, чтобы упростить процесс.
Итак, как я могу заставить свой сервер Xorg прослушивать TCP-порт 6000, но только для соединений с локального хоста?
Я нашел Как заставить X.org прослушивать удаленные соединения через порт 6000? , который объясняет, как включить доступ для удаленных хостов, но я не хочу удаленного доступа (в основном по соображениям безопасности).
Я думал о пересылке транспорта по умолчанию в TCP, но я не нашел информации о том, что такое транспорт по умолчанию.
(Я использую kdm в качестве диспетчера дисплеев, но думаю, что могу перенести решения для диспетчера дисплеев или даже переключить диспетчер дисплеев.)
Есть идеи?
Это 11.04 на смешанной установке Kubuntu-Ubuntu-XUbuntu (изначально Kubuntu, но я добавил ubuntu-desktop и xubuntu-desktop. При загрузке теперь говорится Xubuntu 11.04). Я сейчас использую классическую версию gnome, я думаю, из KDM.
/tmp/.X11-unix/X0
- это является примером AF_UNIX адреса (использование , netstat -x
чтобы увидеть свои собственные). Спецификация протокола X11 должна определять точные адреса для подключения. И вы действительно ДОЛЖНЫ прочитать его, если пишете клиентскую библиотеку для этого протокола.
/tmp/.X11-unix/X0
здесь также существует сокет (OpenSUSE), я проверю еще раз дома (в системе Ubuntu, упомянутой в вопросе). Теперь мне осталось только посмотреть, как переслать это в сокет TCP на 6000.