Xrdp issues on NixOS

Hi All,

I’m running 23.05.3976.32dcb45f66c0 (Stoat) and I’ve not been able to get xrdp to work until I found this config from xrdp configuration cannot easily get access to xsession start scripts · Issue #126265 · NixOS/nixpkgs · GitHub :

{ libs, config, pkgs,lib, … }:
{

services.xrdp.enable = true;
services.xrdp.defaultWindowManager = “${pkgs.writeScript “xrdp-xsession-gnome” ‘’
${pkgs.gnome3.gnome-shell}/bin/gnome-shell &
waitPID=$!
${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all
test -n “$waitPID” && wait “$waitPID”
/run/current-system/systemd/bin/systemctl --user stop graphical-session.target
exit 0
‘’}”;
}

I’m having a couple of issues with this config:

  1. the screen refresh rate is painfully slow as I can type faster than the refresh rate.

  2. Machine falls into sleep mode even though its set to “High Performance”. When I remote in, the current session terminates as expected. However, when I logout there’s no active session and the machine goes into sleep mode after a while. I believe empty session is the root cause of the problem

Any pointer is greatly appreciated. Thanks in advance!

i’ve been struggling to get xrdp working as well… i’m going to try this out now

Nope… didn’t work for me at all. I’m sure i’m missing something basic in my nix config


Mar 31 18:49:06 nixos xrdp-sesman[4042]: [INFO ] Session started successfully for user sgtpooki on display 10
Mar 31 18:49:06 nixos xrdp-sesman[4042]: [INFO ] Session in progress on display 10, waiting until the window manager (pid 4044) exits to end the session
Mar 31 18:49:06 nixos xrdp-sesman[4055]: [INFO ] Starting the xrdp channel server for display 10
Mar 31 18:49:06 nixos xrdp-sesman[4044]: [INFO ] Found X server running at /tmp/.X11-unix/X10
Mar 31 18:49:06 nixos xrdp-sesman[4044]: [INFO ] Starting window manager on display 10 from user home directory: /home/sgtpooki/startwm.sh
Mar 31 18:49:06 nixos xrdp-sesman[4055]: Can't open config file /etc/xrdp/sesman.ini
Mar 31 18:49:06 nixos xrdp-sesman[4045]: rdpInDeferredRepeatCallback:
Mar 31 18:49:06 nixos xrdp-sesman[4045]: rdpkeybChangeKeyboardControl:
Mar 31 18:49:06 nixos xrdp-sesman[4045]: rdpkeybChangeKeyboardControl: autoRepeat off
Mar 31 18:49:07 nixos gnome-session[4064]: gnome-session-check-accelerated: no X11 display found
Mar 31 18:49:07 nixos gnome-session[4070]: gnome-session-check-accelerated: no X11 display found
Mar 31 18:49:07 nixos gnome-session[4044]: gnome-session-binary[4044]: WARNING: software acceleration check failed: Child process exited with code 1
Mar 31 18:49:07 nixos gnome-session-binary[4044]: WARNING: software acceleration check failed: Child process exited with code 1
Mar 31 18:49:07 nixos gnome-session-f[4076]: Cannot open display:
Mar 31 18:49:07 nixos xrdp-sesman[4042]: [WARN ] Window manager (pid 4044, display 10) exited with non-zero exit code 255 and signal 15. This could indicate a window man>
Mar 31 18:49:07 nixos xrdp-sesman[4042]: [WARN ] Window manager (pid 4044, display 10) exited quickly (1 secs). This could indicate a window manager config problem
Mar 31 18:49:07 nixos xrdp-sesman[4042]: [INFO ] Calling auth_stop_session and auth_end from pid 4042
Mar 31 18:49:07 nixos xrdp-sesman[4042]: pam_unix(xrdp-sesman:session): session closed for user sgtpooki
Mar 31 18:49:07 nixos xrdp-sesman[4042]: [INFO ] Terminating X server (pid 4045) on display 10
Mar 31 18:49:07 nixos xrdp-sesman[4042]: [INFO ] Terminating the xrdp channel server (pid 4055) on display 10
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpmouseControl: what 2
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpmouseDeviceOff:
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpkeybControl: what 2
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpkeybDeviceOff:
Mar 31 18:49:07 nixos xrdp-sesman[4045]: xorgxrdpDamageDestroy:
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpkeybControl: what 3
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpkeybUnInit: drv 0x1af8340 info 0x1da7f90, flags 0x0
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpUnregisterInputCallback: proc 0x7fab59be8a00
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpmouseControl: what 3
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpmouseUnInit: drv 0x1ae3860 info 0x1da4e80, flags 0x0
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpUnregisterInputCallback: proc 0x7fab59bed370
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpCloseScreen:
Mar 31 18:49:07 nixos xrdp-sesman[4045]: xorgxrdpDownDown:
Mar 31 18:49:07 nixos xrdp-sesman[4045]: xorgxrdpDownDown: 1
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpClientConDeinit:
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpClientConDeinit: disconnecting clientCon
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpClientConDisconnect:
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpRemoveClientConFromDev: removing clientCon 0x1e0c000
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpClientConDeinit: deleting file /tmp/.xrdp/xrdp_display_10
Mar 31 18:49:07 nixos xrdp-sesman[4045]: rdpClientConDeinit: deleting file /tmp/.xrdp/xrdp_disconnect_display_10
Mar 31 18:49:07 nixos xrdp-sesman[4045]: (II) Server terminated successfully (0). Closing log file.
Mar 31 18:49:07 nixos xrdp-sesman[4042]: [INFO ] X server on display 10 (pid 4045) returned exit code 0 and signal number 0
Mar 31 18:49:07 nixos xrdp-sesman[4042]: [INFO ] xrdp channel server for display 10 (pid 4055) exit code 1 and signal number 0
Mar 31 18:49:07 nixos xrdp-sesman[4042]: [INFO ] cleanup_sockets:
Mar 31 18:49:07 nixos xrdp-sesman[3897]: [INFO ] Process 4042 has exited
Mar 31 18:49:07 nixos xrdp-sesman[3897]: [INFO ] ++ terminated session:  username sgtpooki, display :10.0, session_pid 4042, ip ::ffff:192.168.8.243:65082 - socket: 11
Mar 31 18:49:07 nixos systemd[1]: session-5.scope: Deactivated successfully.
Mar 31 18:49:07 nixos systemd-logind[952]: Session 5 logged out. Waiting for processes to exit.
Mar 31 18:49:07 nixos systemd-logind[952]: Removed session 5.
Mar 31 18:49:13 nixos rtkit-daemon[1681]: Successfully made thread 1257 of process 1222 owned by '1000' high priority at nice level 0.
Mar 31 18:49:16 nixos kernel: nouveau 0000:09:00.0: [drm] *ERROR* Failed to get ACT after 3000ms, last status: 01
Mar 31 18:49:16 nixos rtkit-daemon[1681]: Successfully made thread 1257 of process 1222 owned by '1000' RT at priority 20.
Mar 31 18:49:22 nixos xrdp[4041]: --port parameter found, ini override [3389]