0

I am trying to setup rdp from my rpi 4 with Raspberry pi OS to my laptop running Arch Linux using Remmina.

Currently I cannot rdp from my rpi into any Arch machines (there are two) using Remmina. However, using rdesktop as a client does work.

rdesktop is an undesirable solution, as I wish to have access to the features of Remmina and potentially run Remmina straight from X in some kind of makeshift kiosk mode.

This is the offending error on Arch VM/BM when running watch systemctl status xrdp during a connection attempt from the rpi to the Arch machines with Remmina:

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

I have 4 machines:

  • Windows 10 Lappy
  • Arch Linux in a VM
  • Arch Linux on "Bare Metal"
  • Raspberry pi OS on rpi "Bare Metal"

Here are the success/failure scenarios that I have experienced thus far, which have been repeated and confirmed:

Result Source Session Protocol Destination
PF ALL vnc over rdp rpi
PF ALL xorg over rdp Arch VM/BM
S Win10 xorg over rdp rpi
S rpi standard rdp Win10
S Win10 vnc over rdp Arch VM/BM
S Arch VM/BM standard rdp Win10
TF rpi n/a Arch VM/BM
S Arch VM/BM xorg over rdp rpi
  • S = success
  • TF = total failure = connection drops before session manager can illicit credentials
  • PF = partial failure = no window manager started and only backgound of session manager persists
  • ALL = all machines
  • VM/BM = Virtual Machine / Bare Metal

Despite the xorgxrdp package being installed on Arch VM/BM I cannot start an Xorg session.

The most important thing here is establishing an rdp session FROM my rpi to my Arch machines, as the rpi is running as an rdp portal of sorts.

I have tried turning off xrdp-sesman to see if that at least results in establishing a connection. My thinking there was maybe it's only the session manager having problems, which assumed the connection is made separately. This configuration does not work, no connection appears possible.


Arch Linux VM/BM system/app info (identical systems)

xrdp version:

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 versions:

xfreerdp /version

This is FreeRDP version 2.3.2 (n/a)

kernel version:

uname -r

5.10.27-1-lts

Remmina version:

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 system/app info

xrdp version:

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 versions:

xfreerdp /version

This is FreeRDP version 2.0.0-dev5 (2693389a+debian)

kernel versions:

uname -r

5.10.17-v7l+

Remmina versions:

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
0

The answer can be found on the xrdp github here

Basically, xrdp:

Server doesn't send GlyphCacheCapabilitySet but it's OK. Server should not do glyph caching unless client do advertise glyph cache capability.

As a workaround for Remmina users, open the connection settings for the connection profile that is having issues, go to Advanced and select "Glyph cache" and "Relax order checks"

screencap of issue comment with workaround

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.