8.11.08

Acessando o Servidor X remotamente em uma rede Windows


Recentemente tive a necessidade de montar um servidor de arquivos Linux para um cliente e, por questão de economia, o servidor não deveria ter monitor. A principio quando fosse fazer alguma manutenção, teria que ligar um monitor ao servidor mas isso seria extremamente trabalhoso. Daí pensei: Porque não acessar o servidor de um terminal?

A rede era composta de 7 terminais com Windows XP e um servidor de arquivos Linux (openSUSE 11.0) no ambiente KDE.

As configurações embora muito simples, trazem um resultado bastante satisfatório. Algo semelhante no mundo Windows seria o Terminal Server ou algo parecido com o VNC, porém a versatilidade do
X Window System é insuperável.
A grande vantagem do X Window System é que ele pode ser Cliente/Servidor, ou seja: Ele pode ser executado tanto localmente como remotamente. Digamos que você tenha uma aplicação em algum Linux que todas as outras estações precisam executá-las também, você pode configurar para que estas estações acessem o Servidor X onde está esta aplicação. As estações podem funcionar apenas localmente, remotamente ou das duas formas. Quem vai determinar isso é o administrador.
Pegando como exemplo uma estação antiga, com poucos recursos, pode ser configurada para acessar o ambiente gráfico num Servidor X Window System sem comprometer seus recursos, pois o processamento é feito no Servidor e não na estação.

Vamos ficar apenas no ambiente citado, 7 terminais XP e um servidor Linux. Nessa primeira etapa, nosso trabalho se resume em alterar no servidor Linux (como root) apenas 2 arquivos: O Xaccess e o kdmrc.
Vamos editar primeiro o arquivo Xaccess que se encontra no diretório /etc/X11/xdm. Com um editor de textos de sua preferência, apague o comentário ( # ) das seguintes linhas:
#any host can get a login window
*CHOOSER BROADCAST #any indirect host can get a chooser


Salve o arquivo. Agora vamos editar o arquivo kdmrc que se encontra no diretório /opt/kde3/share/config/kdm. Enquanto buscava informações na web de como fazer esse procedimento, vi varios exemplos do arquivo kdmrc, porém no openSUSE 11.0 esse arquivo não tinha as mesmas opções de configurações, daí pude perceber uma copia de backup desse arquivo (kdmrc.bak) no mesmo diretório. Não entendi porque dessa copia, até então não tinha feito nenhuma alteração no kdmrc, isso deve ser alguma artimanha do yast...Sabendo disso, vamos renomear o arquivo kdmrc para kdmrc~ ou kdmrc.old depois renomear o arquivo de backup kdmrc.bak para kdmrc. Com um editor de textos de sua preferência, procure a sessão Xdmcp, apague o comentário ( # ) na linha Enable=false e mude para Enable=true.





Salve o arquivo, reinicie o X (Ctrl+Alt+Backspace). Pronto, no servidor Linux esta terminado as configurações.
Para acessar o servidor através do Windows, temos que instalar o software Xmanager (muito pratico na minha opinião). Depois de instalado, execute o programa Xbrowser.



Embora tenha feito todo esse procedimento na empresa do cliente, esse texto foi elaborado em meu laboratório. Então tive a curiosidade de colocar mais uma maquina Linux na rede, provando assim que é possível usar esse tutorial em qualquer distro desde que use o KDM como gerenciador de login padrão. A distro usada foi o CentOS 5.2 que basicamente só muda a localização dos arquivos de configuração, ambos em /usr/share/config/kdm.


openSUSE no terminal XP:

Agora o CentOS:

O resultado de tudo isso foi criar a possibilidade de manter o servidor em um local seguro e livre de monitor, mouse e teclado. Realmente em termos de acesso remoto (em uma lan) no Linux essa foi a melhor ferramenta que já usei, leve, pratica e eficiente. E o melhor: ferramenta nativa do sistema ;)