XRDP – How to install it on Ubuntu 17.10 (Beta 2)

Hello world, 

Ubuntu 17.10 is about to be released and it will bring a bunch of new features and new technologies that we will need to master quite quickly.  Ubuntu 17.10 will ship by default with Wayland Display server which introduces an interesting question about xRDP compatibility.  Can xRDP still be used in Ubuntu 17.10 or do we need to find other options to perform remote sessions to Ubuntu systems.  Apparently, Wayland does not really support remote sessions solutions out of the box.  Nowadays, remote administration of system is critical and so widely used that there is a need to have a solution to be implemented within Wayland protocol or there must be a way to fallback to X11 session type.  

In this post, we will try to see what steps are needed to have xrdp installed on Ubuntu 17.10 systems and see if this is still a viable solution… 

Let’s go ! 

xRDP installation on Ubuntu Gnome 17.04

Assumptions

For this post, we have make some assumptions.

  • The Ubuntu  17.10 Beta 2 will be used
  • No alternative Desktop will be used. Gnome desktop will be the default desktop accessible via the xrdp session
  • We are using the standard xrdp package available within the Ubuntu repository for Ubuntu 17.10
  • Ubuntu machine has been installed as virtual machine using Virtualbox software 
  • Default session used is Wayland (it’s supported in Virtualbox)

The following screenshot shows the current version of Ubuntu we are using and shows that we are indeed running a Wayland session…

U1710beta2_xrdp4

Click on picture for better resolution

As you can see, the Ubuntu 17.10 Beta 2 has made some progress in terms of look n feel and layout.  As you probably know, Canonical has customized the GDM login page in order to display the purple Ubuntu color and their logo. 

U1710beta2_xrdp1

Click on picture for better resolution

The Ubuntu 17.10 Beta 2 also provide the dock bar. This feature was a crucial element in order to ensure a smooth transition from Unity.  We didn’t publish any xrdp post before because we were waiting for this feature and see how it would work on Ubuntu locally but also when accessing a system remotely….

U1710beta2_xrdp2

Click on picture for better resolution

Installation Process 

If you are a regular ready of this blog, the installation is really straight forward.  The installation process will be used the xRDP package from the Ubuntu repository.  We will simply use the standard apt-get install command to install the xrdp software on our system.  So, from the a terminal console, we will simply need to issue the standard apt-get install command as provided below. 

sudo apt-get install -y xrdp

You might be prompted for a password. Provide it. You might be asked for confirmation to proceed with the installation.  Please confirm and wait for completion

U1710beta2_xrdp5

Click on picture for better resolution

In the perfect world, you should be able to start your remote desktop client and perform a remote connection… But we are not in a perfect world, so there are some additional configuration actiosn to be performed. 

Post Setup Configuration Steps

Step 1 – Configure Access Console

If you do not perform any configuration changes on your system, when you try for the first time to establish a remote desktop connection to Ubuntu through xRDP software, you should ending up accessing the xRDP login page 

U1710beta2_xrdp6

Click on picture for better resolution

After providing your credentials, you will only see a green background and no desktop will be shown and ultimately a error message might be popping up..

U1710beta2_xrdp7

Click on picture for better resolution

As described in this post, a configuration change needs to happen on the  system in order to allow remote session to occur.   We have to navigate to the following location  /etc/X11 

U1710beta2_xrdp8

Click on picture for better resolution

In this folder, there is a file called Xwrapper.config.  If you edit this file (with admin privilege – i.e. sudo), you can see that the last line indicates that only console access is granted through this file

U1710beta2_xrdp8

Click on picture for better resolution

The file needs to be updated.  You have to replace the line allowed_users=console by allowed_user=anybody as shown in the screenshot below 

U1710beta2_xrdp9

Click on picture for better resolution

Make the changes, reboot your system to ensure that the changes is applied accordingly and try to connect again.  

Note : The first time you connect to xrdp, you will be disconnected. You will need to connect a second time in order to access your remote session.

If everything is ok, you should be able to perform your remote desktop session 

U1710beta2_xrdp10

Click on picture for better resolution

Step 2 – Configure Polkit file 

