Score:1

"Oh no! Something has gone wrong" / ubuntu 23.04 / xrdp / xfce-desktop / Google Compute

by flag

How to run desktop over xrdp in Google Compute nodes?

Here is what I did:

  1. Create compute node using Ubunutu 23.04 (Lunar Lobster) image
gcloud compute instances create ask-ubuntu \
    --zone=europe-west1-c \
    --machine-type=e2-standard-2 \
    --network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default \
    --maintenance-policy=MIGRATE \
    --provisioning-model=STANDARD \
    --no-service-account \
    --no-scopes \
    --enable-display-device \
    --create-disk=auto-delete=yes,boot=yes,device-name=ask-ubuntu,image=projects/ubuntu-os-cloud/global/images/ubuntu-2304-lunar-amd64-v20230621,mode=rw,size=16,type=projects/chrome-formula-338416/zones/europe-west1-c/diskTypes/pd-balanced \
    --no-shielded-secure-boot \
    --shielded-vtpm \
    --shielded-integrity-monitoring \
    --labels=goog-ec-src=vm_add-gcloud \
    --reservation-affinity=any
  1. take command line
gcloud compute ssh --zone "europe-west1-c" "ask-ubuntu"
  1. install software
sudo apt update -y && sudo apt dist-upgrade -y
sudo reboot
sudo apt install tasksel -y
sudo tasksel install xfce-desktop
sudo tasksel install ssh-server
sudo apt install xrdp -y
sudo usermod -a -G ssl-cert xrdp
sudo passwd mareklall
sudo reboot
  1. login over rdp appears properly

login screenscreenshot

  1. login fails with message "Oh no! Something has gone wrong"

failure screenshot

  1. cat /var/log/xrdp-sesman.log
