i3ウィンドウマネージャを使用してArch Linuxでxrdpが機能しない

i3ウィンドウマネージャを使用してArch Linuxでxrdpが機能しない

新しく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

xrdpをインストールして有効にして起動しました。

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

vncserverも実行中です。:0

[0s] $ vncserver -list

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:0          615

リッスンしているポートは次のとおりです。

[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)
...

macOS SierraがArchボックスに接続しようとしているため、Microsoft Remote Desktop(バージョン8.0.36(ビルド27228))をダウンロードしてインストールし、ArchボックスのIPアドレスと私のArchユーザーアカウントを指定するプロファイルを作成しました。パスワード。

接続しようとすると、次のメッセージを含む灰色のボックスが表示されます。

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

ログインが成功したことを確認display 10し、:0の代わりに:10でVNCを実行する必要があると思って:0セッションを終了し、10で新しいセッションを要求しました。上記のエラーが発生します。

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

以下はログの出力です。

[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が空です。

[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

その過程で、ホームディレクトリにaファイルと.Xclientaファイルを追加し、次のファイルを試しました。.xsessiongnome-sessioni3-session

また、バックアップコピーを作成し、/etc/xrdp/startwmソースを次に変更しました。

#!/bin/sh
gnome-session

私も試しましたが、ここi3-sessionxfce-session別の環境がインストールされています。

`.vnc/fermata:10.log を追跡すると、以下が表示されます。

** (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私のi3設定の一部なので、VNCは少なくとも私が最終的に望むセッションを指します。

明らかに、xrdpとVNCの間にいくつかの重要な部分がありません。私はその作品が何であるかわかりません。

答え1

vnc セッションを事前に開始する必要はありません。 xrdpは自動的にこれを行います(それで:0を起動すると:10から始まり、:10を起動すると:11から始まります)。

ウィンドウマネージャは通常$ HOME / .xsessionrcにあります。

.xsessionrc が終了すると、VNC セッションも終了します。エラーを回避するための1つの方法は、ウィンドウマネージャの代わりに/usr/bin/xtermを実行することです。これにより、「私のウィンドウマネージャが実行されていますか?」というすべての複雑さが排除されます。画面にxtermしか表示されていない場合は、xrdpプロセスが実行されていてウィンドウマネージャの問題を解決しています。

関連情報