Hello World,
Since Ubuntu 18.04 LTS release, a lot of work has been put in our famous xrdp installation scripts. These scripts can help and ease the installation of xRDP package software and also perform post configuration actions that improve the general user experience compared to the out of the box installation. The xrdp installation script has a long history and we were already providing such script when Ubuntu 16.xx was released as well. Actually, the work around XRDP software begun even before Ubuntu 16.xx but we never published the initial script that we were using internally to test and deploy XRDP software. Since Ubuntu 10.xx, we were writing and working with xRDP software and we have seen a lot of progress and improvements.
As Ubuntu 20.04 would become the next LTS (Long Term Service) release, we wanted to improve a step further our xrdp installation scripts… Let’s see what we could do in order to improve thi…!
Overview
Scripts Release Cycle
Ubuntu 20.04 would be the next Long Term service (LTS) release of the operating system meaning that a 5 year support will be provided on it. Ubuntu 19.04 and 19.10 (to be released in October 2019) are interim released with limited support (9 months). The installation scripts we are releasing will follow the releasing cycle of Ubuntu operating system. This means that we will put more efforts in the LTS releases than the interim releases.
This also means that when a interim release is not supported anymore by Canonical, the scripts will be updated and will remove installation capabilities for the non-supported Ubuntu interim releases. In fact, this is already in place. Older version of the script will be made available on this location in case a user needs to perform the XRDP installation on an unsupported system. Do not expect support or updates on the scripts on unsupported version of Ubuntu
Standard vs Custom Installation script
If you are a regular reader of this blog, you probably know that we are offering two different xrdp installation scripts
- Standard installation script (means using packages from Ubuntu repositories)
- Custom installation script (meaning compiling from sources)
Initially, we were maintaining only one script type – the custom installation script. The reason behind the custom installation script was that Ubuntu 16.xx was using an obsolete xrdp package (version 0.6) which was not providing much requested features (like Unity Desktop, Clipboard or Drive redirection…) . To overcome this limitation, we had to compile from xrdp sources packages in order to install a most up to date package version of xRDP which would provide better user experience (for more info about Script type and Build Number – check this post)
Ubuntu 18.04 is currently using a much more recent version of the xRDP package (i.e. version 0.9.x) which provides a bunch of improvements such as clipboard support, drive redirection and better usability. Because of the availability of this new xrdp package, we started writing the Std-Install-Xrdp-xx.sh script. Ubuntu 18.04, being a LTS release, does not update the xRDP package and newer versions were made available. So, in order to test and install the latest version of xRDP software version, we have released again the custom installation script. This means that today we have to maintain 3 different versions of the script, which as you can image, can be time consuming and not always easy to maintain….
Nowadays, we have to maintain the following version of the scripts
- Version 1.9.2 to provide support to Ubuntu 16.04 (which is a LTS version and which is still supported till 2021 !! – long time that has not been updated….)
- Version 0.6 which is the latest version of the standard installation script which provide support for Ubuntu 18.04 and later
- Version 3.0 which the latest version of the custom installation script which provide support for Ubuntu 18.04 and later
Scripts Standardization
Ubuntu 18.04 release has provided us the opportunity to detect and fix a lot of annoyances and integrate them in the recent script release. You might have noted that since version 0.5 of the standard script, the script has matured a lot and even provided some additional parameters. Before this version, the script (and the coding approach) was really simple. The script was simply executing in a sequential order the commands a user would execute manually to perform the xRDP installation script.
When version 0.5 has been released, the coding approach has been changed and we have started using some functions in the script. This provided the possibility to offer some additional parameters to help configure in an easy way the xRDP package. When version 2.1 of the custom installation script was released, the coding approach was updated as well and again the custom installation script was taking advantage of functions within the script.
The idea behind this simple change was that at a certain point in time it would be possible and easier to merge the scripts and release a single install script that could be used to perform either a standard installation or a custom installation… Ubuntu 20.04 being the next LTS, we think it’s time to work on this and try to provide a single installation script…. By merging these scripts, we hope to ease the maintenance and reduce time needed to update each time these different scripts….
Supported Ubuntu Flavors
Time to time, people are asking if the script can be run against any Ubuntu flavors and if this would take care of all the post-configuration actions. The script has been specifically designed for the standard Ubuntu Flavor (the one with the Gnome desktop). The script has not been tested and validated for any other Ubuntu Flavors. The script contains code that target specifically the Ubuntu and the Gnome desktop which means that any other Ubuntu flavors would not be configured correctly after running the script.
In the past, we were providing some support on different Ubuntu Flavors and step by step guides. The problem here is that we have limited time to blog and work on these scripts. If we need to support other Ubuntu flavors, imagine the amount of time we might need to install and test the script on each version of Ubuntu. As the script is provided for free, you can imagine that the focus is on projects that pays the bills….
However, if we succeed in creating this consolidated script, we might look in supporting some other Ubuntu flavors. No guarantee at all ! If we go into that direction, we might need some help in order to keep up with the cycle release…. If you want to sponsor us and help us in covering other Ubuntu flavors, let’s us know…
Final Notes
Based on the picture above, you can assume that indeed Ubuntu 16.xx would be integrated in the new script (at least we will try!!). The reason behind this is because Ubuntu 16.04 is an LTS release and still supported. However, we do not recommend to use or install Ubuntu 16.xx anymore. Ubuntu 18.04 has made the transition quite easy and this release is really workable. The Ubuntu 19.04 has introduced dramatic performance improvements in the desktop interface and we are expecting that coming releases (i.e Ubuntu 19.10 and Ubuntu 20.04) will build on the same principle.
The new script will be providing some switches that can be used to enable/install an xRDP feature that a user might want to implement. We are expecting to release a preview version with the release of Ubuntu 19.10. (or may be a little bit before). Releasing the new script with Ubuntu 19.10 will offer us the opportunity to test and validate it and possibly fix it to make it ready for the Ubuntu 20.04 release.
Hope you will enjoy the new script
Till next time
See ya