[20230627-14:24:50] [INFO ] starting xrdp-sesman with pid 17185
[20230627-14:26:16] [INFO ] sesman_main_loop: sesman asked to terminate
[20230627-14:26:47] [INFO ] starting xrdp-sesman with pid 652
[20230627-14:31:51] [INFO ] Socket 12: AF_INET6 connection received from ::1 port 49770
[20230627-14:31:52] [INFO ] Terminal Server Users group is disabled, allowing authentication
[20230627-14:31:52] [INFO ] ++ created session (access granted): username mareklall, ip ::ffff:95.153.36.59:61913 - socket: 12
[20230627-14:31:52] [INFO ] starting Xorg session...
[20230627-14:31:52] [INFO ] Starting session: session_pid 2099, display :10.0, width 2560, height 1440, bpp 24, client ip ::ffff:95.153.36.59:61913 - socket: 12, user name mareklall
[20230627-14:31:52] [ERROR] sesman_data_in: scp_process_msg failed
[20230627-14:31:52] [INFO ] [session start] (display 10): calling auth_start_session from pid 2099
[20230627-14:31:52] [ERROR] sesman_main_loop: trans_check_wait_objs failed, removing trans
[20230627-14:31:52] [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
[20230627-14:31:52] [INFO ] Found X server running at /tmp/.X11-unix/X10
[20230627-14:31:52] [INFO ] Found X server running at /tmp/.X11-unix/X10
[20230627-14:31:52] [INFO ] Session started successfully for user mareklall on display 10
[20230627-14:31:52] [INFO ] Session in progress on display 10, waiting until the window manager (pid 2100) exits to end the session
[20230627-14:31:52] [INFO ] Starting the xrdp channel server for display 10
[20230627-14:31:52] [INFO ] Found X server running at /tmp/.X11-unix/X10
[20230627-14:31:52] [INFO ] Starting the default window manager on display 10: /etc/xrdp/startwm.sh
[20230627-14:32:17] [INFO ] Calling auth_stop_session and auth_end from pid 2099
[20230627-14:32:17] [INFO ] Terminating X server (pid 2101) on display 10
[20230627-14:32:17] [INFO ] Terminating the xrdp channel server (pid 2104) on display 10
[20230627-14:32:17] [INFO ] X server on display 10 (pid 2101) returned exit code 0 and signal number 0
[20230627-14:32:17] [INFO ] xrdp channel server for display 10 (pid 2104) exit code 0 and signal number 0
[20230627-14:32:17] [INFO ] cleanup_sockets:
[20230627-14:32:17] [INFO ] Process 2099 has exited
[20230627-14:32:17] [INFO ] ++ terminated session:  username mareklall, display :10.0, session_pid 2099, ip ::ffff:95.153.36.59:61913 - socket: 12
  1. cat /var/log/xrdp.log
[20230627-14:24:50] [INFO ] address [0.0.0.0] port [3389] mode 1
[20230627-14:24:50] [INFO ] listening to port 3389 on 0.0.0.0
[20230627-14:24:50] [INFO ] xrdp_listen_pp done
[20230627-14:24:52] [INFO ] starting xrdp with pid 17195
[20230627-14:24:52] [INFO ] address [0.0.0.0] port [3389] mode 1
[20230627-14:24:52] [INFO ] listening to port 3389 on 0.0.0.0
[20230627-14:24:52] [INFO ] xrdp_listen_pp done
[20230627-14:26:15] [INFO ] Received termination signal, stopping the server accept new connections thread
[20230627-14:26:47] [INFO ] address [0.0.0.0] port [3389] mode 1
[20230627-14:26:47] [INFO ] listening to port 3389 on 0.0.0.0
[20230627-14:26:47] [INFO ] xrdp_listen_pp done
[20230627-14:26:49] [INFO ] starting xrdp with pid 706
[20230627-14:26:49] [INFO ] address [0.0.0.0] port [3389] mode 1
[20230627-14:26:49] [INFO ] listening to port 3389 on 0.0.0.0
[20230627-14:26:49] [INFO ] xrdp_listen_pp done
[20230627-14:30:36] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:95.153.36.59 port 61913
[20230627-14:30:36] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20230627-14:30:36] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20230627-14:30:36] [INFO ] Security protocol: configured [SSL|RDP], requested [SSL|HYBRID|HYBRID_EX|RDP], selected [SSL]
[20230627-14:30:38] [INFO ] Connected client computer name: Marek-Mac-2022
[20230627-14:30:38] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc006 is unknown (ignored)
[20230627-14:30:38] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00a is unknown (ignored)
[20230627-14:30:38] [WARN ] Received [MS-RDPBCGR] TS_UD_HEADER type 0xc00c is unknown (ignored)
[20230627-14:30:38] [INFO ] xrdp_load_keyboard_layout: Keyboard information sent by the RDP client, keyboard_type:[0x04], keyboard_subtype:[0x00], keylayout:[0x00000425]
[20230627-14:30:38] [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options []
[20230627-14:30:38] [INFO ] TLS connection established from ::ffff:95.153.36.59 port 61913: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
[20230627-14:30:39] [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor
[20230627-14:30:39] [INFO ] xrdp_process_offscreen_bmpcache: support level 0 cache size 0 MB cache entries 0
[20230627-14:30:39] [INFO ] xrdp_caps_process_codecs: nscodec, codec id 1, properties len 3
[20230627-14:30:39] [WARN ] Cannot find keymap file /etc/xrdp/km-00000425.ini
[20230627-14:30:39] [WARN ] Cannot find keymap file /etc/xrdp/km-00000425.ini
[20230627-14:30:39] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20230627-14:30:39] [WARN ] local keymap file for 0x00000425 found and doesn't match built in keymap, using local keymap file
[20230627-14:31:24] [ERROR] xrdp_rdp_recv: xrdp_channel_process failed
[20230627-14:31:51] [INFO ] connecting to sesman on 127.0.0.1:3350
[20230627-14:31:52] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20230627-14:31:52] [INFO ] sesman connect ok
[20230627-14:31:52] [INFO ] sending login info to session manager. Please wait...
[20230627-14:31:52] [INFO ] xrdp_wm_log_msg: login successful for user mareklall on display 10
[20230627-14:31:52] [INFO ] login successful for user mareklall on display 10
[20230627-14:31:52] [INFO ] loaded module 'libxup.so' ok, interface size 10296, version 4
[20230627-14:31:52] [INFO ] started connecting
[20230627-14:31:52] [INFO ] lib_mod_connect: connecting via UNIX socket
[20230627-14:31:52] [INFO ] lib_mod_log_peer: xrdp_pid=2093 connected to X11rdp_pid=2101 X11rdp_uid=1001 X11rdp_gid=1002 client_ip=::ffff:95.153.36.59 client_port=61913
[20230627-14:31:52] [INFO ] connected ok
  1. cat /var/log/Xorg.0.log
