Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blank dark screen after update to 0.10 #3178

Closed
Zheka17 opened this issue Jul 25, 2024 · 23 comments
Closed

Blank dark screen after update to 0.10 #3178

Zheka17 opened this issue Jul 25, 2024 · 23 comments
Labels

Comments

@Zheka17
Copy link

Zheka17 commented Jul 25, 2024

xrdp version

0.10.0

Detailed xrdp version, build options

xrdp 0.10.0
  Configure options:
      --enable-ipv6
      --enable-jpeg
      --enable-fuse
      --enable-rfxcodec
      --enable-opus
      --enable-painter
      --enable-vsock
      --build=x86_64-linux-gnu
      --prefix=/usr
      --includedir=${prefix}/include
      --mandir=${prefix}/share/man
      --infodir=${prefix}/share/info
      --sysconfdir=/etc
      --localstatedir=/var
      --disable-silent-rules
      --libdir=${prefix}/lib/x86_64-linux-gnu
      --libexecdir=${prefix}/lib/x86_64-linux-gnu
      --disable-maintainer-mode
      --disable-dependency-tracking
      --with-socketdir=/run/xrdp/sockdir
      build_alias=x86_64-linux-gnu
      CFLAGS=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/xrdp-0.10.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection
      LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed
      CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
      CXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/xrdp-0.10.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection
      PKG_CONFIG_PATH=/build/reproducible-path/xrdp-0.10.0/pkgconfig

  Compiled with OpenSSL 3.2.2 4 Jun 2024

Operating system & version

Debian 12, 6.10.1

Installation method

dnf / apt / zypper / pkg / etc

Which backend do you use?

xorgxrdp

What desktop environment do you use?

xfce

Environment xrdp running on

IGP, with amd x7950x3d cpu

What's your client?

msdtc, from Win 7

Area(s) with issue?

Authentication, Session manager (sesman), Other

Steps to reproduce

Issue appeared upon upgrade to 0.10.x0-2 xrdp/ xorgxrdp from 0.9.24-5/ 0.19.9-1

✔️ Expected Behavior

No response

❌ Actual Behavior

rdp connection is established, but:

  • the screen is blank (dark blue/green)
  • after some time a window with 'trace' messages pops up in the top left corner
  • clicking OK causes appearance of the proper login dialogue, expecting password
  • entering password again leads to blank screen

Downgrading back to 0.9.24-5 (and xorgxrdp 1:0.9.19-1) didn't resolve the issue.

Anything else?

/var/log/xrdp.log:

