Eu tenho algum programa cliente X que precisa acessar um servidor X. Ele só pode acessar o servidor X por TCP, não por outros métodos, como soquetes de domínio unix. Ele será executado no mesmo host que o servidor, para facilitar as coisas.
Então, como posso fazer meu servidor Xorg escutar na porta TCP 6000, mas apenas para conexões do host local?
Encontrei Como fazer o X.org ouvir conexões remotas na porta 6000? , que explica como habilitar o acesso a hosts remotos, mas eu realmente não quero acesso remoto (principalmente por razões de segurança).
Pensei em encaminhar de alguma forma o transporte padrão para o TCP, mas não encontrei informações sobre qual é o transporte padrão.
(Estou usando o kdm como meu gerenciador de exibição aqui, mas acho que posso transferir soluções para o gerenciador de exibição ou até mudar o gerenciador de exibição.)
Alguma ideia?
Isso ocorre no 11.04 em uma instalação mista do Kubuntu-Ubuntu-XUbuntu (originalmente Kubuntu, mas eu adicionei o ubuntu-desktop e o xubuntu-desktop. Na inicialização, agora está dizendo o Xubuntu 11.04). Agora estou usando a área de trabalho gnome-clássica, eu acho, do KDM.
/tmp/.X11-unix/X0
- este é um exemplo de endereço AF_UNIX (use netstat -x
para ver o seu). A especificação do protocolo X11 deve determinar os endereços exatos aos quais se conectar. E você realmente DEVE lê-lo se estiver escrevendo a biblioteca do cliente para esse protocolo.
/tmp/.X11-unix/X0
existe como um soquete aqui (OpenSUSE), também, vou verificar novamente em casa (no sistema Ubuntu mencionado na pergunta). Agora eu só tenho que ver como encaminhar isso para um soquete TCP em 6000.