xRDP – Fixing Look n’ Feel Settings in Ubuntu 19.04 Remote Session

Hello World, 

In our previous post, we have quickly described the steps needed to perform a manual installation. The post also described the expected user experience when using such method.  So, there is room for improvements.  When using our standard installation scripts (see here), you can overcome this situation and provide a better user experience. As Canonical has released Ubuntu 19.04, we have decided to review the scripts code and see if some improvements could be achieved. 

In this post, we will explain what the problem is when performing a manual installation. We will then explain how we used to fix this issue.  Finally,this post will show a new way to fix this issue which seems to be better and reduce the code needed to reach our goal… 

So, Let’s move forward….. 

Overview

This section will quickly explain what the issue is and how to fix it.  This section will explain how to manually fix it and then will provide two different ways to fix it that can be used in a script to automate the process.

Assumptions

For this post, we have make some assumptions.

  • The Ubuntu  19.04 final release will be used
  • At time of writing, all available updates were installed on the Ubuntu machine
  • No alternative Desktop will be used. Default 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 19.04
  • Ubuntu machine has been installed as virtual machine using Virtualbox software 
  • xRDP packages have been manually installed 

Look’n feel issue explained…

After performing a manual installation of xRDP with no additional post configuration, when a user perform a remote desktop connection, the Look’n feel of the remote session will not be similar to the one they get used to where the Dock bar is available and Ubuntu theme is pre-configured.  As you can see on the screenshot below, the desktop interface while performing a remote connection is basically the Gnome desktop with no customization (no Dock visible).  

Click on picture for better Resolution

Opening the Terminal console, you see also that the Ubuntu Theme (i.e. Yaru by default in Ubuntu 19.04) is not used either.  Opening Nautilus application, you can see that the standard icons set is not displayed…. 

Click on picture for better Resolution

 

This can been seen as a minor issue.  However, users can be really disturbed by such situation and there is usually a need to provide a similar working interface so user acceptance is greater and such solution can be used more widely

How to manually fix it… 

Fixing Ubuntu Theme

To fix this visual issue, you will need to install some additional packages so you can tweak your system.   First, you would need to install  gnome tweaks package by issuing the following command in a terminal session 

sudo apt-get install gnome-tweak-tool

Click on picture for better Resolution

Type  Y  or enter to confirm the installation of the package.  Wait for completion

When installation is completed, go to activities and search for Tweak.  Click on the icon in order to open Gnome Tweak

In Gnome Tweak > Appearance, under the Themes section, the applications field  and icons field shows the option Adwaita (see screenshot)

Click on picture for better Resolution

Changing this value to Yaru will set the standard look to your remote session.

Click on picture for better Resolution

After changing these values, you will see immediately that the look n feel and color scheme of the windows have changed and show more colors (brown and orange  :-)) 

Fixing Missing Dock bar

At this stage, the Dock bar is still not visible.   To make it visible, still in the Tweak utility, you have to move to the Extensions node.  You will see that these options are turned off.  These options actually control the Dock Bar visibilty

Click on picture for better Resolution

By enabling them, you should see immediately a mini dock bar displayed in your remote session as well as the desktop icons

Click on picture for better Resolution

A new behavior seems to be present in Ubuntu 19.04. As you can see, the Dock bar is not extended through the full screen.  We also need to tell the system to extend the dock bar in order to mimic the local desktop interface.  To do that, we will need to install another piece of software called dconf-editor.  From a Terminal console, issue the following command 

sudo apt-get install dconf-editor

Click on picture for better Resolution

You might get prompted for a password.  Provide a valid one and proceed with the installation

When installation is completed, still from the Terminal console, type the following command to start the application 

dconf-editor

You might get a warning that changes here are risky and you need to be careful.  Click on the Thanks, I will be carefull button.   Then, you will need to browse to org/gnome/shell/extensions/dash-to-dock node and find the setting called extend height

Click on picture for better Resolution

After enabling it, you should see the standard Ubuntu Dock on the left side of the screen within your remote session 

Click on picture for better Resolution

At this stage, the local desktop and the remote desktop should be really similar for the user that was performing the remote connection.  

Fixing GDM Login page color inconsistent  

The GDM login page background page displayed on the local computer and on the remote session will be different.  On the local computer, you can see the customized purple gdm login screen. However, when logged into the remote session and for whatever reason you need to login again, you can see that the Login background screen color is not the purple one but the default gray one used by gnome.