[    31.469]
X.Org X Server 1.21.1.7
X Protocol Version 11, Revision 0
[    31.469] Current Operating System: Linux ask-ubuntu 6.2.0-1007-gcp #7-Ubuntu SMP Mon Jun 12 07:10:41 UTC 2023 x86_64
[    31.469] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.2.0-1007-gcp root=PARTUUID=48b49461-3f90-4f4b-8362-e8a2a5321da9 ro console=ttyS0 panic=-1
[    31.469] xorg-server 2:21.1.7-1ubuntu3 (For technical support please see http://www.ubuntu.com/support)
[    31.469] Current version of pixman: 0.42.2
[    31.469]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    31.469] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    31.469] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jun 27 14:26:59 2023
[    31.470] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    31.470] (==) No Layout section.  Using the first Screen section.
[    31.470] (==) No screen section available. Using defaults.
[    31.470] (**) |-->Screen "Default Screen Section" (0)
[    31.470] (**) |   |-->Monitor "<default monitor>"
[    31.470] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    31.470] (==) Automatically adding devices
[    31.470] (==) Automatically enabling devices
[    31.470] (==) Automatically adding GPU devices
[    31.471] (==) Automatically binding GPU devices
[    31.471] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    31.471] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    31.471]    Entry deleted from font path.
[    31.471] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    31.471]    Entry deleted from font path.
[    31.471] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    31.471]    Entry deleted from font path.
[    31.471] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[    31.471]    Entry deleted from font path.
[    31.471] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    31.471]    Entry deleted from font path.
[    31.471] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/Type1,
        built-ins
[    31.471] (==) ModulePath set to "/usr/lib/xorg/modules"
[    31.471] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    31.471] (II) Loader magic: 0x55e8cf872020
[    31.471] (II) Module ABI versions:
[    31.471]    X.Org ANSI C Emulation: 0.4
[    31.471]    X.Org Video Driver: 25.2
[    31.471]    X.Org XInput driver : 24.4
[    31.471]    X.Org Server Extension : 10.0
[    31.472] (++) using VT number 7

