xrdp não funciona no Arch Linux usando o gerenciador de janelas do i3

1

Eu tenho uma nova instalação do Arch Linux,

[0s] $ uname -a
Linux fermata 4.8.11-1-ARCH #1 SMP PREEMPT Sun Nov 27 09:26:14 CET 2016 x86_64 GNU/Linux

em qual eu instalei, habilitei e iniciei o xrdp:

systemctl --type="server"
...
xrdp-sesman.service     loaded active running xrdp session manager
xrdp.service            loaded active running xrdp daemon

Eu também tenho o vncserver rodando em :0

[0s] $ vncserver -list

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:0          615

Aqui estão as portas que estão sendo ouvidas:

[0s] $ sudo lsof -Pi | grep LISTEN
...
sshd       361 root    3u  IPv4  15595      0t0  TCP *:22 (LISTEN)
sshd       361 root    4u  IPv6  15597      0t0  TCP *:22 (LISTEN)
xrdp-sesm  370 root    7u  IPv4  15228      0t0  TCP localhost.localdomain:3350 (LISTEN)
xrdp       375 root    7u  IPv4  16056      0t0  TCP *:3389 (LISTEN)
Xvnc       615 mark    4u  IPv4  14285      0t0  TCP *:5900 (LISTEN)
Xvnc       615 mark    5u  IPv6  14286      0t0  TCP *:5900 (LISTEN)
...

Estou tentando conectar-me à caixa Arch do macOS Sierra, então baixei e instalei o Microsoft Remote Desktop (Versão 8.0.36 (Build 27228)) e criei um perfil que especifica o endereço IP da caixa do Arch e tem minha conta de usuário e senha do Arch.

Quando tento me conectar, recebo uma caixa cinza com as seguintes mensagens:

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
xrdp_mm_process_login_response: login successful for display 10
VNC started connecting
VNC connecting to 127.0.0.1 5910
VNC error - problem connecting

Notei que o login foi bem-sucedido para display 10 , e achando que precisava ter o VNC em funcionamento: 10 em vez de: 0, eu matei a sessão: 0 e informei uma nova em: 10. Eu recebo o mesmo erro acima com a linha

...
xrdp_mm_process_login_response: login successful for display 11
...

Aqui está a saída da revista:

[0s] $ journalctl -f -u xrdp
-- Logs begin at Sat 2016-12-03 20:28:10 CST. --
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[DEBUG] VNC Error after security negotiation
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[DEBUG] VNC error before sending share flag
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[DEBUG] VNC error before receiving server init
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[DEBUG] VNC error before receiving pixel format
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[DEBUG] VNC error before receiving name length
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[DEBUG] VNC error before receiving name
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[DEBUG] xrdp_mm_module_cleanup
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[DEBUG] VNC mod_exit
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[INFO ] An established connection closed to endpoint: NULL:NULL - socket: 12
Dec 06 08:05:25 fermata XRDP[4451]: (4451)(139899817027328)[INFO ] An established connection closed to endpoint: 127.0.0.1:3350 - socket: 11

iptables está vazio:

[3s] $ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Ao longo do caminho, adicionei os arquivos .Xclient e .xsession ao meu diretório pessoal e tentei gnome-session e i3-session nesses arquivos:

Eu também fiz uma cópia de backup de /etc/xrdp/startwm e mudei o original para ter apenas

#!/bin/sh
gnome-session

Eu também tentei i3-session e xfce-session aqui, sendo esses outros ambientes instalados.

Quando eu procuro '.vnc / fermata: 10.log eu vejo isso:

** (nm-applet:4314): WARNING **: atk-bridge: GetRegisteredEvents returned message with unknown signature

** (nm-applet:4314): WARNING **: AT-SPI: Could not obtain desktop path or name


** (nm-applet:4314): WARNING **: AT-SPI: Could not obtain desktop path or name

polybars launched...
polybar|error  Monitor "HDMI2" not found or disconnected
polybar|error  Monitor "HDMI2" not found or disconnected

polybar é parte da minha configuração do i3, portanto, o VNC, pelo menos, está apontando para a sessão que eu quero no final das contas.

Obviamente, estou perdendo alguma peça crucial entre xrdp e VNC. Eu não tenho ideia do que essa peça é.

    
por Mark Nichols 06.12.2016 / 15:14

1 resposta

1

Você não precisa pré-iniciar uma sessão vnc, o xrdp faz isso por você (é por isso que ele estava começando: 10 quando você tinha: 0 iniciado e quando você tinha: 10 iniciado, começou em: 11 ).

O gerenciador de janelas geralmente entra em $ HOME / .xsessionrc

A sessão VNC sairá quando o seu .xsessionrc sair. Uma coisa que você pode fazer por um failsafe é tentar rodar o / usr / bin / xterm ao invés de um gerenciador de janelas. Isso tira toda a complexidade de "Meu gerenciador de janelas funcionou?". Se você receber uma tela com um único xterm, então você sabe que o processo xrdp está funcionando e agora está trabalhando em um problema com o gerenciador de janelas.

    
por 06.12.2016 / 16:27