Click on picture for better Resolution

 

In one of our previous posts, we have provided a way to change it and provide again the same look ‘n feel while logged on locally or remotely.  The process we have used so far is working great but it’s not a straight forward process.   We need to modify some gnome files in order to provide a consistent login experience.  This approach is still valid but we have found a better way to achieve this result.  The next section will provide the necessary information that can be used to fix this issue 

Fixing Theme issues through X startup script

Ubuntu comes with some Startup X script that can be used to configure the Desktop interface at user login.  If you remember, in the past, we were using the .xsession file to start the proper Desktop interface when performing a remote desktop session.  We will not use the ./~xsession file but instead we will use a file called ~/.xsessionrc.  This file is apparently executed on Ubuntu by the X startup scripts when a user perform a login on a computer.  Based on the information founded here, we can populate the ~/.xsessionrc file with the following information 

You will need to create this file. Open a Terminal Session and copy the following code 

cat <<EOF > ~/.xsessionrc
echo export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
EOF

When this approach is used, we have basically fixed the Ubuntu theme issue, the Dock bar issue and also the GDM inconsistency.  When this configuration is performed for the specific user used to test the connection, the gdm login locally and remotely would be consistent and use the same color scheme…

Click on picture for better Resolution

The code below fixes the issue for a single user.  To fix it for all users, this piece of code will be added into the /etc/xrdp/startwm.sh file….Doing this will ensure that any users performing a remote desktop connection will get the proper configuration. As you have probably understood, this piece of code will be integrated into our famous xrdp installation scripts which will basically fix the look’n feel issues detected so far when a user performs a remote connection.

These 4 lines of code will be replace quite some code in the current script and will simplify it greatly  🙂 

Final Notes 

Voila !   This is it for this post !

We have revisited the theming issues in Ubuntu Desktop environment when connecting remotely through xRDP software solution.  A manual installation of xRDP provide really the basic functionality (i.e. perform the remote connection). However, without post-configuration actions, look n feel between local session and remote session are different.  Through this post, we have explained how to fix manually but also we have explained how to fix it in an automated way through x Startup scripts.  This approach will be integrated in our installation scripts and will replace the current approach we are using. 

Till next time 

See ya

9 thoughts on “xRDP – Fixing Look n’ Feel Settings in Ubuntu 19.04 Remote Session

  1. @Vlad,

    You can try one of the following and see if this is working for you…

    edit this file as sudo

    /etc/NetworkManager/NetworkManager.conf
    fin the line starting with managed
    if you config file contains the following info
    managed=false
    then change it to
    managed=true

    Restart the network-manager service (using this command line for example)
    sudo service network-manager restart

    and check if this fix your issue

    Hope this help
    Till next time
    See ya

  2. @Griffon i try this but nothing, see this https://prnt.sc/ood3ps is not using the network-manager but the networkd is changing something?? and this problem is only on gnome in my second server i have mate 1.20.4 and the network is ok…

  3. @Vlad,

    Based on your screenshots, I see that you have Ubuntu 19.04 and I see that, in the netplan config file, you are still using the networkd

    renderer: Networkd

    Try to replace it with this line

    renderer: NetworkManager
    then type again

    sudo netplan apply

    Again, we are assuming that you have installed Ubuntu Server Edition where you added Gnome Desktop….. We are not sure if this will work but this would be the way to go….

    Hope this help
    Till next time
    see ya

  4. Thank You for your information! I was trying to use xRDP in 19.04 but was discourage by the way it looked. Now that everything is fixed it was a blessing to keep working on my remote linux again.

  5. @Andy,

    Thank you for the visit and for the positive comments 🙂 Good to know that this information was helpful to you. Enjoy your new remote desktop session experience

    Till next time
    See ya

  6. thank you for the information that has been given, in this process which is often considered difficult by novice strings for this? can you explain how the highest difficulty is?

  7. Hello.
    I’m usinsg Ubuntu 20.04 and xrdp 0.9.12
    It’s possible to start xRDP with the GDM Display Manager Login page.
    So users can choose the Desktoks (ubuntu, plasma, etc.)
    Thanks, a lot.

  8. Hello Pascual, 

    using xRDP, you are not able to be presented with the GDM login page as you would when connecting physically to your computer… 

    If you want to see the GDM login screen, you can use VNC technology but this has also drawback as you need to perform two connections…. 

    Hope this help
    Till next time 
    see ya

Leave a Reply