Just after login into your Ubuntu system through xRDP, you might see the following popup asking for some authentication as shown in the screenshot below 

U1710beta2_xrdp12

Click on picture for better resolution

You will need to cancel multiple time this popup before accessing your desktop interface.  To avoid this prompt, we will need to change the polkit configuration. Using admin privileges, create a file called 02-allow-colord.conf under the following directory /etc/polkit-1/localauthority.conf.d/

The file should contains the following instructions and you should not be prompted anymore with such authentication request while remoting into your system 

polkit.addRule(function(action, subject) {
 if ((action.id == "org.freedesktop.color-manager.create-device" ||
 action.id == "org.freedesktop.color-manager.create-profile" ||
 action.id == "org.freedesktop.color-manager.delete-device" ||
 action.id == "org.freedesktop.color-manager.delete-profile" ||
 action.id == "org.freedesktop.color-manager.modify-device" ||
 action.id == "org.freedesktop.color-manager.modify-profile") &&
 subject.isInGroup("{group}")) {
 return polkit.Result.YES;
 }
 });

 

Step 3 – Configure Dock in xRDP

After passing the polkit warning message, you should be able to access the desktop interface.  As shown in the screenshot, we have indeed access to the Desktop but the Dock is not visible or not present. 

U1710beta2_xrdp13

Click on picture for better resolution

Checking settings in the console and within the remote desktop session, a clear difference appears. In the console session, we can clearly see that Dock option in the settings window.  However, in the remote session, there is no Dock options available. 

U1710beta2_xrdp14

Click on picture for better resolution

To fix this issue, you will first need to install the gnome tweak tool (which seems not be installed by default) 

U1710beta2_xrdp15

Click on picture for better resolution

When installed, open the Gnome Tweak application, go to extensions node and check the status of Ubuntu Dock.  As you can see, the dock is not enabled. This is why there is no Dock visible the first time you perform the remote connection 

U1710beta2_xrdp16

Click on picture for better resolution

So, to view the Dock, simply enable these extensions and you should be good to go 

U1710beta2_xrdp17

Click on picture for better resolution

Step 4 – Update Theme

A final minor issue people might want to fix is the default Ubuntu theme to be used.  Within the remote desktop session, the Ubuntu theme is not applied by default or it’s kind of mangled as seen in the screenshot below

U1710beta2_xrdp18

Click on picture for better resolution

As you can see, in the Gnome Tweak > Appearance, under the Themes section, the applications field is empty.  Changing this value to Ambiance will set the standard look to your remote session.

U1710beta2_xrdp19

Click on picture for better resolution

Other Considerations 

GDM Login page color inconsistent  

Some other small considerations are related to look n feel of the gdm login page within the remote session.  When login locally on the system, the gdm page is the customized page created by Canonical (purple background).  If accessing the system while system is locked, the gdm login page background fall back to the standard grey background 

U1710beta2_xrdp21

Click on picture for better resolution

 

Session type  

Ubuntu 17.10 is using Wayland as Default Display Server, it was a surprise that xRDP is indeed still working. After some basic checks,  xRDP can still work because the implementation is falling back to the X11 session type (as seen on the screenshot)

U1710beta2_xrdp20

Click on picture for better resolution

 

A single user can access console and remote session 

Since the console session is running under Wayland and the remote session is running under x11, we assume that the same user can now indeed connect simultaneously to console and remote session. So, with this Ubuntu release, a user logged into the console should be able to access the remote session as well.  This is not the case. We have tested this… If the user is connected through remote desktop session, and if the same user tries to connect to the console, the login process will loop.  If the user is logged into the console, the remote session will only show a black screen.  So this point is still not fixed…..  

 

Final Notes

Voila ! This is the current status of xRDP in conjunction with Ubuntu 17.10.  So far, xRDP can still be used against Ubuntu systems because it fall back to x11 session type  which are still available in Ubuntu.  In this post, we have seen that installing xRDP is quite straight forward but there is a need to perform a lot of small tweaks to make it worked smoothly.  The future seems to be Wayland and we are excited to see what new features or software will be developed to provide remote session capabilities to Linux systems

Hope you enjoyed this post 

Till next time 

See ya

Leave a Reply