[    31.472] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    31.476] (--) PCI:*(0@0:5:0) 1ae0:a002:1ae0:0001 rev 1, Mem @ 0xc0000000/8388608, BIOS @ 0x????????/131072
[    31.476] (II) LoadModule: "glx"
[    31.476] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    31.478] (II) Module glx: vendor="X.Org Foundation"
[    31.478]    compiled for 1.21.1.7, module version = 1.0.0
[    31.478]    ABI class: X.Org Server Extension, version 10.0
[    31.478] (==) Matched modesetting as autoconfigured driver 0
[    31.478] (==) Matched fbdev as autoconfigured driver 1
[    31.478] (==) Matched vesa as autoconfigured driver 2
[    31.478] (==) Assigned the driver to the xf86ConfigLayout
[    31.478] (II) LoadModule: "modesetting"
[    31.478] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    31.478] (II) Module modesetting: vendor="X.Org Foundation"
[    31.478]    compiled for 1.21.1.7, module version = 1.0.0
[    31.478]    ABI class: X.Org Server Extension, version 10.0
[    31.478] (==) Matched modesetting as autoconfigured driver 0
[    31.478] (==) Matched fbdev as autoconfigured driver 1
[    31.478] (==) Matched vesa as autoconfigured driver 2
[    31.478] (==) Assigned the driver to the xf86ConfigLayout
[    31.478] (II) LoadModule: "modesetting"
[    31.478] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    31.478] (II) Module modesetting: vendor="X.Org Foundation"
[    31.478]    compiled for 1.21.1.7, module version = 1.21.1
[    31.478]    Module class: X.Org Video Driver
[    31.478]    ABI class: X.Org Video Driver, version 25.2
[    31.478] (II) LoadModule: "fbdev"
[    31.478] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    31.479] (II) Module fbdev: vendor="X.Org Foundation"
[    31.479]    compiled for 1.21.1.3, module version = 0.5.0
[    31.479]    Module class: X.Org Video Driver
[    31.479]    ABI class: X.Org Video Driver, version 25.2
[    31.479] (II) LoadModule: "vesa"
[    31.479] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[    31.479] (II) Module vesa: vendor="X.Org Foundation"
[    31.479]    compiled for 1.21.1.3, module version = 2.5.0
[    31.479]    Module class: X.Org Video Driver
[    31.479]    ABI class: X.Org Video Driver, version 25.2
[    31.479] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    31.479] (II) FBDEV: driver for framebuffer: fbdev
[    31.479] (II) VESA: driver for VESA chipsets: vesa
[    31.479] (EE) open /dev/dri/card0: No such file or directory
[    31.479] (WW) Falling back to old probe method for modesetting
[    31.479] (EE) open /dev/dri/card0: No such file or directory
[    31.479] (II) Loading sub module "fbdevhw"
[    31.479] (II) LoadModule: "fbdevhw"
[    31.479] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    31.479] (II) Module fbdevhw: vendor="X.Org Foundation"
[    31.479]    compiled for 1.21.1.7, module version = 0.0.2
[    31.479]    ABI class: X.Org Video Driver, version 25.2
[    31.479] (EE) Unable to find a valid framebuffer device
[    31.479] (WW) Falling back to old probe method for fbdev
[    31.479] (II) Loading sub module "fbdevhw"
[    31.479] (II) LoadModule: "fbdevhw"
[    31.480] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    31.480] (II) Module fbdevhw: vendor="X.Org Foundation"
[    31.480]    compiled for 1.21.1.7, module version = 0.0.2
[    31.480]    ABI class: X.Org Video Driver, version 25.2
[    31.480] (EE) open /dev/fb0: No such file or directory
[    31.480] (EE) Screen 0 deleted because of no matching config section.
[    31.480] (II) UnloadModule: "modesetting"
[    31.480] (EE) Screen 0 deleted because of no matching config section.
[    31.480] (II) UnloadModule: "fbdev"
[    31.480] (II) UnloadSubModule: "fbdevhw"
[    31.480] (II) Loading sub module "vbe"
[    31.480] (II) LoadModule: "vbe"
[    31.480] (II) Loading /usr/lib/xorg/modules/libint10.so
[    31.480] (II) Module int10: vendor="X.Org Foundation"
[    31.480]    compiled for 1.21.1.7, module version = 1.0.0
[    31.480]    ABI class: X.Org Video Driver, version 25.2
[    31.480] (II) Loading sub module "int10"
[    31.480] (II) LoadModule: "int10"
[    31.480] (II) Loading /usr/lib/xorg/modules/libint10.so
[    31.480] (II) Module int10: vendor="X.Org Foundation"
[    31.480]    compiled for 1.21.1.7, module version = 1.0.0
[    31.480]    ABI class: X.Org Video Driver, version 25.2
[    31.480] (II) VESA(0): initializing int10
[    31.481] (II) VESA(0): Bad V_BIOS checksum
[    31.481] (II) VESA(0): Primary V_BIOS segment is: 0xc000
[    31.483] f000:8bb0: 20 ILLEGAL EXTENDED X86 OPCODE!
[    31.483] (II) VESA(0): VESA BIOS not detected
[    31.484] (II) UnloadModule: "vesa"
[    31.484] (II) UnloadSubModule: "int10"
[    31.484] (II) Unloading int10
[    31.484] (II) UnloadSubModule: "int10"
[    31.484] (II) Unloading int10
[    31.484] (EE) Screen(s) found, but none have a usable configuration.
[    31.484] (EE)
Fatal server error:
[    31.484] (EE) no screens found(EE)
[    31.484] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[    31.484] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    31.484] (EE)
[    31.484] (EE) Server terminated with error (1). Closing log file.
Avamander avatar
mr flag
Try adding `/usr/bin/startxfce4`to `~/.xsession`.
MarekLall avatar
by flag
> adding /usr/bin/startxfce4to ~/.xsession It helps! Thank you! Why should I add it manually? Or have I missed any configuration tools than I should run?
MarekLall avatar
by flag
"sudo update-alternatives --config x-session-manager" did the work I expected. Then there is no need to create file "~/.xsession" manually! Thank you
Avamander avatar
mr flag
please mark the answer as accepted as well, if it worked for you.
Score:1
mr flag

The default x-session-manager is often set to Gnome. As you've tested, you can override it with ~/.xsession, but there are better approaches.

In theory the correct way to set a new x-session-manager would be done using sudo update-alternatives --config x-session-manager and that should allow you to pick XFCE's startxfce4 - thus avoiding the error Gnome is displaying.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.