Utilizando outros Windows Managers simples
Como carregar Windows Managers simples, diferente do padrão do seu sistema?
No
Xubuntu, o desktop padrão é o
Xfce 4, e caso você instalar o
Window Maker e prefira sempre usar o mesmo, não mais utilizando o desktop Xfce 4, o desktop exibido será sempre o do Xfce 4 na sessão remota do xrdp, pois este é o padrão do sistema.
Solução para exibir o desktop do Window Maker no xrdp, na pasta "/etc/xrdp" crie o link:
ln -s /usr/bin/wmaker
Onde "/usr/bin/wmaker" é a localização do executável do Window Maker, podendo em outras distribuições ou pacotes compilados, ser diferente a localização do mesmo.
Agora você deve editar o arquivo "/etc/xrdp/sesman.ini". Altere as linhas "UserWindowManager" e "DefaultWindowManager", que utilizam por padrão o "startwm.sh" por wmaker, ou pelo nome do executável que lança o seu gerenciador de janelas preferido.
Você deve parar a sessão atual do servidor xrdp e depois executar novamente para entrar em efeito as novas configurações.
# cat /etc/xrdp/sesman.ini # Conteúdo parcial
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=wmaker
DefaultWindowManager=wmaker
O mesmo procedimento também deve ser feito se você usar o Fluxbox ou outros Windows Managers simples, que necessitam apenas de um único arquivo para inicializar todo o desktop por completo.
* Esta dica pode não funcionar com o Xfce 4 nas distribuições baseadas no
Slackware, pois são necessários vários comandos do Xfce 4 a ser executados para deixar funcional o desktop do mesmo, caso seja especificando somente o executável principal deste gerenciador de janelas, pois é utilizado outro método pra inicialização padrão do gestor de janela nesta distribuição.
Neste caso, uma solução que não testei, seria criar um script com todos os comandos do Xfce 4 necessários para executar o gerenciador de janela, criar o link para o script, e nas linhas UserWindowManager e DefaultWindowManager, colocar o nome deste script.
Como o xrdp sabe qual é o gerenciador padrão do sistema?
No arquivo "/etc/xrdp/startwm.sh" tem a linha "/etc/X11/Xsession", que diz para utilizar o arquivo "/etc/X11/Xsession", que está localizado em "/etc/X11" e sendo este arquivo é o que executa o ambiente gráfico padrão da instalação do sistema.
Para outros windows managers instalados mais tarde, os mesmos vão substituir o padrão do sistema, podendo apenas você escolher no momento do seu login qual deseja utilizar, sendo sempre salvo automaticamente o último gerenciador usado ao desligar o computador.
Testado no
Xubuntu 12.10.
Firewall com RDP
Para obter o acesso remoto, é necessário liberar a porta 3389 (TCP e alguns casos, podem ser necessário também abrir a porta UDP), caso as mesmas estejam bloqueadas e sendo preciso configurar as regras do firewall do
GNU/Linux (IPtables).
Regra pra abrir a porta do servidor xrdp diretamente com o
IPtables:
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT
Ao abrir somente a porta TCP 3389, o acesso remoto já funciona perfeitamente.
Para quem usa o UFW, use:
# ufw allow proto tcp from 192.168.1.0/24 to any port 3389
Caso o firewall esteja ativo e se não foi aberta a porta TCP 3389 ao tentar se conectar com o servidor remoto xrdp, será retornado o erro abaixo:
rdesktop 192.168.1.101
Autoselected keyboard map pt-br
ERROR: 192.168.1.101: unable to connect (leva uns 35 segundos até vir o retorno de erro)
Quando a porta 3389 está liberada no firewall ou o mesmo está desativado, a tela de login para conexão remota aparece instantaneamente.
Outras
No micro mesa ao liberar a porta para acesso xrdp:
# iptables -L
Resultado parcial da saída do comando:
Chain INPUT (policy DROP)
target prot opt source destination
ufw-before-logging-input all -- anywhere anywhere
ufw-before-input all -- anywhere anywhere
ufw-after-input all -- anywhere anywhere
ufw-after-logging-input all -- anywhere anywhere
ufw-reject-input all -- anywhere anywhere
ufw-track-input all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:3389
Caso o servidor xrdp estiver rodando no micro mesa, mas a porta TCP 3389 estiver fechada, o serviço do xrdp não será listado no scan do
Nmap feito remotamente, devido que a porta está fechada (a exibição ou não do resultado do scan remoto dependerá das regras do firewall ativas do micro remoto).
# nmap -sT mesa
Starting Nmap 6.00 ( http://nmap.org ) at 2013-03-26 22:32 BRT
Nmap scan report for mesa (192.168.1.101)
Host is up (0.0087s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:25:22:67:4E:80 (ASRock Incorporation)
Nmap done: 1 IP address (1 host up) scanned in 4.75 seconds