"No X11 desktop environments installed" error on RHEL 10, AlmaLinux 10, and Rocky 10

Starting with version 10, Red Hat Enterprise Linux and RHEL-based distributions no longer include a traditional X server. Consequently, the /usr/share/xsessions/ files required by ThinLinc are not available through the standard package repositories. This will lead to the error “No X11 desktop environments installed” being shown during session startup (on older ThinLinc versions, the error “No executable profiles could be found” is instead shown).

To work around this issue, you must manually create the entries under /usr/share/xsessions. Simply install the desktop environment in question and add the corresponding /usr/share/xsessions/ file, and you will be good to go.

As of writing, GNOME is the only desktop environment that is available under RHEL10 that works with ThinLinc’s X server. Going forward, the availability is likely to improve as more and more desktop environments are added to EPEL.

GNOME and GNOME Classic

/usr/share/xsessions/gnome.desktop:

[Desktop Entry]
Name=GNOME
Comment=This session logs you into GNOME
Exec=/usr/bin/gnome-session
TryExec=/usr/bin/gnome-session
Type=Application
DesktopNames=GNOME
X-GDM-SessionRegisters=true
X-GDM-CanRunHeadless=true

/usr/share/xsessions/gnome-classic.desktop:

[Desktop Entry]
Name=GNOME Classic
Comment=This session logs you into GNOME Classic
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME-Classic;GNOME;
X-GDM-SessionRegisters=true
X-GDM-CanRunHeadless=true
6 Likes

Thanks for the workaround!

What are the plans to (and I know this is probably a lot more work implementing than I can imagine) support Wayland natively in Thinlinc?

Thanks for all the work you guys have done so far on the product, you’re making my admin work a lot easier because of it :wink:

Hi @Thulium-Drake,

Wayland is quite fundamentally different to X11, so you’re right, it’s no small task. We are actively working on it though. It’s likely we will post updates here on the community forum, so stay tuned. Otherwise, the relevant entry in our Bugzilla is 4748.

Thanks for the feedback!

3 Likes

I have a CachyOS (Arch based) installation that is using the Cosmic DE which is using Wayland. I have installed XWayland but I was still getting told that there is no X11 environment which led me to this post. I am wondering is you have any guidance for getting ThinLinc server configured for this Cosmic Wayland environment.

The command I ran to install XWayland
sudo pacman -S xorg-xwayland

and I created the /usr/share/xsessions/ directory and then created a file named cosmic.desktopwith the content shown below

[Desktop Entry]
Name=COSMIC
Comment=This session logs you into Cosmic
Exec=/usr/bin/cosmic-session
TryExec=/usr/bin/cosmic-session
Type=Application
DesktopNames=COSMIC
X-GDM-SessionRegisters=true
X-GDM-CanRunHeadless=true

This made it possible to connect to the the CachyOS / Cosmic system but the desktop is not resizing like it normally does. See screenshot.

Is it possible to fix this? If so, how do I do that?

Thanks!

UPDATE: While I did get ThinLinc to kind of work as far as getting logged in there were a couple of gotcha’s that make it a no go unless there are fixes.

  • After getting logged I was mostly unable to type in the remote system
  • After rebooting I was unable to login to the Cosmic desktop on the laptop itself. The login process would accept my password and then flip quickly to an error screen and then put me back at a logon prompt.Yeah for auto snapper btrfs snapshsots which made it possible for me to quickly revert to a previous working state

Hopefully there are ways to fix these issues.

Thanks!

Hi @AnalogKid,

I’m somewhat surprised you managed to get COSMIC running at all, since from what I can tell it is Wayland-only. You would need to install an X11-based desktop environment in order for it to work with ThinLinc.

It depends a little bit on your distribution, as to which DEs still have X11 support. But two DEs which are popular for use with ThinLinc are XFCE and MATE. It may be worth giving these a go.

for Manjaro & KDE Plasma users on Wayland, I’ve solved this by adding this package:

sudo pacman -S plasma-x11-session

1 Like

Hey,

Just built a clean RHEL10 server with GNOME and added xorg-x11-server-Xwayland and
xorg-x11-xauth.x86_64 and latest ThinLinc 4.20.xxx

Created /usr/share/xsessions as mentioned in the original post, restrted vsmagent and vsmserver but still get “no agent server available”

Contents of /var/opt/thinlinc/sessions/mburrows/last/xinit.log

tl-xinit: timeout while waiting for xauth command
/opt/thinlinc/libexec/xauth: unable to open tmp file “/var/opt/thinlinc/sessions/mburrows/10/Xauthority-n”
/opt/thinlinc/libexec/xauth: unable to write authority file /var/opt/thinlinc/sessions/mburrows/10/Xauthority-n

As a normal user - mburrows - I can created files and dirs in that session directory

Any clues why this isn’t working?

Thanks

--Maurice–

1 Like

That is unfortunately likely a bug in RHEL that has yet to be resolved. We have a note about it, and a workaround in our platform-specific notes:

ThinLinc 4.21.0 will also have a workaround, so you could try the beta.

I would also recommend opening a support issue with Red Hat about this, as a more proper fix for this needs to be implemented in their packages.

I also get this issue on RHEL 10 even with selinux is disabled.

#getenforce
Disabled

Thanks .. I changed selinux to permissive with the same result. I will try 4.21.0.

Same issue with 4.21.0, even with selinux in permissive mode. Also built a RHEL 9.8 server with xorg packages, selinux in permissive and same issue. Tried with both 4.20.x and 4.21.0.

Client debug log says this;

2026-08-05T17:56:06: ssh[E]: THINLINC-LOGIN: HELLO 4.21.0
2026-08-05T17:56:06: ssh[E]: THINLINC-LOGIN: CONNECTED MASTER
2026-08-05T17:56:06: GetHWAddress: Skipping interface without MAC: lo
2026-08-05T17:56:06: GetHWAddress: Skipping interface without MAC: tun0
2026-08-05T17:56:06: My hardware address is 5262533F2F43
2026-08-05T17:56:06: Calling XML-RPC method ‘get_capabilities’
2026-08-05T17:56:06: Response: 0: Success
2026-08-05T17:56:06: Calling XML-RPC method ‘get_user_sessions’
2026-08-05T17:56:06: Response: 0: Success
2026-08-05T17:56:06: Calling XML-RPC method ‘new_session’
2026-08-05T17:56:21: Response: 4: No agent server was available

System journal shows this;

xauth[4833]: /opt/thinlinc/libexec/xauth: file /var/opt/thinlinc/sessions/mburrows/10/Xauthority does not exist
tl-xinit: timeout while waiting for xauth command
pam_unix(thinlinc:session): session closed for user mburrows

xauth[4463]: /opt/thinlinc/libexec/xauth: unable to open tmp file “/var/opt/thinlinc/sessions/mburrows/10/Xauthority-n”
xauth[4463]: /opt/thinlinc/libexec/xauth: unable to write authority file /var/opt/thinlinc/sessions/mburrows/10/Xauthority-n

I can manually create Xauthority with no permission errors but the other messages persist.

Any other suggestions?