[20240725-08:30:22] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20240725-08:30:22] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20240725-08:30:22] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL]
[20240725-08:30:23] [ERROR] SSL_read: I/O error
[20240725-08:30:23] [ERROR] libxrdp_force_read: header read error
[20240725-08:30:23] [ERROR] Processing [ITU-T T.125] Connect-Initial failed
[20240725-08:30:23] [ERROR] [MCS Connection Sequence] receive connection request failed
[20240725-08:30:23] [ERROR] xrdp_sec_incoming: xrdp_mcs_incoming failed
[20240725-08:30:23] [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed
[20240725-08:30:23] [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed
[20240725-08:30:23] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[20240725-08:30:23] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
[20240725-08:30:23] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:178.54.8.4 port 49246
[20240725-08:30:23] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20240725-08:30:23] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20240725-08:30:23] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL]
[20240725-08:30:23] [INFO ] Connected client computer name: ZHEKA-PC
[20240725-08:30:23] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc006 is unknown (ignored)
[20240725-08:30:23] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00a is unknown (ignored)
[20240725-08:30:23] [INFO ] xrdp_load_keyboard_layout: Keyboard information sent by the RDP client, keyboard_type:[0x04], keyboard_subtype:[0x00], keylayout:[0x00000409]
[20240725-08:30:23] [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options []
[20240725-08:30:23] [INFO ] TLS connection established from ::ffff:xxx.xx.xx.xx port 49246: TLSv1.2 with cipher AES256-SHA
[20240725-08:30:23] [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor
[20240725-08:30:23] [INFO ] xrdp_process_offscreen_bmpcache: support level 1 cache size 5242880 MB cache entries 100
[20240725-08:30:23] [INFO ] xrdp_caps_process_codecs: nscodec, codec id 1, properties len 3
[20240725-08:30:23] [WARN ] xrdp_caps_process_codecs: unknown codec id 5
[20240725-08:30:23] [INFO ] xrdp_caps_process_codecs: RemoteFX, codec id 3, properties len 49
[20240725-08:30:23] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20240725-08:30:23] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[20240725-08:30:23] [INFO ] connecting to sesman on 127.0.0.1:3350
[20240725-08:30:23] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20240725-08:30:23] [INFO ] sesman connect ok
[20240725-08:30:23] [INFO ] sending login info to session manager. Please wait...
[20240725-08:30:23] [INFO ] xrdp_wm_log_msg: login successful for user zheka on display 10
[20240725-08:30:23] [INFO ] login successful for user zheka on display 10
[20240725-08:30:23] [INFO ] loaded module 'libxup.so' ok, interface size 10296, version 4
[20240725-08:30:23] [INFO ] started connecting
[20240725-08:30:23] [INFO ] lib_mod_connect: connecting via UNIX socket
[20240725-08:30:23] [INFO ] lib_mod_log_peer: xrdp_pid=5289 connected to X11rdp_pid=5311 X11rdp_uid=1000 X11rdp_gid=1000 client_ip=::ffff:xxx.xx.xx.xx client_port=49246
[20240725-08:30:23] [INFO ] connected ok
[20240725-08:30:27] [WARN ] xrdp_mm_chansrv_connect: connect failed trying again...
[20240725-08:30:31] [WARN ] xrdp_mm_chansrv_connect: connect failed trying again...
[20240725-08:30:35] [WARN ] xrdp_mm_chansrv_connect: connect failed trying again...
[20240725-08:30:39] [WARN ] xrdp_mm_chansrv_connect: connect failed trying again...
[20240725-08:30:39] [ERROR] xrdp_mm_chansrv_connect: error in trans_connect chan
[20240725-08:30:39] [ERROR] SSL_write: I/O error
[20240725-08:30:39] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[20240725-08:30:39] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
[20240725-09:36:38] [INFO ] Received termination signal, stopping the server accept new connections thread
[2024-07-25T09:38:15.447-0400] [INFO ] address [0.0.0.0] port [3389] mode 1
[2024-07-25T09:38:15.448-0400] [INFO ] listening to port 3389 on 0.0.0.0
[2024-07-25T09:38:15.448-0400] [INFO ] xrdp_listen_pp done
[2024-07-25T09:38:17.448-0400] [INFO ] starting xrdp with pid 934
[2024-07-25T09:38:17.449-0400] [INFO ] address [0.0.0.0] port [3389] mode 1
[2024-07-25T09:38:17.449-0400] [INFO ] listening to port 3389 on 0.0.0.0
[2024-07-25T09:38:17.449-0400] [INFO ] xrdp_listen_pp done
[2024-07-25T09:39:41.341-0400] [INFO ] Socket 14: connection accepted from [::ffff:xxx.xx.xx.xx]:49544
[2024-07-25T09:39:41.341-0400] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[2024-07-25T09:39:41.341-0400] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[2024-07-25T09:39:41.342-0400] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL]
[2024-07-25T09:39:41.488-0400] [ERROR] SSL_read: I/O error
[2024-07-25T09:39:41.489-0400] [ERROR] libxrdp_force_read: header read error
[2024-07-25T09:39:41.489-0400] [ERROR] Processing [ITU-T T.125] Connect-Initial failed
[2024-07-25T09:39:41.489-0400] [ERROR] [MCS Connection Sequence] receive connection request failed
[2024-07-25T09:39:41.489-0400] [ERROR] xrdp_sec_incoming: xrdp_mcs_incoming failed
[2024-07-25T09:39:41.489-0400] [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed
[2024-07-25T09:39:41.489-0400] [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed
[2024-07-25T09:39:41.489-0400] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[2024-07-25T09:39:41.489-0400] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
[2024-07-25T09:39:41.559-0400] [INFO ] Socket 14: connection accepted from [::ffff:xxx.xx.xx.xx]:49545
[2024-07-25T09:39:41.559-0400] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[2024-07-25T09:39:41.559-0400] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[2024-07-25T09:39:41.569-0400] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL]
[2024-07-25T09:39:41.669-0400] [INFO ] Connected client computer name: ZHEKA-PC
[2024-07-25T09:39:41.669-0400] [WARN ] client requested gfx protocol with insufficient color depth
[2024-07-25T09:39:41.669-0400] [WARN ] Physical desktop dimensions (0x0) are invalid
[2024-07-25T09:39:41.669-0400] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc006 is unknown (ignored)
[2024-07-25T09:39:41.669-0400] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00a is unknown (ignored)
[2024-07-25T09:39:41.731-0400] [INFO ] xrdp_load_keyboard_layout: Keyboard information sent by the RDP client, keyboard_type:[0x04], keyboard_subtype:[0x00], keylayout:[0x00000409]
[2024-07-25T09:39:41.732-0400] [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options []
[2024-07-25T09:39:41.732-0400] [INFO ] TLS connection established from [::ffff:xxx.xx.xx.xx]:49545 TLSv1.2 with cipher AES256-SHA
[2024-07-25T09:39:41.940-0400] [INFO ] Client supports single-screen resizes by xrdp
[2024-07-25T09:39:41.940-0400] [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor
[2024-07-25T09:39:41.940-0400] [INFO ] xrdp_process_offscreen_bmpcache: support level 1 cache size 5242880 MB cache entries 100
[2024-07-25T09:39:41.940-0400] [INFO ] xrdp_caps_process_codecs: NSCodec(CA8D1BB9-000F-154F-589F-AE2D1A87E2D6), codec id [1], properties len [3]
[2024-07-25T09:39:41.940-0400] [INFO ] xrdp_caps_process_codecs: Image RemoteFX(2744CCD4-9D8A-4E74-803C-0ECBEEA19C54), codec id [5], properties len [49]
[2024-07-25T09:39:41.940-0400] [INFO ] xrdp_caps_process_codecs: RemoteFX(76772F12-BD72-4463-AFB3-B73C9C6F7886), codec id [3], properties len [49]
[2024-07-25T09:39:41.941-0400] [INFO ] Client Capability: LARGE_POINTER_FLAG_96x96 supported
[2024-07-25T09:39:41.943-0400] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[2024-07-25T09:39:41.943-0400] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[2024-07-25T09:39:41.943-0400] [WARN ] No information is available to determine login screen DPI
[2024-07-25T09:39:41.943-0400] [WARN ] No DPI value is available to find login font
[2024-07-25T09:39:41.943-0400] [WARN ] Using the default_dpi of 96
[2024-07-25T09:39:41.945-0400] [WARN ] Ignoring obsolete SCP port value '3350'
[2024-07-25T09:39:41.945-0400] [INFO ] xrdp_wm_log_msg: sesman connect ok
[2024-07-25T09:39:41.945-0400] [INFO ] xrdp_wm_log_msg: Performing login request for zheka
[2024-07-25T09:39:41.962-0400] [INFO ] xrdp_wm_log_msg: login was successful - creating session
[2024-07-25T09:39:43.146-0400] [INFO ] xrdp_wm_log_msg: session is available on display 10 for user zheka
[2024-07-25T09:39:43.146-0400] [INFO ] xrdp_wm_log_msg: Connecting to session
[2024-07-25T09:39:43.147-0400] [INFO ] loaded module 'libxup.so' ok, interface size 10416, version 4
[2024-07-25T09:39:43.147-0400] [INFO ] lib_mod_connect: connecting via UNIX socket
[2024-07-25T09:40:13.148-0400] [ERROR] xrdp_wm_log_msg: Error connecting to user session
[2024-07-25T09:40:24.353-0400] [WARN ] No information is available to determine login screen DPI
[2024-07-25T09:40:24.355-0400] [WARN ] No DPI value is available to find login font
[2024-07-25T09:40:24.356-0400] [WARN ] Using the default_dpi of 96
[2024-07-25T09:40:27.722-0400] [WARN ] Ignoring obsolete SCP port value '3350'
[2024-07-25T09:40:27.722-0400] [INFO ] xrdp_wm_log_msg: sesman connect ok
[2024-07-25T09:40:27.722-0400] [INFO ] xrdp_wm_log_msg: Performing login request for zheka
[2024-07-25T09:40:27.738-0400] [INFO ] xrdp_wm_log_msg: login was successful - creating session
[2024-07-25T09:40:28.878-0400] [INFO ] xrdp_wm_log_msg: session is available on display 10 for user zheka
[2024-07-25T09:40:28.878-0400] [INFO ] xrdp_wm_log_msg: Connecting to session
[2024-07-25T09:40:28.879-0400] [INFO ] loaded module 'libxup.so' ok, interface size 10416, version 4
[2024-07-25T09:40:28.879-0400] [INFO ] lib_mod_connect: connecting via UNIX socket
[2024-07-25T09:40:58.880-0400] [ERROR] SSL_write: I/O error
[2024-07-25T09:40:58.880-0400] [ERROR] xrdp_sec_send_fastpath: xrdp_fastpath_send failed
[2024-07-25T09:40:58.880-0400] [ERROR] xrdp_rdp_send_fastpath: xrdp_sec_send_fastpath failed
[2024-07-25T09:40:58.880-0400] [ERROR] xrdp_orders_send: xrdp_rdp_send_fastpath failed
[2024-07-25T09:40:58.880-0400] [ERROR] xrdp_sec_send_fastpath: xrdp_fastpath_send failed
[2024-07-25T09:40:58.880-0400] [ERROR] xrdp_rdp_send_fastpath: xrdp_sec_send_fastpath failed
[2024-07-25T09:40:58.880-0400] [ERROR] xrdp_orders_send: xrdp_rdp_send_fastpath failed
[2024-07-25T09:40:58.880-0400] [ERROR] xrdp_sec_send_fastpath: xrdp_fastpath_send failed
[2024-07-25T09:40:58.880-0400] [ERROR] xrdp_rdp_send_fastpath: xrdp_sec_send_fastpath failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_orders_send: xrdp_rdp_send_fastpath failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_wm_log_msg: Error connecting to user session
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_sec_send_fastpath: xrdp_fastpath_send failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_rdp_send_fastpath: xrdp_sec_send_fastpath failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_orders_send: xrdp_rdp_send_fastpath failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_sec_send_fastpath: xrdp_fastpath_send failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_rdp_send_fastpath: xrdp_sec_send_fastpath failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_orders_send: xrdp_rdp_send_fastpath failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_sec_send_fastpath: xrdp_fastpath_send failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_rdp_send_fastpath: xrdp_sec_send_fastpath failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_orders_send: xrdp_rdp_send_fastpath failed
[2024-07-25T09:40:58.881-0400] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[2024-07-25T09:40:58.881-0400] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed

/var/log/xrdp-sesman.log:

2024-07-25T09:40:27.722-0400] [INFO ] Socket 13: connection accepted from AF_UNIX
[2024-07-25T09:40:27.722-0400] [INFO ] Received system login request from xrdp for user: zheka IP: ::ffff:xxx.xx.xx.xx
[2024-07-25T09:40:27.724-0400] [INFO ] starting xrdp-sesexec with pid 1335
[2024-07-25T09:40:27.738-0400] [INFO ] TerminalServerUsers group tsusers doesn't exist. Access granted for zheka
[2024-07-25T09:40:27.738-0400] [INFO ] Access permitted for user: zheka
[2024-07-25T09:40:27.738-0400] [INFO ] Received sys login status for zheka : logged in
[2024-07-25T09:40:27.738-0400] [INFO ] Received request from xrdp to create a session for user zheka
[2024-07-25T09:40:27.876-0400] [INFO ] Starting X server on display 10: /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
[2024-07-25T09:40:28.878-0400] [INFO ] X server :10 is working
[2024-07-25T09:40:28.878-0400] [INFO ] Starting window manager for display :10
[2024-07-25T09:40:28.878-0400] [INFO ] Starting the xrdp channel server for display :10
[2024-07-25T09:40:28.878-0400] [INFO ] Session in progress on display :10. Waiting until the window manager (pid 1380) exits to end the session
[2024-07-25T09:40:28.878-0400] [INFO ] Using the default window manager on display 10: /etc/xrdp/startwm.sh
[2024-07-25T09:40:28.881-0400] [WARN ] Window manager (pid 1380, display 10) exited with non-zero exit code 2. This could indicate a window manager config problem
[2024-07-25T09:40:28.881-0400] [WARN ] Window manager (pid 1380, display 10) exited quickly (0 secs). This could indicate a window manager config problem
[2024-07-25T09:40:28.881-0400] [INFO ] Terminating X server (pid 1362) on display :10
[2024-07-25T09:40:28.881-0400] [INFO ] Terminating the xrdp channel server (pid 1381) on display :10
[2024-07-25T09:40:28.881-0400] [INFO ] xrdp channel server pid 1381 on display :10 finished
[2024-07-25T09:40:28.888-0400] [INFO ] X server pid 1362 on display :10 finished
[2024-07-25T09:40:28.888-0400] [INFO ] Session on display 10 has finished.

.xorgxrdp.10.log:

X.Org X Server 1.21.1.11   X Protocol Version 11, Revision 0
[   139.191] Current Operating System: Linux eaAM5 6.10.1-x64v4-xanmod1 #0~20240724.g06bfab8 SMP PREEMPT_DYNAMIC Wed Jul 24 17:49:58 UTC x86_64
[   139.191] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.10.1-x64v4-xanmod1  ro quiet clocksource=tsc tsc=reliable noplymouth
[   139.191] xorg-server 2:21.1.12-1 (https://www.debian.org/support)
[   139.191] Current version of pixman: 0.42.2
[   139.191]    Before reporting problems, check http://wiki.x.org to make sure that you have the latest version.
[   139.191] Markers: (--) probed, (**) from config file, (==) default setting,   (++) from command line, (!!) notice, (II) nformational,  (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   139.191] (++) Log file: ".xorgxrdp.10.log", Time: Thu Jul 25 09:40:27 2024
[   139.191] (++) Using config file: "/etc/X11/xrdp/xorg.conf"
[   139.191] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   139.191] (**) Option "defaultserverlayout" "X11 Server"
[   139.191] (**) ServerLayout "X11 Server"
[   139.191] (**) |-->Screen "Screen (xrdpdev)" (0)
[   139.191] (**) |   |-->Monitor "Monitor"
[   139.191] (**) |   |-->Device "Video Card (xrdpdev)"
[   139.191] (**) |-->Input Device "xrdpMouse"
[   139.191] (**) |-->Input Device "xrdpKeyboard"
[   139.191] (**) Option "DontVTSwitch" "on"
[   139.191] (**) Option "AutoAddDevices" "off"
[   139.191] (**) Option "AutoAddGPU" "off"
[   139.191] (**) Allowing byte-swapped clients
[   139.191] (**) Not automatically adding devices
[   139.191] (==) Automatically enabling devices
[   139.191] (**) Not automatically adding GPU devices
[   139.191] (==) Automatically binding GPU devices
[   139.191] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   139.191] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[   139.191]    Entry deleted from font path.
[   139.191] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/100dpi/:unscaled,
        /usr/share/fonts/X11/75dpi/:unscaled,
        /usr/share/fonts/X11/Type1,
        /usr/share/fonts/X11/100dpi,
        /usr/share/fonts/X11/75dpi,
        built-ins
[   139.191] (==) ModulePath set to "/usr/lib/xorg/modules"
[   139.191] (II) Loader magic: 0x5555557b6f00
[   139.191] (II) Module ABI versions:
[   139.191]    X.Org ANSI C Emulation: 0.4
[   139.191]    X.Org Video Driver: 25.2
[   139.191]    X.Org XInput driver : 24.4
[   139.191]    X.Org Server Extension : 10.0
[   139.192] (II) systemd-logind: took control of session /org/freedesktop/login1/session/c3

**[   139.192] (II) xfree86: Adding drm device (/dev/dri/card0)
[   139.192] (II) Platform probe for /sys/devices/pci0000:00/0000:00:08.1/0000:0d:00.0/drm/card0
[   139.192] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted
[   139.195] (--) PCI:*(13@0:0:0) 1002:164e:1002:164e rev 201, Mem @ 0xfce0000000/268435456, 0xfcf0000000/2097152, 0xfc900000/524288, I/O @ 0x0000e000/256**

[   139.195] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.   //is it possible to disable it? where?

[   139.195] (II) LoadModule: "dbe"
[   139.195] (II) Module "dbe" already built-in
[   139.195] (II) LoadModule: "ddc"
[   139.195] (II) Module "ddc" already built-in
[   139.195] (II) LoadModule: "extmod"
[   139.195] (II) Module "extmod" already built-in
[   139.195] (II) LoadModule: "glx"
[   139.195] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[   139.195] (II) Module glx: vendor="X.Org Foundation"
[   139.195]    compiled for 1.21.1.11, module version = 1.0.0
[   139.195]    ABI class: X.Org Server Extension, version 10.0
[   139.195] (II) LoadModule: "int10"
[   139.195] (II) Loading /usr/lib/xorg/modules/libint10.so
[   139.195] (II) Module int10: vendor="X.Org Foundation"
[   139.195]    compiled for 1.21.1.11, module version = 1.0.0
[   139.195]    ABI class: X.Org Video Driver, version 25.2
[   139.195] (II) LoadModule: "record"
[   139.195] (II) Module "record" already built-in
[   139.195] (II) LoadModule: "vbe"
[   139.195] (II) Loading /usr/lib/xorg/modules/libint10.so
[   139.195] (II) Module int10: vendor="X.Org Foundation"
[   139.195]    compiled for 1.21.1.11, module version = 1.0.0
[   139.195]    ABI class: X.Org Video Driver, version 25.2
[   139.195] (II) LoadModule: "glamoregl"
[   139.195] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[   139.196] (II) Module glamoregl: vendor="X.Org Foundation"
[   139.196]    compiled for 1.21.1.11, module version = 1.0.1
[   139.196]    ABI class: X.Org ANSI C Emulation, version 0.4
[   139.196] (II) LoadModule: "xorgxrdp"
[   139.196] (II) Loading /usr/lib/xorg/modules/libxorgxrdp.so
[   139.196] (II) Module XORGXRDP: vendor="X.Org Foundation"
[   139.196]    compiled for 1.21.1.11, module version = 0.10.0
[   139.196]    ABI class: X.Org Video Driver, version 25.2
[   139.196] xorgxrdpSetup:
[   139.196] (II) LoadModule: "fb"
[   139.196] (II) Module "fb" already built-in
[   139.196] (II) LoadModule: "xrdpdev"
[   139.196] (II) Loading /usr/lib/xorg/modules/drivers/xrdpdev_drv.so
[   139.197] (II) Module XRDPDEV: vendor="X.Org Foundation"
[   139.197]    compiled for 1.21.1.11, module version = 0.10.0
[   139.197]    ABI class: X.Org Video Driver, version 25.2
[   139.197] xrdpdevSetup:
[   139.197] (II) LoadModule: "xrdpmouse"
[   139.197] (II) Loading /usr/lib/xorg/modules/input/xrdpmouse_drv.so
[   139.197] (II) Module XRDPMOUSE: vendor="X.Org Foundation"
[   139.197]    compiled for 1.21.1.11, module version = 0.10.0
[   139.197]    Module class: X.Org XInput Driver
[   139.197]    ABI class: X.Org XInput driver, version 24.4
[   139.197] rdpmousePlug:
[   139.197] (II) LoadModule: "xrdpkeyb"
[   139.197] (II) Loading /usr/lib/xorg/modules/input/xrdpkeyb_drv.so
[   139.197] (II) Module XRDPKEYB: vendor="X.Org Foundation"
[   139.197]    compiled for 1.21.1.11, module version = 0.10.0
[   139.197]    Module class: X.Org XInput Driver
[   139.197]    ABI class: X.Org XInput driver, version 24.4
[   139.197] rdpkeybPlug:
[   139.197] rdpIdentify:
[   139.197] (II) XRDPDEV: driver for xrdp: XRDPDEV
[   139.197] rdpDriverFunc: op 10
[   139.197] (WW) Falling back to old probe method for XRDPDEV
[   139.197] rdpProbe:
[   139.197] (II) Loading sub module "fb"
[   139.197] (II) LoadModule: "fb"
[   139.197] (II) Module "fb" already built-in
[   139.197] rdpProbe: found DRMDevice xorg.conf value [/dev/dri/renderD128]
[   139.197] rdpProbe: found DRI3 xorg.conf value [1]
[   139.197] (II) XRDPDEV(0): using default device
[   139.197] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[   139.197] rdpPreInit:
[   139.197] rdpPreInit: /dev/dri/renderD128 open ok, fd 12
[   139.197] (**) XRDPDEV(0): Depth 24, (--) framebuffer bpp 32
[   139.197] (==) XRDPDEV(0): RGB weight 888
[   139.197] (==) XRDPDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[   139.197] (==) XRDPDEV(0): Default visual is TrueColor
[   139.197] (==) XRDPDEV(0): DPI set to (96, 96)
[   139.197] (II) XRDPDEV(0):   mode "640x480" ok
[   139.197] (II) XRDPDEV(0):   mode "800x600" ok
[   139.197] (II) XRDPDEV(0): Virtual size is 800x600 (pitch 800)
[   139.197] (**) XRDPDEV(0):  Default mode "800x600": 36.0 MHz (scaled from 0.0 MHz), 35.2 kHz, 56.2 Hz
[   139.197] (II) XRDPDEV(0): Modeline "800x600"x0.0   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz d)
[   139.197] (II) Loading sub module "glamoregl"
[   139.197] (II) LoadModule: "glamoregl"
[   139.197] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[   139.197] (II) Module glamoregl: vendor="X.Org Foundation"
[   139.197]    compiled for 1.21.1.11, module version = 1.0.1
[   139.197]    ABI class: X.Org ANSI C Emulation, version 0.4
[   139.197] rdpPreInit: glamor module load ok
[   139.214] (II) XRDPDEV(0): glamor X acceleration enabled on AMD Radeon Graphics (radeonsi, raphael_mendocino, LLVM 17.0.6, DRM 3.57, 6.10.1-x64v4-xanmod1)
[   139.214] rdpPreInit: glamor init ok
[   139.214] rdpScreenInit: virtualX 800 virtualY 600 rgbBits 8 depth 24
[   139.214] rdpScreenInit: pfbMemory bytes 1920000
[   139.214] rdpScreenInit: pfbMemory 0x7fffe922b010
[   139.214] rdpSimdInit: assigning yuv functions
[   139.214] rdpSimdInit: cpuid ax 1 cx 0 return ax 0x00a60f12 bx 0x1f200800 cx 0x7ef8320b dx 0x178bfbff
[   139.214] rdpSimdInit: sse2 amd64 yuv functions assigned
[   139.217] rdpScreenInit: glamor_init ok
[   139.217] rdpDri2Init:
[   139.217] (II) XRDPDEV(0): [DRI2] Setup complete
[   139.217] (II) XRDPDEV(0): [DRI2]   DRI driver: radeonsi
[   139.217] (II) XRDPDEV(0): [DRI2]   VDPAU driver: radeonsi
[   139.217] rdpScreenInit: rdpDri2Init ok
[   139.217] rdpScreenInit: rdpDri3Init ok
[   139.217] (==) XRDPDEV(0): Backing store enabled
[   139.217] rdpClientConInit: disconnect idle session after [0] sec
[   139.217] rdpClientConInit: kill disconnected [0] timeout [0] sec
[   139.218] rdpEglCreate: vertex_shader compiled 1
[   139.218] rdpEglCreate: fragment_shader compiled 1
[   139.218] rdpEglCreate: linked 1
[   139.218] rdpEglCreate: copy_tex_loc 0 copy_tex_size_loc 1
[   139.218] rdpEglCreate: vertex_shader compiled 1
[   139.218] rdpEglCreate: fragment_shader compiled 1
[   139.218] rdpEglCreate: linked 1
[   139.218] rdpEglCreate: yuv_tex_loc 0 yuv_tex_size_loc 1
[   139.218] rdpEglCreate: vertex_shader compiled 1
[   139.218] rdpEglCreate: fragment_shader compiled 1
[   139.218] rdpEglCreate: linked 1
[   139.218] rdpEglCreate: yuvlp_tex_loc 0 yuvlp_tex_size_loc 1
[   139.218] rdpEglCreate: vertex_shader compiled 1
[   139.218] rdpEglCreate: fragment_shader compiled 1
[   139.218] rdpEglCreate: linked 1
[   139.218] rdpEglCreate: crc_tex_loc 0 crc_tex_size_loc 1
[   139.218] rdpScreenInit: out
[   139.218] (II) Initializing extension Generic Event Extension
[   139.218] (II) Initializing extension SHAPE
[   139.218] (II) Initializing extension MIT-SHM
[   139.218] (II) Initializing extension XInputExtension
[   139.218] (II) Initializing extension XTEST
[   139.218] (II) Initializing extension BIG-REQUESTS
[   139.218] (II) Initializing extension SYNC
[   139.218] (II) Initializing extension XKEYBOARD
[   139.218] (II) Initializing extension XC-MISC
[   139.218] (II) Initializing extension SECURITY
[   139.218] (II) Initializing extension XFIXES
[   139.218] (II) Initializing extension RENDER
[   139.219] (II) Initializing extension RANDR
[   139.219] (II) Initializing extension COMPOSITE
[   139.219] (II) Initializing extension DAMAGE
[   139.219] (II) Initializing extension MIT-SCREEN-SAVER
[   139.219] (II) Initializing extension DOUBLE-BUFFER
[   139.219] (II) Initializing extension RECORD
[   139.219] (II) Initializing extension DPMS
[   139.219] (II) Initializing extension Present
[   139.219] (II) Initializing extension DRI3
[   139.219] (II) Initializing extension X-Resource
[   139.219] (II) Initializing extension XVideo
[   139.219] (II) Initializing extension XVideo-MotionCompensation
[   139.219] (II) Initializing extension SELinux
[   139.219] (II) SELinux: Disabled on system
[   139.219] (II) Initializing extension GLX
[   139.221] (II) AIGLX: Loaded and initialized radeonsi
[   139.221] (II) GLX: Initialized DRI2 GL provider for screen 0
[   139.221] (II) Initializing extension XFree86-VidModeExtension
[   139.221] (II) Initializing extension XFree86-DGA
[   139.221] (II) Initializing extension XFree86-DRI
[   139.221] (II) Initializing extension DRI2
[   139.221] rdpCreateScreenResources:
[   139.221] rdpCreateScreenResources: create screen pixmap w 800 h 600
[   139.222] rdpCreateScreenResources: screen_tex 0x00000001
[   139.232] (II) Using input driver 'XRDPMOUSE' for 'xrdpMouse'
[   139.232] (**) Option "CorePointer"
[   139.232] (**) xrdpMouse: always reports core events
[   139.232] rdpmousePreInit: drv 0x55555582bdf0 info 0x555556391ba0, flags 0x0
[   139.232] (II) XINPUT: Adding extended input device "xrdpMouse" (type: Mouse, id 6)
[   139.232] rdpmouseControl: what 0
[   139.232] rdpmouseDeviceInit:
[   139.232] rdpmouseCtrl:
[   139.232] rdpRegisterInputCallback: type 1 proc 0x7ffff7fa94f0
[   139.232] (**) xrdpMouse: (accel) keeping acceleration scheme 1
[   139.232] (**) xrdpMouse: (accel) acceleration profile 0
[   139.232] (**) xrdpMouse: (accel) acceleration factor: 2.000
[   139.232] (**) xrdpMouse: (accel) acceleration threshold: 4
[   139.232] rdpmouseControl: what 1
[   139.232] rdpmouseDeviceOn:
[   139.232] (II) Using input driver 'XRDPKEYB' for 'xrdpKeyboard'
[   139.232] (**) Option "CoreKeyboard"
[   139.232] (**) xrdpKeyboard: always reports core events
[   139.232] rdpkeybPreInit: drv 0x55555582bd00 info 0x55555651bca0, flags 0x0
[   139.232] (II) XINPUT: Adding extended input device "xrdpKeyboard" (type: Keyboard, id 7)
[   139.232] rdpkeybControl: what 0
[   139.232] rdpkeybDeviceInit:
[   139.238] rdpkeybChangeKeyboardControl:
[   139.238] rdpkeybChangeKeyboardControl: autoRepeat on
[   139.238] rdpRegisterInputCallback: type 0 proc 0x7ffff749aa00
[   139.238] rdpkeybControl: what 1
[   139.238] rdpkeybDeviceOn:
[   139.242] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[   139.242] (II) AutoAddDevices is off - not adding device.
[   139.242] (II) config/udev: Adding input device Video Bus (/dev/input/event2)
[   139.242] (II) AutoAddDevices is off - not adding device.
[   139.242] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[   139.242] (II) AutoAddDevices is off - not adding device.
[   139.243] rdpDeferredRandR:
[   139.243] rdpResizeSession: width 1024 height 768
[   139.243]   calling RRScreenSizeSet
[   139.243] rdpRRScreenSetSize: width 1024 height 768 mmWidth 271 mmHeight 203
[   139.244] rdpRRScreenSetSize: screen_tex 0x00000003
[   139.244] rdpRRGetInfo:
[   139.244]   screen resized to 1024x768
[   139.244]   RRScreenSizeSet ok 1
[   139.244] rdpResizeSession: width 1920 height 1200
[   139.244]   calling RRScreenSizeSet
[   139.244] rdpRRScreenSetSize: width 1920 height 1200 mmWidth 508 mmHeight 318
[   139.244] rdpRRScreenSetSize: screen_tex 0x00000004
[   139.244] rdpRRGetInfo:
[   139.244]   screen resized to 1920x1200
[   139.244]   RRScreenSizeSet ok 1
[   139.244] rdpRRSetRdpOutputs: numCrtcs 0 numOutputs 0 monitorCount 0
[   139.244] rdpRRSetRdpOutputs: update output 0 left 0 top 0 width 1920 height 1200
[   139.244] rdpRRConnectOutput:
[   139.338] rdpInDeferredRepeatCallback:
[   139.338] rdpkeybChangeKeyboardControl:
[   139.338] rdpkeybChangeKeyboardControl: autoRepeat off
[   140.191] rdpRRGetInfo:
[   140.194] rdpmouseControl: what 2
[   140.194] rdpmouseDeviceOff:
[   140.194] rdpkeybControl: what 2
[   140.194] rdpkeybDeviceOff:
[   140.194] xorgxrdpDamageDestroy:
[   140.195] rdpkeybControl: what 3
[   140.195] rdpkeybUnInit: drv 0x55555582bd00 info 0x55555651bca0, flags 0x0
[   140.195] rdpUnregisterInputCallback: proc 0x7ffff749aa00
[   140.195] rdpmouseControl: what 3
[   140.195] rdpmouseUnInit: drv 0x55555582bdf0 info 0x555556391ba0, flags 0x0
[   140.195] rdpUnregisterInputCallback: proc 0x7ffff7fa94f0
[   140.195] rdpCloseScreen:
[   140.195] xorgxrdpDownDown:
[   140.195] xorgxrdpDownDown: 1
[   140.195] rdpClientConDeinit:
[   140.195] rdpClientConDeinit: deleting file /run/xrdp/sockdir/1000/xrdp_display_10
[   140.195] rdpClientConDeinit: deleting file /run/xrdp/sockdir/1000/xrdp_disconnect_display_10
[   140.195] (II) Server terminated successfully (0). Closing log file.

