domingo, 24 de fevereiro de 2013

Servidor de desktop remoto no Linux

O Remote Desktop Protocol (RDP) é um protocolo de rede desenvolvido pela Microsoft para acessar o ambiente de desktop de um outro computador. No sistema Windows é feito pelo Serviço de Área de Trabalho Remota (Remote Desktop Services, RDS). Um computador executando o cliente RDS acessa pela rede o desktop do computador com o servidor RDS, os controles do teclado e mouse são transmitidos ao computador cliente e a imagem do desktop é exibida em uma janela no computador cliente. Nos computadores pessoais modernos, o ambiente de desktop é a interface gráfica do sistema operacional.

No Linux, a implementação de código aberto do servidor para o RDP é o xrdp (www.xrdp.org). As principais distros fornecem o pacote de instalação em seus repositórios. Um comando como "yum install xrdp" ou "apt-get install xrdp" resolve a instalação. O xrdp é baseado no FreeRDP (www.freerdp.com), uma implementação gratuita do RDP.

O arquivo de configuração do xrdp é o "/etc/xrdp/xrdp.ini". Seu conteúdo geralmente não precisa ser alterado, mas se for preciso é bem simples, como apresentado abaixo:

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=high
channel_code=1

[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1


A alteração que pode ser necessária é quanto a preferência do gerenciador de janelas. Para isso, edite o arquivo "/etc/xrdp/startwm.sh" e altere a linha SESSIONS, colocando em ordem de preferência o seu gerenciador de janelas:

SESSIONS="startkde gnome-session blackbox fluxbox startxfce4 xterm"

Outra necessidade é a definição do mapa de teclado. Ela é feita pelo arquivo "/etc/xrdp/km-xxxx.ini. O LCID para o português brasileiro é o número hexadecimal 0416. Então, verifique se existe o arquivo "/etc/xrdp/km-0416.ini". Se não existir, é preciso gerá-lo com a ferramenta xrdp-genkeymap, na linha de comando:

# xrdp-genkeymap /etc/xrdp/km-0416.ini

Observações: O xrdp-genkeymap se baseia no mapa configurado no servidor do X. Não importa o número que é dado para o arquivo km-xxxx.ini, o conteúdo gerado é proveniente das configurações do X. O meu xrdp curiosamente carrega e usa o mapa do arquivo km-0409.ini (en-us), mesmo com o X configurado para ABNT2 pt-br e inclusive existindo o arquivo km-0416.ini, então eu gerei o mapa sobrescrevendo este arquivo da língua inglesa (0409). A documentação do xrdp é muito pouca para esclarecer este quesito de mapa de teclado.

Provavelmente tudo está pronto para funcionar. Existem outros arquivos para configuração, scripts etc. mas só edita-se caso queira uma personalização maior, desta forma, é só iniciar o serviço do servidor xrdp para tornar ativo:

# service xrdp start

A máquina com o servidor do RDP está pronta para receber conexões de clientes de RDP. No Linux existe o cliente "rdesktop", na linha de comando. O artigo "Serviço de Área de Trabalho Remota do Windows" (http://dan-scientia.blogspot.com.br/2010/04/servico-de-area-de-trabalho-remota-do.html) mostra o serviço no sistema Windows e a linha de comando do rdesktop para tal conexão. Este serviço de RDP é bastante útil para manutenção de sistema pela rede.

Nenhum comentário:

Postar um comentário