GNOME環境からのログアウト時のエラーについて

449 views
Skip to first unread message

dummy...@gmail.com

unread,
Aug 2, 2022, 11:22:30 PM8/2/22
to 日本xrdpユーザ会 (The "xrdp" Users' Group Japan)
お世話になっております、黒川と申します。

xrdp 0.9.19 + xorgxrdp 0.2.18 + pulseaudio-module-xrdpを
CentOS 8 Streamにインストールし利用致しております。

Windows 11のmstsc.exeからxrdpのセッションに接続し、
その後Gnomeからログアウトすると、
リモート デスクトップ接続

リモート デスクトップ サービス セッションが終了しました。

おそらくネットワーク接続の問題が原因で、リモート コンピューターへの接続が失われました。リモート コンピューターへの接続を再試行してください。問題が解決しない場合は、ネットワーク管理者またはテクニカル サポートに問い合わせてください。

エラーコード: 0x904
拡張エラーコード: 0x0
のエラーが表示されます。
エラーが表示されてもログアウトは正常に行われていましたので
今までは気にしてはいませんでした。

ですが、詳しく調べてみましたら、
上記のエラーが発生するとxrdp-sesmanのプロセスが残ってしまうらしく
XRDPのセッションを切ってローカルでログインしても
XRDP_PULSE_SINK_SOCKET、XRDP_PULSE_SOURCE_SOCKET、XRDP_SESSION、XRDP_SOCKET_PATH
などのsesman/env.cで定義されている環境変数が
ローカル環境下においても定義されてしまっています。
なお、OSをリブートしてXRDPセッションに一度も接続していない状態で
ローカルでログインした場合には上記の環境変数は定義されません。

この障害に関連して、
XRDPのセッションに接続したあとでローカルにログインした場合に
pulseaudioがローカルのサウンドを正しく認識しなくなる障害も発生しています。
具体的には、ローカルでログインしているにもかかわらずxrdp-sinkが認識されており、
代わりにPC本体のサウンドカードは認識されません。
pactl load-module module-udev-detect
を手動実行すればPC本体のサウンドカードを認識しますし、
/usr/libexec/pulseaudio-module-xrdp/load_pa_modules.sh
にDISPLAY環境変数の値が10よりも小さい場合には
何もせずに終了するような処理を書き加えると
ローカル接続時にmodule-xrdp-sinkはロードされなくなります。
しかしながら、これらの対処法は本質的な解決策ではないように思えます。

これらの事象について、原因や解決法等ご存じでしたらご教授お願い致します。
Reply all
Reply to author
Forward
0 new messages