xrdp_iso_send:trans_write_copy_s 失败 - 使用 Remmina 时将 rdp 从 RaspiOS 发送到 Arch x86

xrdp_iso_send:trans_write_copy_s 失败 - 使用 Remmina 时将 rdp 从 RaspiOS 发送到 Arch x86

我正在尝试将 rdp 从带有 Raspberry pi 操作系统的 rpi 4 设置到使用 Remmina 运行 Arch Linux 的笔记本电脑。

目前我无法使用 Remmina 从我的 rpi rdp 到任何 Arch 机器(有两台)。但是,使用 rdesktop 作为客户端确实有效。

rdesktop 是一个不受欢迎的解决方案,因为我希望能够访问 Remmina 的功能,并可能以某种临时 kiosk 模式直接从 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 拉皮
  • 虚拟机中的 Arch Linux
  • “裸机”上的 Arch Linux
  • rpi“裸机”上的 Raspberry pi 操作系统

以下是我迄今为止经历过的成功/失败场景,这些场景已经被重复和证实:

结果 来源 会话协议 目的地
PF 全部 通过 RDP 的 VNC 转速
PF 全部 xorg 通过 rdp Arch VM/BM
S WIN10 xorg 通过 rdp 转速
S 转速 标准 RDP WIN10
S WIN10 通过 RDP 的 VNC Arch VM/BM
S Arch VM/BM 标准 RDP WIN10
TF 转速 不适用 Arch VM/BM
S Arch VM/BM xorg 通过 rdp 转速
  • S = 成功
  • TF = 完全失败 = 在会话管理器可以获取非法凭据之前连接断开
  • PF = 部分失败 = 没有启动窗口管理器,只有会话管理器的背景仍然存在
  • ALL = 所有机器
  • VM/BM = 虚拟机/裸机

尽管在 Arch VM/BM 上安装了 xorgxrdp 软件包,但我无法启动 Xorg 会话。

这里最重要的是建立从我的 rpi 到我的 Arch 机器的 rdp 会话,因为 rpi 是作为某种 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 用户的解决方法,打开有问题的连接配置文件的连接设置,转到“高级”并选择“字形缓存”和“放宽顺序检查”

问题评论和解决方法的屏幕截图

相关内容