Hello World ,
So, as you probably know Ubuntu 25.10 has been released. This new release has introduced a serious number of changes and technology that will be used in the next LTS releases. Ubuntu 25.10 is a short term release (STR) and provides a peak preview on the future evolution of Ubuntu OS Product. If you are using Ubuntu Distro with the Gnome Desktop interface as the preferred one, you have probably heard that X11 support is gone from Gnome Desktop 49. Starting from Gnome 49 and next iteration, only Wayland Display Server shall be used and any dependencies for X11 will be removed.
xRDP software is relying heavily on the x11 software packages and they have not anticipated the move to Wayland only Desktop interfaces. This means that any distro running Wayland only Desktop interface such as Gnome 49 will not be able to take advantage of the XRDP Software package. As long as the xrdp package is not updated to support Wayland layer, xRDP software solution can be only used with distributions supporting Desktop interfaces allowing X11 Display Server components.s
So, today, we are releasing the xrdp-installer script version 1.5.5. The script introduces minor changes and should be seen as a fast publish release of the script. We have not tested all possible combinations. The limitation introduced by Wayland support only is not coming from the script itself. Limitation comes from the fact that the xRDP software solution does not support (yet ?) Wayland.
So, let’s see what’s new in this release…and which are the limitations
Overview
By now, you should know that the xrdp-installer script aim to ease installation and post-configuration actions of xRDP on top of Ubuntu Operating system. xRDP is a piece of software that enable remote desktop services on Linux. This means that windows users can use their Remote desktop client (mstsc) and perform a remote connection to Ubuntu Computer.
What’s new in this release (Version 1.5.5) ?
End of Support for Ubuntu 24.10
Ubuntu 24.10 reached End of Support in July 2025. Since this STR release is not supported anymore, we have removed support for this specific release in this version of the script. The script tries to follow the standard support release cycle from Canonical. If you really need to use Ubuntu 24.10, you can always try to use the previous version of the script (1.5.4) or use the unsupported switch option
Adding Support for Ubuntu 25.10
Since Ubuntu 25.10 has been just released, it makes sense for us to support this new operating system even if it is a Short Term release. This allow us to test and keep up to date the xrdp-installer script and foresee if any changes would be needed for future releases…
Important Note :
We have added support for Ubuntu 25.10 because not all the Ubuntu Distro are using Gnome 49 as default Desktop Interface. The script will be able to run against any Ubuntu releases that do not use Gnome 49.
Blocking installation for Ubuntu 25.10 + Gnome 49
The script will try to detect the Operating System and the Desktop environment in use. If the script detect that you are using Ubuntu 25.10 and Gnome Desktop, the script will exit and inform you that xRDP package does not support full Wayland layer.
Adding Support for Elementary OS (Best Effort)
Based on some users feedback who have tested the script against Elementary OS, we have decided to include this OS as supported by the xrdp-installer script. We have not made extensive testing but it seems to work as expected.
Adding Support for H264 & X264 encoding/decoding protocol
Internal Changes
We have added some additional basic error handling code in order to catch any possible issue when installing or downloading xrdp and xorgxrdp packages. We have also performed a little bit a code cleanup
Running xrdp daemon to run as non-root account
How to Use the Script
The xrdp-installer-1.5.5 script will work in a similar way as the previous versions. The following section will explain how to download, extract, set executable mode and perform the installation using the script. The script provides some switches that can be used to customize the installation process.
So, let’s see how this would be working….
Disclaimer
Prerequisites and assumptions
The following conditions should be met in order to have the best results while using the script
- We assume that your machine is connected to internet while performing the installation. This is needed as additional packages and software needs to be downloaded and installed on your Ubuntu machine
Script version & Supported Ubuntu Version
The xrdp-installer-1.5.5.sh script will support the following Ubuntu operating system version assuming that Gnome Desktop is the default Desktop interface (and that gnome version is lower than 49).
- Ubuntu 22.04.x
- Ubuntu 24.04.x
- Debian 11 (only if you select custom mode installation !!!)
- Debian 12 and later
- Zorin OS
Reminder :
Ubuntu 25.10 with Gnome Desktop 49 is not supported because xRDP software lack Wayland support at this stage. However, it is possible to install Ubuntu 25.10 Default distro (i.e. with Gnome Desktop) and install an alternate Desktop interface to be used with xRDP. If you go that way, you will need to run the xrdp-installer script within the alternate desktop you are using in order to populate correctly the configuration files for XRDP….
The xrdp-installer-1.5.5.sh script can be run against the following Ubuntu flavors but we cannot guarantee that everything will work as expected (best effort).
- Kubuntu (22.04 and later)
- Ubuntu Budgie (22.04 and later)
- Ubuntu Mate (22.04 and later)
- Xubuntu (22.04 and later)
- Lubuntu (22.04 and later)
- Linux Mint (Experimental at this stage)
- LMDE (Experimental at this stage)
- Pop!_OS 22.04
- Elementary OS
Note : If you are running any of these distributions and you want to help us improving the support on those, please download and test the script. Do no hesitate to share your findings so we can try to incorporate them in the next release
Step 1 – Download the script
To download the script, you have multiple options. You can from a Terminal issue the following command
wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.5.5.zip
You can also simply use your browser and click on the link to download the script :
Step 2 – unzip the file
After downloading the zip package containing the file, you will need to unzip it first. To unzip the package, you can use the Terminal console and issue the following command
unzip xrdp-installer-1.5.5.zip
You can also use the GUI and the Nautilus file manager to select the downloaded package, right-click on it and select the option Extract Here
Step 2 – Set Execute Right on the script
Download the xrdp-installer-1.5.5.sh script to your system, extract content and mark it as executable . To do this, perform the following action in a terminal console
chmod +x ~/Downloads/xrdp-installer-1.5.5.sh
Note : Adjust the path where the xrdp-Installer-1.5.5.sh script to reflect your environment
Step 2 – Run as normal user
The script needs to be run as a normal user. The script will start running and will prompt you for password when sudo actions are initiated. If you run the script as root or using sudo command, the Download folder does not exist for the root user and the script fails to run as expected. To overcome this situation, the script also check which user is executing the script. If the script is run under sudo or root accounts, a warning message will be displayed and the script will not execute
Step 3 – Switches and parameters
The xrdp-installer-1.5.5.sh script can be executed as is (with no parameters or switches). This will perform a standard (and basic) installation of xRDP. No sound or custom xrdp login script will be made available. However, remote desktop, drive redirection and clipboard redirection would be available with this installation mode.
The xrdp-installer-1.5.5.sh script accept also some additional parameters that will help customize the xrdp installation and enable additional features. The script provides the following parameters
--help or -h => will display a basic help menu --sound or -s => will enable sound redirection --loginscreen or -l => will customize the xRDP login screen --remove or -r => will remove the xrdp package --custom or -c => will perform a custom installation (i.e. compiled from sources) --dev or -d => will perform a custom installation using dev branch (unstable version) --unsupported or -u => will bypass the Check os and will run against unsupported os (use it at your own risk!!) --perm or -p => fix permissions on xrdp files (uncommon situation) --encoding or -e => to add H.264 & x264 protocol based on the openH264 package
Step 4 – Perform xRDP installation using the script
The following sections will provide some examples and scenario on how you can use the script…..
Standard Installation – No Parameter
As mentioned above, you can decide to use the default xrdp package available in the Ubuntu repository and perform a basic installation which will provide you remote desktop capability and will also customize the remote sesssion. The script will ensure that the same look n’ feel will be maintained when the user logs on locally or remotely.
To perform a standard installation, you execute the script with no parameters. Open a Terminal console, browse to the location where the script has been downloaded and issue the following command
./xrdp-installer-1.5.5.sh
When the xrdp installation package will start, you be requested to enter your password. Provide the password and proceed with the installation. Wait for completion of the script. The machine will not reboot automatically when done so you can review the actions performed by the script….
Standard Installation with Parameters
The script can be used to perform a standard installation and still passes some parameters to get the most of the xRDP packages and their features. For all the Ubuntu versions, we could use the following combination of parameters
./xrdp-installer-1.5.5.sh -s (this would enable the sound redirection) ./xrdp-installer-1.5.5.sh -l (this would customize the xrdp login screen -see here)
Obviously, you can combine the switches (any order) to have more features enabled
./xrdp-installer-1.5.5.sh -s -l (this would enable the sound redirection and customize the xrdp login screen)
Important Notes
The script can be run multiple times on the same machine. If you have run initially the script with no parameters but you decide afterward to enable additional features, the script can be re-executed and the additional features will be enabled.
Custom Installation – Default Installation
Custom installation script is really flexible. Custom installation means that the script will compile the xrdp package from the source binaries. The custom installation script always uses the latest xrdp package version available
To perform a custom installation, you will need at minimum to pass one parameter. The following command line shows you how to perform a custom installation
./xrdp-installer-1.5.5.sh -c (this would perform a custom installation but will not enabled adv features like sound redirection or custom login screen)
Custom Installation – Additional Options
If a user wants to enable additional features, you will pass some additional parameters as shown in the following examples
./xrdp-installer-1.5.5.sh -c -s (this would perform a custom install and enable sound redirection) ./xrdp-installer-1.5.5.sh -c -l (this would perform a custom install and customize xrdp login screen) ./xrdp-installer-1.5.5.sh -c -l -s (this would perform a custom install, enable sound and customize login screen) ./xrdp-installer-1.5.5.sh -c -d (this would perform a custom install, using unstable/dev version of xrdp packages -xrdp 0.10.80) ./xrdp-installer-1.5.5.sh -c -l -s -e (this would perform a custom install, enable sound and customize login screen, add h264 support)
Important Notes
The script can be run multiple times on the same machine. If you have run initially the script with no parameters but you decide afterward to enable additional features, the script can be re-executed and the additional features will be enabled.
Remove Installation option
This version of the script also ship with the option to remove xRDP package. The removal option should be only used if you have uses this version of this script to perform the installation. To remove the xrdp package, you would simply execute the following command
./xrdp-installer-1.5.5.sh -r (to remove the xrdp packages)
Step 5 – Test your configuration
After the script has run and after the reboot/shutdown and start process, it’s time to test and see if you can indeed perform a smooth remote connection to your Ubuntu machine. Start your favorite rdp client and simply enter your credentials and start testing your installation. If everything is ok, you will see a similar Desktop interface where Gnome Desktop is used and the Dock is visible.
Limitations
Switch between standard and Custom install
This version of the script can be run multiple times on the same machine. However, because of this new behavior, you cannot perform a standard installation and then decide to perform the custom installation. Once you have selected your installation mode, you will have to stick to it. This is kind of checked by the script.
So, if you have performed a standard installation but afterwards you might want to use the custom installation option, the script will ignore the request. If you want to move from standard install mode to custom mode (or vice versa), the correct process is
- remove xrdp (using the xrdp-installer-1.5.5.sh -r option)
- Reboot
- perform a new installation using your selected installation mode (standard or custom install mode)
- Reboot
Known issues, Fixed Issues and limitations, New Behavior
Known Issues
Black Screen or disconnected immediately after connecting
As mentioned and explained multiple times, this situation will happen (or can happen) when the same user account is used concurrently locally and remotely. In other words, the problem is related to the fact that the same user account is already logged in locally and a remote connection is attempted at the same time. With xRDP software solution, a specific user account can be logged on either locally or remotely but not both….
Ubuntu 24.04 seems to have introduced a small change when such situation would happen. If the user is remotely logged on via xRDP software and if the same user tries to login locally, he will be presented with the following popup (see screenshot)
Click on Picture for better Resolution
The only problem is that if you click Force Stop button, it seems not to work. The remote session is not killed. We have not tried this on older Ubuntu releases but I think this is because of the gnome-remote-login addition in Gnome 46.
If a user is logged on locally and if the same user tries to perform a remote connection to the machine, the user will get informed about an existing session already running as shown in the screenshot below
Click on Picture for better Resolution
Again, here there is no way to stop the existing session. You will need to logout locally from the session or you will need to find other ways (such as ssh or another user account) that can be used to disconnect the existing session.
Final Notes
This is it for this post !
The script version has not been tested extensively but it should work in most cases. The script should be seen as a interim release version. We might release a new version in the coming weeks since xrdp project is evolving fast and we want to add some new features or improved functionalities…We hope that Wayland support will be provided soon
Please if you have time or want to help us in creating the best xRDP installer script, download the script, test it and provide constructive feedback. If you find a bug or an issue with the script, let us know as well so we can try to fix it.
Till next time
See ya
Seems Debian 13 is officially not supported?
@Lonesome Walker,
Thank you for visiting our blog and providing feedback… Debian 13 is supported and the script should work fine.. in the supported OS, we have put Debian 12 or later….
Hope this answer your question
Till next time
See ya
It is not working in Debian 13 for me, but works in Linux Mint DE7 which is based on Debian 13. I am using Xfce. Do I need to use a different Desktop environment?
Actually it DOES work in Debian 13 with Xfce. My mistake. I had to add the PulseAudio plugin to the top bar. For some reason it does not show automatically like in Debian 12. I verified it works in Debian 13 with Xfce and Cinnamon. Thanks for the awesome script!
Hello,
Could you make it work with Ubuntu 26.04 LTS?
I upgraded my already working one from Ubuntu 24.04 LTS and afterwards it broke.
best regards
@GVL,
Thank you for visiting our blog and providing feedback. At this stage, we cannot “fix it” since the problem is with xrdp package which does not support wayland display server. As a workaround, you can use the builtin gnome remote desktop solution (you can have a look at this post https://c-nergy.be/blog/?p=19594) and see if this good enough for you as a workaround…
Till next time
See ya
Really approach the work you do, has saved me a bunch of time. Been testing this on UB 24.04 and UB22.04 on AMD64 and ARM64 platforms. Here are some notes on issues I’ve have found. First the GIT check in -d and -c option appears to currently use versions of XRDP and XORGXRDP that are not compatible. I am seeing v0.10.0-ard-macos for XRDP being used with v0.10.4 of XORGXRDP. These two versions do not work together. I changed the git checkout process you implemented to make sure I am using the latest and they match.
It appears to me there is an error in the script around line 490. The sudo apt-get -y systemd-dev should be sudo apt-get -y install systemd-dev. On some distributions I am finding systemd-dev does not exist – nVidia Jetson AGX Orin.
Some other issues I have found. The -r command does not fully work. It does not remove the /etc/xrdp folder. The next time I run the script checkinstall ends up removing the entire root filesystem. Presently I remove the /etc/xrdp folder after I run the -r option.
In the pulse audio section I changed the approach on loading in the source repos. I found the approach in the script now does not work on architectures not amd64.
Changed:
sudo apt-get install libconfig-dev -y
sudo apt-get install git libpulse-dev autoconf m4 intltool build-essential dpkg-dev libtool libsndfile-dev libcap-dev libjson-c-dev -y
sudo apt build-dep pulseaudio -y
to this:
sudo apt-get install libconfig-dev -y
sudo apt-get install git libpulse-dev autoconf m4 intltool build-essential dpkg-dev libtool libsndfile-dev libcap-dev libjson-c-dev -y
sudo add-apt-repository -y -s universe
sudo add-apt-repository -y -s multiverse
sudo add-apt-repository -y -s restricted
sudo apt update
sudo apt build-dep pulseaudio -y
On other thing I noticed is having commented out some permission changing steps.
Changed:
#To grant read-only access to xrdp user
#setfacl -m u:xrdp:r /etc/xrdp/cert.pem
#setfacl -m u:xrdp:r /etc/xrdp/key.pem
To this:
sudo setfacl -m u:xrdp:r /etc/xrdp/cert.pem
sudo setfacl -m u:xrdp:r /etc/xrdp/key.pem
Thanks for all the work you put into this.
Thanks for the script – I always use this to install xrdp on my servers.
I’ve found a typo in this version at line 490, which caused an issue for me the most recent time I used this.
#to fix the issue with the service unit file for xrdp and xrdp-sesman, install this package
sudo apt-get -y systemd-dev
It should be
sudo apt-get install -y systemd-dev
Thank you for your feedback.
I have already disabled Wayland in Ubuntu 26.04 in the file /etc/gdm3/custom.conf.
XRDP behaves in such a way that when you log in, a black background and the mouse appear, but then it immediately kicks you out.
It can’t have anything to do with Wayland, because that is disabled and the display works without Wayland. The alternative solution/workaround is not good, because you first have to log in to Gnome for it to work. But I want that on a server.
@GVL,
Thank you for your feedback and your comments. To answer your questions,
please note that GNOME 49 has completely dropped support for X11 and is now Wayland-only (see https://www.phoronix.com/news/GNOME-Mutter-Drops-X11). so, changing the value in the /etc/gdm3/custom.conf will not really help in your case
Gnome Remote Desktop (not sharing desktop) is the alternative to xrdp. You DO NOT need to be logged on the Ubuntu machine before using it. So, if no one is logged on and you have configured Gnome Remote desktop (in Remote mode and not sharing mode), you will be able to remote desktop to it and you will have access to the Wayland Gnome login interface. Please review the post we published some time ago (see https://c-nergy.be/blog/?p=19594). The information should still be valid for Ubuntu 26.04.
Hope this help
Till next time
See ya
@peedub,
Thank you for the comments and the feedback.. indeed, typo we are fixing it and we will modify the scrip accordingly…. good catch 🙂
Till next time
See ya
@JKH,
Thank you very much for the detailed information provided here. We will check your findings…we will take them one by one and update the script as required. Well spotted indeed some error/typos in the script. This will be fixed really shortly and the corrected script will be available for download. Nice to see that xrdp software interest is there and hopefully they will issue an update providing wayland support
Thank you again
Till next time
See ya
sudo apt install plasma-session-x11 xrdp xorgxrdp
Something went wrong with my previous message. I found the script not working in the KUbuntu 25.10. I used the above script which works better.
Hello Griffon! o)
Of course there is interest in xrdp! o) It is the only reason I am using the Linux Desktop! o) I tried many different “remote desktop” solutions, but using RDP is just the most sensible these days (I think), because it has all the features you expect from a remote desktop solution. People still recommend VNC, Moonglight/Sunshine or that Spice thing or things like RustDesk.
These solutions are “fine”, but none of them ticks all the boxes when it comes to clipboard sharing, compression, audio support, file sharing, new session, keep session, copy & paste directly “into” the RDP window etc.. As a Windows user you are kind of spoiled, you can’t live with less then RDP.. o)
As mentioned, if xrdp would not exist, I probably would have stopped tinkering with Linux. I somehow managed to compile the pulse audio modules for myself and with that achievement, Linux found a place next to all the other machines I connect to over “mstsc.exe”. With audio support, I was even able to test more of the multi media related software, even some games, very nice! o)
Installing this software (and getting all the features enabled!) is still quite hard though. I tried your script back then to enable compression, it failed for me if I remember correctly, but I will try again when moving on to Debian 13. Now that I wrote all this text, I remember some of my issue(s) with xrdp and I like to leave a litte request.. o)
Feature Request:
I don’t really know where to put this request, so maybe you can make something out of it? o))
If I connect over xrdp to my Debian machine, I cannot make use of pkexec to run GUI applications in “sudo” mode. I have to tinker with DISPLAY and XAUTHORITY variables to be able to run “Thunar” e.g. (the XFCE file manager) as root. It took me a loooong time to figure this out, there also might be missing polkit permissions and rules in that other place.. man, what was it again.. sorry, I can’t remember o(. It is unclear to me to this day, how this needs to be set up and configured correctly , so that no “special” handling of pkexec / sudo or other related tools are necessary to be able to elevate a GUI program when using the xrdp connection.
The missing / not available DISPLAY env variable issue when trying “root” is probably similar to what I discovered about the XAUTHORIY variable. There was no “export.. ” statement of that variable in my XFCE xrdp session init script, which would prevent me from connecting to the XFCE desktop, found this problem as well by try and error.
You have a much better understanding of how all these components work together on Linux, maybe you can keep these issue(s) in your head somewhere, for the next time you enhance the script? o)
Thank you for your efforts! o)
Much appreciated! Take care! o)
on Debian KDE 13.3, xrdp version installed is 0.9.27 which caused subsequently installation to fail due to minimum required version of 0.10.2.
Just to add, with just -s works fine, the issue with xrdp version occurs only with -c -s.
@snowy,
Thank you for visiting our blog and providing feedback… xrdp has just released a new version of their software for the branch 0.9.27… we will need to double-check that the script is downloading indeed the latest version
Thank for letting us know
Till next time
See ya
Thank you for visiting our blog and providing feedback… xrdp has just released a new version of their software for the branch 0.9.27… we will need to double-check that the script is downloading indeed the latest version
Thank for letting us know
Till next time
See ya
@Andrii,
Thank you for your feedback and sharing your findings… So, normally, indeed the script tries to install the plasma-session-x11 for the xrdp to work as expected. In our initial tests, the script was working fine with the way we were adding support for the plasma x11 session. We will double check the script and update it if needed using your findings.
Thank you for letting us know
Till next time
See ya
@tbone;
Thank you for visiting our blog and sharing your expectations. So; we have to look for this one because it seems to me that this issue was solved… I have tested this with xrdp and Ubuntu 25.10 and Gnome Desktop, and the pkexec within the xrdp session worked fine… we will need to install additional desktop interface and test this… We are quite busy with an heavy project…might take a little bit of time before we can have a look at this
Thank you for sharing your findings and challenges
Till next time