12.11.08

Acessando o Servidor X remotamente em uma rede Linux


Como foi dito no artigo anterior, é extremamente facil configurar o X Window System para ser acessado remotamente. Embora fizemos o procedimento para ser acessado de um terminal Windows, de um terminal Linux ainda é mais facil fazer o acesso.

Vamos criar o seguinte ambiente: Temos um servidor Linux (openSUSE 11) e precisamos configurar a estação Linux para acessar o X Window System desse servidor.
Vamos montar uma estação bem antiga, com poucos recursos pois (como ja foi dito no artigo anterior) o processamento será feito no Servidor e não na estação.
Para montar a estação, peguei algumas sucatas aqui no meu laboratorio e o resultado foi um celerom 300 MHZ, 128 MB ram (1 pente 64 MB + 2 de 32 MB), rede Realtek PCI 8139, motherboard XCell 2000, HD 2.1 GB. E instalei o (saudoso) Conectiva 8.

 







Uma das vantagens de acessar o X em uma rede Linux é não ter que instalar nenhum programa adicional, usaremos apenas um terminal para fazer o acesso remoto. Em quase todas distribuições Linux já vem configurado por padrão acessar, através do modo texto, até 6 terminais.



Agora vou abrir o terminal 1 no Conectiva 8 e digitar o seguinte comando:  
X :1 -query 192.168.1.3

Onde:
:1
= terminal usado para fazer o acesso remoto.
192.168.1.3 = numero de IP do servidor.

Resultado: meu desktop no Conectiva 8.




 

O resultado de tudo isso é mostrar a viabilidade do Linux. Digamos que você tenha uma aplicação em algum servidor Linux e que todas as outras estações precisam executá-la, você pode configurar para que as estações acessem o X Window System desse servidor sem comprometer os recursos do terminal. Sem falar na economia de hardware, pois, os terminais podem ser montados com hardwares que praticamente não servem para nada. Basta ter recursos suficientes no servidor para suportar os terminais conectados a ele.

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 ;)