私はRaspberry pi OSがインストールされているrpi 4でRemminaを使用してArch Linuxを実行しているラップトップにrdpを設定しようとしています。
現在、Remminaを使用してrpiからArchマシン(2台あり)でRDPを実行することはできません。しかし、rdesktopをクライアントとして使用すると機能します。
rdesktopは、Remminaの機能にアクセスし、一時キオスクモードのXで直接Remminaを実行できるようにしたかったので、人気のないソリューションでした。
watch systemctl status xrdp
これは、Remminaを使用してrpiからArchシステムに接続しようとしたときにArch VM / BMで発生する不快なエラーです。
May 05 23:51:30 zion xrdp[26732]: [INFO ] xrdp_load_keyboard_layout: keyboard_type [4] keyboard_subtype [0]
May 05 23:51:30 zion xrdp[26732]: [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options []
May 05 23:51:30 zion xrdp[26732]: [INFO ] TLS connection established from 10.0.0.94 port 43248: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
May 05 23:51:30 zion xrdp[26732]: [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor
May 05 23:51:30 zion xrdp[26732]: [INFO ] xrdp_process_offscreen_bmpcache: support level 1 cache size 7864320 MB cache entries 2000
May 05 23:51:30 zion xrdp[26732]: [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
May 05 23:51:30 zion xrdp[26732]: [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
May 05 23:51:31 zion xrdp[26732]: [ERROR] xrdp_iso_send: trans_write_copy_s failed
May 05 23:51:31 zion xrdp[26732]: [ERROR] SSL_shutdown: Server closed TLS connection
May 05 23:51:31 zion xrdp[26732]: [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
私は4台のマシンを持っています:
- Windows 10フェイスリフト
- 仮想マシンのアーチLinux
- 「ベアメタル」ベースのアーチLinux
- rpi "ベアメタル"のRaspberry Piオペレーティングシステム
これまで繰り返し、確認された成功/失敗のシナリオは次のとおりです。
結果 | 源泉 | セッションプロトコル | 目的地 |
---|---|---|---|
PF | みんな | RDPによるVNC | 回転速度 |
PF | みんな | rdpによるxorg | ArchVM/BM |
S | ウィン10 | rdpによるxorg | 回転速度 |
S | 回転速度 | 標準RDP | ウィン10 |
S | ウィン10 | RDPによるVNC | ArchVM/BM |
S | ArchVM/BM | 標準RDP | ウィン10 |
TF | 回転速度 | 該当なし | ArchVM/BM |
S | ArchVM/BM | rdpによるxorg | 回転速度 |
- S =成功
- TF = 完全失敗 = セッション管理者が違法な資格情報を取得する前に接続が切断されました。
- PF =部分失敗=ウィンドウマネージャは起動せず、セッションマネージャの背景だけが残ります。
- ALL = すべてのマシン
- VM/BM = 仮想マシン/ベアメタル
xorgxrdpパッケージはArch VM / BMにインストールされていますが、Xorgセッションを開始できません。
ここで最も重要なのは、rpiが一種のrdpポータルとして実行されるため、rpiからArchマシンへのrdpセッションを確立することです。
私はxrdp-sesmanをオフにして、少なくとも接続が確立されていることを確認しようとしました。私の考えは、接続が個別に確立されていると仮定するセッションマネージャの問題かもしれません。この構成は機能しないため、接続できないようです。
Arch Linux VM/BMシステム/アプリケーション情報(同一システム)
xrdpバージョン:
xrdp -v
xrdp 0.9.16
A Remote Desktop Protocol Server.
Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
See https://github.com/neutrinolabs/xrdp for more information.
Configure options:
--prefix=/usr
--sysconfdir=/etc
--localstatedir=/var
--sbindir=/usr/bin
--with-systemdsystemunitdir=/usr/lib/systemd/system
--enable-jpeg
--enable-tjpeg
--enable-fuse
--enable-opus
--enable-rfxcodec
--enable-mp3lame
--enable-pixman
--enable-painter
--enable-vsock
CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
CPPFLAGS=-D_FORTIFY_SOURCE=2
Compiled with OpenSSL 1.1.1k 25 Mar 2021
Freerdpバージョン:
xfreerdp /version
FreeRDPバージョン2.3.2です(該当なし)。
カーネルバージョン:
uname -r
5.10.27-1-lts
レミナバージョン:
remmina -V
Load modules from /usr/lib/remmina/plugins
Remmina plugin glibsecret (type=Secret) has been registered, but is not yet initialized/activated. The initialization order is 2000.
Failed to load plugin: /usr/lib/remmina/plugins/remmina-plugin-vnc.so.
Error: libvncclient.so.1: cannot open shared object file: No such file or directory
Failed to load plugin: /usr/lib/remmina/plugins/remmina-plugin-spice.so.
Error: libspice-client-gtk-3.0.so.5: cannot open shared object file: No such file or directory
The glibsecret secret plugin has been initialized and it will be your default secret plugin
org.remmina.Remmina - 1.4.13 (git n/a)
NAME TYPE DESCRIPTION PLUGIN AND LIBRARY VERSION
EXEC Protocol Execute a command 1.0
NX Protocol NX - NX Technology 1.4.13
RDP Protocol RDP - Remote Desktop Protocol RDP plugin: 1.4.13 (Git n/a), Compiled with libfreerdp 2.3.2 (n/a), Running with libfreerdp 2.3.2 (rev n/a), H.264 Yes
RDPF File RDP - RDP File Handler RDP plugin: 1.4.13 (Git n/a), Compiled with libfreerdp 2.3.2 (n/a), Running with libfreerdp 2.3.2 (rev n/a), H.264 Yes
RDPS Preference RDP - Preferences RDP plugin: 1.4.13 (Git n/a), Compiled with libfreerdp 2.3.2 (n/a), Running with libfreerdp 2.3.2 (rev n/a), H.264 Yes
ST Protocol Remmina simple terminal 1.0.0.0
XDMCP Protocol XDMCP - X Remote Session 1.4.13
glibsecret Secret Secured password storage in the GNOME keyring 1.4.13
Build configuration: HAVE_ARPA_INET_H=1 HAVE_ERRNO_H=1 HAVE_FCNTL_H=1 HAVE_NETDB_H=1 HAVE_NETINET_IN_H=1 HAVE_NETINET_TCP_H=1 HAVE_SYS_SOCKET_H=1 HAVE_SYS_UN_H=1 HAVE_TERMIOS_H=1 HAVE_UNISTD_H=1 WITH_APPINDICATOR=ON WITH_AVAHI=ON WITH_GCRYPT=ON WITH_ICON_CACHE=ON WITH_IPP=OFF WITH_LIBRARY_VERSIONING=ON WITH_MANPAGES=ON WITH_NEWS=OFF WITH_SSE2=ON WITH_TRANSLATIONS=ON WITH_UPDATE_DESKTOP_DB=ON
Build type: Release
CFLAGS: -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -Wimplicit-function-declaration -Wredundant-decls
Compiler: GNU, 10.2.0
Target architecture: x64
Raspberry Pi OSシステム/アプリケーション情報
xrdpバージョン:
xrdp -v
xrdp 0.9.9
A Remote Desktop Protocol Server.
Copyright (C) 2004-2018 Jay Sorg, Neutrino Labs, and all contributors.
See https://github.com/neutrinolabs/xrdp for more information.
Configure options:
--enable-ipv6
--enable-jpeg
--enable-fuse
--enable-rfxcodec
--enable-opus
--enable-painter
--enable-vsock
--build=arm-linux-gnueabihf
--prefix=/usr
--includedir=${prefix}/include
--mandir=${prefix}/share/man
--infodir=${prefix}/share/info
--sysconfdir=/etc
--localstatedir=/var
--disable-silent-rules
--libdir=${prefix}/lib/arm-linux-gnueabihf
--libexecdir=${prefix}/lib/arm-linux-gnueabihf
--disable-maintainer-mode
--disable-dependency-tracking
--with-socketdir=/var/run/xrdp/sockdir
build_alias=arm-linux-gnueabihf
CFLAGS=-g -O2 -fdebug-prefix-map=/build/xrdp-q47Nhl/xrdp-0.9.9=. -fstack-protector-strong -Wformat -Werror=format-security
LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed
CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
PKG_CONFIG_PATH=/build/xrdp-q47Nhl/xrdp-0.9.9/pkgconfig
Compiled with OpenSSL 1.1.1d 10 Sep 2019
Freerdpバージョン:
xfreerdp /version
これはFreeRDPバージョン2.0.0-dev5(2693389a + debian)です。
カーネルバージョン:
uname -r
5.10.17-v7l+
レミナバージョン:
Remmina -V
:
** (org.remmina.Remmina:31546): CRITICAL **: 12:05:00.357: secret_service_load_collections_sync: assertion 'paths != NULL' failed [glibsecret] unable to get secret service: Unknown error. Plugin entry returned false: /usr/lib/arm-linux-gnueabihf/remmina/plugins/remmina-plugin-secret.so. StatusNotifier/Appindicator support: not supported by desktop. libappindicator will try to fallback to GtkStatusIcon/xembed WARNING: Remmina is running with a secret plugin, but it cannot connect to a secret service.
Remmina - 1.3.3 (git n/a)
NAME TYPE DESCRIPTION PLUGIN AND LIBRARY VERSION RDP Protocol RDP - Remote Desktop Protocol RDP Plugin:
1.3.3 (git n/a), Compiled with FreeRDP lib: 2.0.0-dev5 (2693389a+debian), Running with FreeRDP lib: 2.0.0-dev5 (rev 2693389a+debian), H264: Yes RDPF File RDP - RDP File Handler RDP Plugin:
1.3.3 (git n/a), Compiled with FreeRDP lib: 2.0.0-dev5 (2693389a+debian), Running with FreeRDP lib: 2.0.0-dev5 (rev 2693389a+debian), H264: Yes RDPS Preference RDP - Preferences RDP Plugin:
1.3.3 (git n/a), Compiled with FreeRDP lib: 2.0.0-dev5 (2693389a+debian), Running with FreeRDP lib: 2.0.0-dev5 (rev 2693389a+debian), H264: Yes SFTP Protocol SFTP - Secure File Transfer 1.3.3 SSH Protocol SSH - Secure Shell
1.3.3 VNC Protocol VNC - VNC viewer 1.3.3 VNCI Protocol VNCI - VNC viewer listen mode 1.3.3 glibsecret Secret Secure passwords storing in the GNOME keyring
1.3.3
Build configuration: HAVE_ARPA_INET_H=1 HAVE_ERRNO_H=1 HAVE_FCNTL_H=1 HAVE_NETDB_H=1 HAVE_NETINET_IN_H=1 HAVE_NETINET_TCP_H=1 HAVE_SYS_SOCKET_H=1 HAVE_SYS_UN_H=1 HAVE_TERMIOS_H=1 HAVE_UNISTD_H=1 WITH_APPINDICATOR=ON WITH_AVAHI=ON WITH_FREERDP=ON WITH_GCRYPT=ON WITH_GETTEXT=ON WITH_LIBRARY_VERSIONING=ON WITH_LIBSECRET=ON WITH_LIBSSH=ON WITH_LIBVNCSERVER=ON WITH_MANPAGES=ON WITH_NEON=ON WITH_SPICE=ON WITH_SSE2=OFF WITH_TELEPATHY=ON WITH_TRANSLATIONS=ON WITH_VTE=ON Build type: None CFLAGS: -g -O2
-fdebug-prefix-map=/build/remmina-iuOrHL/remmina-1.3.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g Compiler: GNU, 8.2.0 Target architecture: ARM
答え1
答えはxrdp githubにあります。ここ
デフォルトでは、xrdpは次のようになります。
サーバーは送信しませんが、
GlyphCacheCapabilitySet
問題はありません。クライアントが実際にグリフキャッシュ機能を宣伝しない限り、サーバーはグリフキャッシュを実行しないでください。
Remminaユーザーのための解決策として、問題のある接続プロファイルの接続設定を開き、「詳細」に移動して「Glyph Cache」と「Relax Order Checking」を選択してください。