xrdp.ini :

[Globals]
ini_version=1

fork=true
port=3389
use_vsock=false
tcp_nodelay=true
tcp_keepalive=true

security_layer=negotiate
crypt_level=high

; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
; note this needs the user xrdp to be a member of the ssl-cert group, do with e.g.
;$ sudo adduser xrdp ssl-cert
certificate=
key_file=

ssl_protocols=TLSv1.2, TLSv1.3
#tls_ciphers=HIGH
autorun=

allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
#hidelogwindow=true
max_bpp=32
new_cursors=true
; fastpath - can be 'input', 'output', 'both', 'none'
use_fastpath=both

#require_credentials=true
#enable_token_login=true
; Default DPI used for a monitor when that information is unknown
#default_dpi=96
ls_top_window_bg_color=003057
ls_width=350
ls_height=360
ls_bg_color=f0f0f0

[Logging]
LogFile=xrdp.log
LogLevel=INFO
EnableSyslog=true

[LoggingPerLogger]
#xrdp.c=INFO
#main()=INFO

[Channels]
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true

; Session types
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
port=-1
code=20

[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

[vnc-any]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=na
password=ask
#pamusername=asksame
#pampassword=asksame
#delay_ms=2000

[neutrinordp-any]
name=neutrinordp-any

lib=libxrdpneutrinordp.so
ip=ask
port=ask3389
username=ask
password=ask

sesman.ini:

[Globals]
#ListenPort=sesman.socket
EnableUserWindowManager=true

UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
ReconnectScript=reconnectwm.sh

[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins

AlwaysGroupCheck=false
RestrictOutboundClipboard=none
RestrictInboundClipboard=none

[Sessions]
X11DisplayOffset=10
MaxSessions=50
KillDisconnected=false
DisconnectedTimeLimit=0

IdleTimeLimit=0

Policy=Default

[Logging]
LogFile=xrdp-sesman.log
LogLevel=INFO
EnableSyslog=true


[LoggingPerLogger]

[Xorg]
param=/usr/lib/xorg/Xorg

param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
param=-logfile
param=.xorgxrdp.%s.log

[Xvnc]
param=Xvnc
param=-bs
param=-nolisten
param=tcp
param=-localhost
param=-dpi
param=96

[Chansrv]
FuseMountName=thinclient_drives

FileUmask=077

[ChansrvLogging]
LogLevel=INFO
EnableSyslog=true

[ChansrvLoggingPerLogger]

[SessionVariables]
PULSE_SCRIPT=/etc/xrdp/pulse/default.pa

sudo groups xrdp:
xrdp : xrdp ssl-cert

All worked fine before the update.

@Zheka17 Zheka17 added the bug label Jul 25, 2024
@akarl10
Copy link
Contributor

akarl10 commented Jul 26, 2024

hmm, since you mention xrdp group: is it possible that you still use xrdp.service and xrdp-sesman.service from a debian package?
this looks like
#3179 (reply in thread)

if this is the "real" debian package, this resolves it, a bugreport should be created on bugs.debian.org
(I had to adapt "my" ubuntu .deb for 0.10 the same way since oob it had the same issue)

@Zheka17
Copy link
Author

Zheka17 commented Jul 28, 2024

xrdp/xorgxrdp had been installed from apt.

I tried setting SessionSockdirGroup=xrdp under the [Security] section in sesman.ini - as you suggested - but this haven't resolved the problem. ( with runtime_xxxx not in xrdp.ini)

This is the result of systemctl status xrdp after unsuccessful login remote login:

xrdp.service - LSB: xrdp (X Remote Desktop Protocol) full server
     Loaded: loaded (/etc/init.d/xrdp; generated)
     Active: active (running) since Sun 2024-07-28 05:14:25 EDT; 1min 21s ago
 Invocation: 76242d837c304b7b8938c0fcb7d6e97b
       Docs: man:systemd-sysv-generator(8)
    Process: 856 ExecStart=/etc/init.d/xrdp start (code=exited, status=0/SUCCESS)
        CPU: 42ms
     CGroup: /system.slice/xrdp.service
             ├─930 /usr/sbin/xrdp-sesman
             └─935 /usr/sbin/xrdp

Jul 28 05:15:09 eaAM5 xrdp[1276]: [INFO ] xrdp_wm_log_msg: Connecting to session
Jul 28 05:15:09 eaAM5 xrdp[1276]: [INFO ] loaded module 'libxup.so' ok, interface size 10416, version 4
Jul 28 05:15:09 eaAM5 xrdp[1276]: [INFO ] lib_mod_connect: connecting via UNIX socket
Jul 28 05:15:09 eaAM5 xrdp[1276]: [INFO ] lib_mod_log_peer: xrdp_pid=1276 connected to Xorg_pid=1285 Xorg_uid=1000 Xorg_gid=1000 client=[::ff>
Jul 28 05:15:09 eaAM5 xrdp[1276]: [INFO ] xrdp_wm_log_msg: Connecting to chansrv
Jul 28 05:15:09 eaAM5 xrdp-sesman[930]: [INFO ] Session on display 10 has finished.
Jul 28 05:15:19 eaAM5 xrdp[1276]: [ERROR] xrdp_mm_chansrv_connect: error in trans_connect chan
Jul 28 05:15:19 eaAM5 xrdp[1276]: [ERROR] Xorg server closed connection
Jul 28 05:15:19 eaAM5 xrdp[1276]: [ERROR] SSL_shutdown: Failure in SSL library (protocol error?)
Jul 28 05:15:19 eaAM5 xrdp[1276]: [ERROR] SSL: error:0A000123:SSL routines::application data after close notify

and this is after systemctl restart xrdp:

xrdp.service - LSB: xrdp (X Remote Desktop Protocol) full server
     Loaded: loaded (/etc/init.d/xrdp; generated)
     Active: active (running) since Sun 2024-07-28 05:18:12 EDT; 4s ago
 Invocation: d1cc3869cd614074aa4df9399e018926
       Docs: man:systemd-sysv-generator(8)
    Process: 1392 ExecStart=/etc/init.d/xrdp start (code=exited, status=0/SUCCESS)
        CPU: 13ms
     CGroup: /system.slice/xrdp.service
             ├─1406 /usr/sbin/xrdp-sesman
             └─1409 /usr/sbin/xrdp

Jul 28 05:18:12 eaAM5 xrdp-sesman[1406]: [INFO ] starting xrdp-sesman with pid 1406
Jul 28 05:18:12 eaAM5 xrdp-sesman[1406]: [INFO ] Sesman now listening on /run/xrdp/sockdir/sesman.socket
Jul 28 05:18:12 eaAM5 xrdp[1408]: [INFO ] address [0.0.0.0] port [3389] mode 1
Jul 28 05:18:12 eaAM5 xrdp[1408]: [INFO ] listening to port 3389 on 0.0.0.0
Jul 28 05:18:12 eaAM5 xrdp[1408]: [INFO ] xrdp_listen_pp done
Jul 28 05:18:12 eaAM5 systemd[1]: Started xrdp.service - LSB: xrdp (X Remote Desktop Protocol) full server.
Jul 28 05:18:14 eaAM5 xrdp[1409]: [INFO ] starting xrdp with pid 1409
Jul 28 05:18:14 eaAM5 xrdp[1409]: [INFO ] address [0.0.0.0] port [3389] mode 1
Jul 28 05:18:14 eaAM5 xrdp[1409]: [INFO ] listening to port 3389 on 0.0.0.0
Jul 28 05:18:14 eaAM5 xrdp[1409]: [INFO ] xrdp_listen_pp done

Interestingly, after xrdp restart , systemctl status xrdp-sesman replies with
"Unit xrdp-sesman.service could not be found".

IS this expected?

What else can be tried?

@akarl10
Copy link
Contributor

akarl10 commented Jul 28, 2024

It looks like debian only uses a single (probably autogenerated service from /etc/init.d/xrdp) xrdp.service, so the absence of xrdp-sesman is probably expected here.

I think you got a different result this time (not a black screen but a disconnect), since now there is

lib_mod_log_peer: xrdp_pid=1276 connected to Xorg_pid=1285 Xorg_uid=1000 Xorg_gid=1....

after lib_mod_connect: connecting via UNIX socket (that previously probably failed)

now it seems that the x session immediately terminates. Can you check ~/.xsession-errors, maybe there is something useful

@Zheka17
Copy link
Author

Zheka17 commented Jul 28, 2024

there is no ~/.xsession-errors...
and the result is the same as before (have a look at the first /var/log/xrdp.log):

[20240725-08:30:23] [INFO ] sesman connect ok
[20240725-08:30:23] [INFO ] sending login info to session manager. Please wait...
[20240725-08:30:23] [INFO ] xrdp_wm_log_msg: login successful for user zheka on display 10
[20240725-08:30:23] [INFO ] login successful for user zheka on display 10
[20240725-08:30:23] [INFO ] loaded module 'libxup.so' ok, interface size 10296, version 4
[20240725-08:30:23] [INFO ] started connecting
[20240725-08:30:23] [INFO ] lib_mod_connect: connecting via UNIX socket
[20240725-08:30:23] [INFO ] lib_mod_log_peer: xrdp_pid=5289 connected to X11rdp_pid=5311 X11rdp_uid=1000 X11rdp_gid=1000 client_ip=::ffff:xxx.xx.xx.xx client_port=49246
[20240725-08:30:23] [INFO ] connected ok
[20240725-08:30:27] [WARN ] xrdp_mm_chansrv_connect: connect failed trying again...
[20240725-08:30:31] [WARN ] xrdp_mm_chansrv_connect: connect failed trying again...
[20240725-08:30:35] [WARN ] xrdp_mm_chansrv_connect: connect failed trying again...
[20240725-08:30:39] [WARN ] xrdp_mm_chansrv_connect: connect failed trying again...
[20240725-08:30:39] [ERROR] xrdp_mm_chansrv_connect: error in trans_connect chan
[20240725-08:30:39] [ERROR] SSL_write: I/O error
[20240725-08:30:39] [ERROR] xrdp_iso_send: trans_write_copy_s failed

the last lines from the most recent /var/log/xrdp.log:

[2024-07-28T09:01:04.651-0400] [INFO ] xrdp_wm_log_msg: sesman connect ok
[2024-07-28T09:01:04.651-0400] [INFO ] xrdp_wm_log_msg: Performing login request for zheka
[2024-07-28T09:01:04.667-0400] [INFO ] xrdp_wm_log_msg: login was successful - creating session
[2024-07-28T09:01:05.864-0400] [INFO ] xrdp_wm_log_msg: session is available on display 10 for user zheka
[2024-07-28T09:01:05.864-0400] [INFO ] xrdp_wm_log_msg: Connecting to session
[2024-07-28T09:01:05.864-0400] [INFO ] loaded module 'libxup.so' ok, interface size 10416, version 4
[2024-07-28T09:01:05.864-0400] [INFO ] lib_mod_connect: connecting via UNIX socket
[2024-07-28T09:01:05.864-0400] [INFO ] lib_mod_log_peer: xrdp_pid=1814 connected to Xorg_pid=1843 Xorg_uid=1000 Xorg_gid=1000 client=[::ffff:xxx.xx.xx.xx]:50940
[2024-07-28T09:01:05.864-0400] [INFO ] xrdp_wm_log_msg: Connecting to chansrv

[2024-07-28T09:01:15.865-0400] [ERROR] xrdp_mm_chansrv_connect: error in trans_connect chan
[2024-07-28T09:01:15.865-0400] [ERROR] Xorg server closed connection
[2024-07-28T09:01:15.865-0400] [ERROR] SSL_shutdown: Failure in SSL library (protocol error?)
[2024-07-28T09:01:15.865-0400] [ERROR] SSL: error:0A000123:SSL routines::application data after close notify

What is the potential source of "error in trans_connect chan" ?

@Zheka17
Copy link
Author

Zheka17 commented Jul 28, 2024 via email

@akarl10
Copy link
Contributor

akarl10 commented Jul 28, 2024

client requested gfx protocol with insufficient color depth might be a problem (don't know how xrdp 0.10 handles this exactly, but if gfx is enabled 32bit colour depth must be set (what client are you using? if mstsc, there is a dropdown list where you can select different colour depths)

@Zheka17
Copy link
Author

Zheka17 commented Jul 29, 2024 via email

@Zheka17
Copy link
Author

Zheka17 commented Jul 29, 2024 via email

@Zheka17
Copy link
Author

Zheka17 commented Jul 29, 2024 via email

@matt335672
Copy link
Member

I'd suggest for the time being putting any defaults in xorg.conf back. No-one's reported that particular error before! The default xorg.conf is here for reference:-

https://github.com/neutrinolabs/xorgxrdp/blob/devel/xrdpdev/xorg.conf

BTW this particular warning :-

[2024-07-28T13:56:13.412-0400] [WARN ] client requested gfx protocol with insufficient color depth

was addressed by d23d147. If the client asks for GFX but not 32bpp, we simply don't enable GFX when we reply to the client. So you should get a working login despite the warning.

If you could get back to where you were, this would be useful.

We don't have complete logs from the earlier time, but this looks to me like the session is terminating early.

Apologies in advance for the bold, and also apologies if you've checked this, but a common cause of this is being logged in on the local console, and trying to log in over xrdp with the same user. Please make sure you're not logged in on the console as user zheka when using xrdp. This is covered in the FAQ. systemd --user can't do more that one concurrent graphical session per user.

If that's not it, please post /var/log/xrdp-sesman.log without a modified xorg.conf.

@Zheka17
Copy link
Author

Zheka17 commented Jul 29, 2024

All tests are done straight after a reboot, and this is a remote server to which I don't have physical access.

Putting back xorg.conf defaults, X server IS starting, but the screen is still black and now I shortly get kicked out of the rdp session.
There are no errors or visible problems neither in xorgxrdp.10.log nor in Xorg.0.log.
But here is xrdp-sesman.log:

[2024-07-29T11:24:29.897-0400] [INFO ] Socket 13: connection accepted from AF_UNIX
[2024-07-29T11:24:29.900-0400] [INFO ] Received system login request from xrdp for user: zheka IP: ::ffff:xxx.xx.xx.xx
[2024-07-29T11:24:29.897-0400] [INFO ] Socket 13: connection accepted from AF_UNIX
[2024-07-29T11:24:29.900-0400] [INFO ] Received system login request from xrdp for user: zheka IP: ::ffff:xxx.xx.xx.xx
[2024-07-29T11:24:29.902-0400] [DEBUG] Calling exec (excutable: /usr/lib/x86_64-linux-gnu/xrdp/xrdp-sesexec, arguments: xrdp-sesexec)
[2024-07-29T11:24:29.902-0400] [DEBUG] Closed socket 13 (AF_UNIX)
[2024-07-29T11:24:29.916-0400] [INFO ] starting xrdp-sesexec with pid 1390
[2024-07-29T11:24:29.106-0400] [INFO ] TerminalServerUsers group tsusers doesn't exist. Access granted for zheka
[2024-07-29T11:24:29.106-0400] [INFO ] Access permitted for user: zheka
[2024-07-29T11:24:29.106-0400] [DEBUG] Closed socket 9 (AF_UNIX)
[2024-07-29T11:24:29.106-0400] [INFO ] Received sys login status for zheka : logged in
[2024-07-29T11:24:29.106-0400] [INFO ] Received request from xrdp to create a session for user zheka
[2024-07-29T11:24:29.106-0400] [DEBUG] session_list_get_bydata: search policy=UB type=Xorg U=1000 B=24 D=(1920x1080) I=
[2024-07-29T11:24:29.106-0400] [DEBUG] session_list_get_bydata: No matches found
[2024-07-29T11:24:29.106-0400] [DEBUG] Did not find a running X server at /tmp/.X11-unix/X10
[2024-07-29T11:24:29.106-0400] [DEBUG] Did not find a running X server at /tmp/.X10-lock
[2024-07-29T11:24:29.106-0400] [DEBUG] Closed socket 15 ([::]:5910)
[2024-07-29T11:24:29.107-0400] [DEBUG] Did not find a running X server at 5910
[2024-07-29T11:24:29.107-0400] [DEBUG] Closed socket 15 ([::]:6010)
[2024-07-29T11:24:29.107-0400] [DEBUG] Did not find a running X server at 6010
[2024-07-29T11:24:29.107-0400] [DEBUG] Closed socket 15 ([::]:6210)
[2024-07-29T11:24:29.107-0400] [DEBUG] Closed socket 13 (AF_UNIX)
[2024-07-29T11:24:29.292-0400] [DEBUG] Waiting for X server to start on display :10
[2024-07-29T11:24:29.292-0400] [DEBUG] Calling exec (excutable: /usr/lib/x86_64-linux-gnu/xrdp/waitforx, arguments: /usr/lib/x86_64-linux-gnu/xrdp/waitforx -d :10)
[2024-07-29T11:24:29.293-0400] [INFO ] Starting X server on display 10: /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
[2024-07-29T11:24:29.293-0400] [DEBUG] Calling exec (excutable: /usr/lib/xorg/Xorg, arguments: /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log)
[2024-07-29T11:24:29.294-0400] [DEBUG] waitforx: Opening display :10. Attempt 1 of 10
[2024-07-29T11:24:30.294-0400] [DEBUG] waitforx: Opening display :10. Attempt 2 of 10
[2024-07-29T11:24:30.294-0400] [DEBUG] waitforx: Opened display :10
[2024-07-29T11:24:30.294-0400] [DEBUG] waitforx: Waiting for outputs. Attempt 1 of 10
[2024-07-29T11:24:30.295-0400] [DEBUG] waitforx: Display :10 ready with 1 RandR outputs
[2024-07-29T11:24:30.295-0400] [DEBUG] waiting for pid 1411 to exit
[2024-07-29T11:24:30.295-0400] [INFO ] X server :10 is working
[2024-07-29T11:24:30.295-0400] [INFO ] Starting window manager for display :10
[2024-07-29T11:24:30.295-0400] [INFO ] Starting the xrdp channel server for display :10
[2024-07-29T11:24:30.295-0400] [INFO ] Session in progress on display :10. Waiting until the window manager (pid 1428) exits to end the session
[2024-07-29T11:24:30.295-0400] [DEBUG] Calling exec (excutable: /usr/sbin/xrdp-chansrv, arguments: /usr/sbin/xrdp-chansrv)
[2024-07-29T11:24:30.295-0400] [DEBUG] The user session on display 10 did not request a specific window manager
[2024-07-29T11:24:30.295-0400] [DEBUG] Closed socket 9 (AF_UNIX)
[2024-07-29T11:24:30.295-0400] [DEBUG] The user home directory window manager configuration is enabled but window manager program does not exist: /home/zheka/startwm.sh
[2024-07-29T11:24:30.296-0400] [INFO ] Using the default window manager on display 10: /etc/xrdp/startwm.sh
[2024-07-29T11:24:30.296-0400] [DEBUG] Calling exec (executable: /etc/xrdp/startwm.sh, arguments: /etc/xrdp/startwm.sh )
[2024-07-29T11:24:30.297-0400] [WARN ] Window manager (pid 1428, display 10) exited with non-zero exit code 2. This could indicate a window manager config problem
[2024-07-29T11:24:30.298-0400] [WARN ] Window manager (pid 1428, display 10) exited quickly (0 secs). This could indicate a window manager config problem
[2024-07-29T11:24:30.298-0400] [INFO ] Terminating X server (pid 1410) on display :10
[2024-07-29T11:24:30.298-0400] [INFO ] Terminating the xrdp channel server (pid 1429) on display :10
[2024-07-29T11:24:30.298-0400] [INFO ] xrdp channel server pid 1429 on display :10 finished
[2024-07-29T11:24:30.304-0400] [INFO ] X server pid 1410 on display :10 finished
[2024-07-29T11:24:30.304-0400] [INFO ] Session on display 10 has finished.
[2024-07-29T11:24:30.305-0400] [DEBUG] Closed socket 14 (AF_UNIX)
[2024-07-29T11:24:30.305-0400] [DEBUG] Closed socket 15 (AF_UNIX)4.8.4

and here is /etc/xrdp/startwm.sh:

if test -r /etc/profile; then
        . /etc/profile
fi

if test -r ~/.profile; then
        . ~/.profile
fi

test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession

which of the config file is /etc/X11/Xsession would you like to have a look at?

Using lightdm with xfce; all worked fine prior to xrdp and xorg update to 0.10

@matt335672
Copy link
Member

Fine @Zheka17 - I had to ask about the console. It comes up a lot.

The sesman log tells us the X server is starting, and is ready after about 2 seconds. At that point, startwm.sh is called to start the session. This fails with quickly with exit status 2, and so the session is terminated.

This points to either the script, or something it's calling.

Try this to get a log of what the script is doing:-

DISPLAY= sh -x /etc/xrdp/startwm.sh

@Zheka17
Copy link
Author

Zheka17 commented Jul 31, 2024

Upon looking at what the /etc/xrdp/startwm.sh is doing, i found that it stopped at "..xxx...file not found" and didn't proceed to
test -x /etc/X11/Xsession && exec /etc/X11/Xsession in startwm.sh - to launch the X session.

(This is somewhat strange, as on an identically setup machine - though VM and with prior version of xrdp) - a similar error did not stop the startwm.sh from proceeding and successfully launching an X session).

Anyways, once i recreated the missing file, the startwm did proceed to create an X session and I finally saw the graphical desktop!!

Several observations:

  1. After a reboot, it takes nearly 2secs before the graphical desktop is displayed. This hasn't been the case in versions <0.10
  2. Changing xrdp.ini or sesman.ini and doing a daemon-reload && restart xrdp (from an ssh session,+logout) leads to a black screen on a subsequent xrdp login. A reboot is needed for xrdp to work as expected. Is that normal?
  3. the only remaining error is
[99.805] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted
[99.808] (--) PCI:*(13@0:0:0) 1002:164e:1002:164e rev 201, Mem @ 0xfce0000000/268435456, 0xfcf0000000/2097152, 0xfc900000/524288, I/O @ 0x0000e000/256

Does this hamper any functionality of xrdp/system in general?

Other Qs:

  1. is my understanding correct that setting 32-bit color depth in mstsc engages the GPU, while 24-bit/16-bit modes do not?
  2. what's fast_path?
  3. i don't get the sound locally when playing a video remotely (with an appropriate setting in mstsc). Is there a way to make it work?

Thank you.

@akarl10
Copy link
Contributor

akarl10 commented Jul 31, 2024

some comments to the observations:

  1. this is probably "waitforx". The purpose is to wait for the execution of "startwm.sh" until the X server is really ready. It does this by polling.
  2. when you login on a somewhat modern linux system there is also a systemd user session. Just by restarting xrdp this sessions are probably not cleaned up. Best thing to do is logout from every session after restarting xrdp. If you login with ssh using the same user you actually share the parts of the systemd-user session (specifically /run/user/$UID and all attached to it), and some applications stay up, so you need to logout from ssh too and wait a couple of seconds for systemd-logind to close the session.
    see [RFE] enforce single graphical session on systemd platforms #2491
  3. this is normal and not an issue (this essentially just says that the session is not a physical one, or at least systemd-logind was rejected from taking a physical display. This is deep in Xorg's code and cannot be avoided by xrdp)

other Questions:

  1. it is not really talking about gpu but about new codecs to transfer the display content to the client. The new egfx codecs, that is rfx progressiv and two h264 variants (and also windows 7 rfx afaik) only work on 32bit colour depth.
  2. I don't know enough of the rdp spec to answer that
  3. there should be a package pipewire-module-xrdp. Just apt install it, login and you should get sound

@Zheka17
Copy link
Author

Zheka17 commented Jul 31, 2024

Thanks a lot for your answers!

On Q 1:
what will/should be more efficient (for the remote host CPU)- using 32-bit/egfx codecs or 16-bit depth?

@matt335672
Copy link
Member

Glad you got it working @Zheka17

To add some context to @akarl10's good comments:-

  1. You can see the two second delay in your comment here. Before this release, there was a race between the X server opening its listening socket and being completely ready. waitforx makes sure the X server is fully functioning before starting the session to avoid intermittent problems like Don't start window managers until there's an ouptut #2436.
  2. Restarting sesman currently doesn't work well. We're aware of that and intend to fix it.

and:-

  1. Lots of 3D acceleration assumes a 32-bit depth. Setting 16-bit color depth should only be done if necessary to support a very old application.
  2. Fastpath is a way to provide a mild optimisation of client I/O by combining separate Protocol Data Units (PDUs) into a single PDU, and so avoiding some header overhead. If you're really interested, the technical details are in [MS-RDPBCGR]. It's a technical document, so quite hard to get started with, but the best sections are probably 3.3.5.8.1 and 3.3.5.9.

@Zheka17
Copy link
Author

Zheka17 commented Aug 1, 2024

Thank you @matt335672 for those extra bits!

I am accessing remote servers (one - a VM, another - physical w integrated gpu) running some ml/productivity applications; none using 3D graphics. So, I've always used 16-bit color depth to reduce overhead -both on a remote machine and on Win client.
What color depth setting in mstsc is recommended for such setup with the new xrdp/xorg?

@matt335672
Copy link
Member

32-bit will use GFX which should give you the best performance. 24-bit will fall back to an older way of doing things. I think other settings will result in 24-bit being negotiated.

@alexmyczko
Copy link

I'm here because of this https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076815
is this still an issue with the latest version in sid?

@matt335672
Copy link
Member

@alexmyczko - this is a Debian (downstream) packaging issue. They are the people who will need to fix this for you. We're not going to make their job harder by stepping on their toes.

@alexmyczko
Copy link

@matt335672 i'm part of that team myself :) i was just asking for help or hints, as i'm tapping in the dark about it...

@akarl10
Copy link
Contributor

akarl10 commented Aug 14, 2024

@alexmyczko here is what I did in my ppa and version 0.10:
I added (actually I did that before) a safeguard against multiple graphical sessions for the same user (/etc/X11/Xsession.d/10enforce-single-graphical-session)

if systemctl --quiet --user is-active graphical-session.target; then
  xmessage -button Logout:1,Terminate\ running\ graphical\ session:2 "Only a single graphical session is allowed.
If you terminate the current graphical session all unsaved data in that session will be lost"
  action=$?
  if [ "$action" -eq 2 ]; then
    systemctl --user stop graphical-session.target
    sleep 1
  else
    exit 0
  fi
fi

made a terrible .postinst upgrade script that tries to add SessionSockdirGroup= and runtime_group= runtime_user= in the ini files (When I make the next update, presumably when @metalefty pushes a h264 dynamic bandwidth update, I will make xrdp the hardcoded default for the three configuration parameters in the downstream version instead of root and drop the obsolete /usr/share/xrdp/socksetup since now xrdp-sesman does all of this)

Looking at the debian bugreport what I find odd is that the .service files seem to be missing and it looks like /etc/init.d/xrdp is used instead to launch both services. AFAIK this is where on debian xrdp is launched as xrdp:xrdp and sesman as root. IMO this should be changed to root:root since now xrdp will setuid/setgid itself to the configured user/group (runtime_group/runtime_user).

@matt335672
Copy link
Member

@alexmyczko - really sorry. I'd completely missed that.

We've occasionally liaised with @Natureshadow in the past relating to Debian-issues. If you'd like to tell me which one of you is best placed for us to communicate with, that would be a great help. I know you're all busy people, and you won't want to keep up to speed with everything that is going on here, all of the time.

I'll add to @akarl10's comments. I don't know how much of the history of this package you are aware of, but I'll add what I know. There's also a lot of stuff about permissions which has changed.

I totally agree about the missing .service manifest. Although these services are closely coupled, both service manifests should be in the .deb.

As for permissions...

Up until now, xrdp has been delivered by us with xrdp running as root. This clearly wasn't acceptable to Debian, so at some point the .deb was patched to run xrdp as the unprivileged xrdp user. These patches created the xrdp log file in /var/log/xrdp.log with root privileges, and then ran xrdp as xrdp:xrdp.

We've been working to move the good work done by Debian into the base product, so that other distros which do minimal packaging can benefit from what is, frankly, an essential security feature in 2024. This code finally landed in v0.10.1. Details are here:-

https://github.com/neutrinolabs/xrdp/wiki/Running-the-xrdp-process-as-non-root

There's a significant difference between what we do and the original Debian patches. Rather than running xrdp as a non-privileged user, we start as root, do some privileged stuff, and then drop privileges. There are good reasons for this which I'll happily pass on to you.

I see you're running v0.10.0. Although we haven't delivered the complete code for running xrdp as non-root in that version, we have delivered code which moves sesman from communicating over TCP to a UNIX domain socket. Consequently, if you patch xrdp to run as non-root, you will need to set SessionSockdirGroup=xrdp in sesman.ini so that xrdp can talk to sesman.

If you've got any questions on the above, please raise them on the Discussions forum and I'll do my best to answer them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants