xrdp_iso_send: trans_write_copy_s 실패 - Remmina를 사용할 때 RaspiOS에서 Arch x86으로 rdp 보내기

xrdp_iso_send: trans_write_copy_s 실패 - Remmina를 사용할 때 RaspiOS에서 Arch x86으로 rdp 보내기

저는 Raspberry pi OS가 설치된 rpi 4에서 Remmina를 사용하여 Arch Linux를 실행하는 노트북으로 rdp를 설정하려고 합니다.

현재 Remmina를 사용하여 rpi에서 Arch 머신(두 개가 있음)으로 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 대의 기계를 가지고 있습니다 :

  • 윈도우 10 페이스리프트
  • 가상 머신의 아치 리눅스
  • "베어메탈" 기반의 아치 리눅스
  • rpi "베어 메탈"의 Raspberry Pi 운영 체제

지금까지 반복되고 확인된 성공/실패 시나리오는 다음과 같습니다.

결과 원천 세션 프로토콜 목적지
PF 모두 RDP를 통한 VNC 회전 속도
PF 모두 rdp를 통한 xorg ArchVM/BM
에스 윈10 rdp를 통한 xorg 회전 속도
에스 회전 속도 표준 RDP 윈10
에스 윈10 RDP를 통한 VNC ArchVM/BM
에스 ArchVM/BM 표준 RDP 윈10
TF 회전 속도 해당 없음 ArchVM/BM
에스 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"을 선택하세요.

문제 의견 및 해결 방법의 스크린샷

관련 정보