Pop!_OS – How to Remote Desktop into Pop!_OS (using xRDP)

Hello World, 

In our previous post, we have quickly demonstrated how to perform the installation of Pop!_OSPop!_OS is the Linux Distribution developped by System76 and based on Ubuntu. The post was written because a lot of people were asking me/suggesting me to perform an installation and give it a try.   Pop!_OS is providing a really nice user experience and the look n theme provided is indeed refreshing and polished. 

The next most popular request we have received related to Pop!_OS operating system was to quickly provide a simple step by step guide on how to install the Linux Remote Desktop solution (i.e. xRDP software) on top of Pop!_OS and have it configured accordingly…. 

So, this post will explain exactly that…. Let’s do this…..

Overview

Since we have received a lot of request about installing and configuring xRDP software on top of Pop!_OS, we will provide the necessary steps to perform the installation and post-configuration actions needed to have it working.  If you are following us for a long time, you problaby know about xRDP software, its purpose and how to install it either manually or automatically using the script we are providing. 

Since our xrdp-installer script is not supporting (yet?) Pop!_OS, we will perform the xRDP installation manually on the Pop!_OS operating system.

So, let’s go !!!

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 Pop!_OS machine
  • We have performed the installation on Pop!_OS 20.04
  • No additional Desktop interface is used ( xRDP session will be showing Gnome Desktop)
  • We are performing a manual installation 

Basic Installation Process 

Installing the xRDP package

The manual installation is quite straight forward.  You simply need to open a terminal console and execute some commands.  The manual installation process will be using the xRDP packages available in the Official Pop!_OS Repository.   To perform your installation, you simply need to issue the following command 

sudo apt-get install xrdp

If requested, please provide the password and press Enter to Proceed with the installation 

Click on Picture for Better Resolution

If prompted, please confirm the installation process

Click on Picture for Better Resolution

To check xRDP version, open a Terminal console and issue the following command 

xrdp -v 

Click on Picture for Better Resolution

 

At this stage, you should be able to perform an remote desktop session but you will not enjoy a seamless user experience.  We will explain later in this posts how to perform the post configuration actions in order to avoid small annoyance while performing the remote desktop connection.  

Test your xRDP connection (no post configuration settings yet !!!)

Important !!!

Before trying to perform a remote connection to your Pop!_OS computer,  no one must be logged on on the machine.  Please ensure that the user account that will be used to perform the remote session that this user account is not logged locally on the computer.   This is by design. A same user account can be connected either locally or remotely but not both at the same time…. If you see a black screen when performing the remote desktop connection, this means that the user account performing the remote connection is also logged on locally on the Pop!_OS machine.  So, please logoff from the Pop!_OS machine….. 

Click on Picture for Better Resolution

 

To test your xRDP connection, open your favourite remote Desktop Client.  Provide the hostname or ip address of the Pop!_OS computer and press the connection button 

Click on picture for better Resolution

You will be prompted with a certificate warning.  Press OK to proceed 

You will be then presented with the xRDP login page (with a green background) 

Click on Picture for Better Resolution

Provide the credentials and press OK.  If everything is OK, you should see your Pop!_OS desktop presented to you. However, after a few seconds, you will see some dialog box prompting… Provide the credentials and Press OK  in order to proceed.  

Click on Picture for Better Resolution

Again, after some time, you might see an additional Dialog Box popup. Provide the credentials and Press OK in order to proceed 

Click on Picture for Better Resolution

If you try to open the Software center (or Pop!_Shop) application, you might also see the following dialog box showing up…… 

Click on Picture for Better Resolution

All these popups can be annoying for the users.  By tweaking Polkit rules (see next section), we can get rid of these popups and provide a better user experience 

Finally, if you pay a little bit more attention, you will also notice that the look’n feel (theme) of the Desktop is not exactly the same as the one you see when logged on locally on your Pop!_OS machine.

Click on Picture for Better Resolution

Again, with a little trick, it will be possible to replicate the desktop look’n feel when connected to the remote session…Keep reading… 

 

Post Configuration Setup

Implementing Polkit Rules for xRDP on Pop!_OS 

As mentioned above, with no additional configuration on your Pop!_OS machine, you will see a number of popups while working in your remote session. By tweaking your system slightly and generating custom polkit rules, we can prevent these popups to showing up…

To create these polkit rules, login locally on the Pop!_OS machine and copy/paste the following command in your Terminal console and Press Enter. You might be prompted for your password. Provide your credentials in order to proceed 

sudo bash -c "cat >/etc/polkit-1/localauthority/50-local.d/45-allow.colord.pkla" <<EOF
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF

Then, copy/paste the following code and press Enter 

sudo bash -c "cat >/etc/polkit-1/localauthority/50-local.d/46-allow-update-repo.pkla" <<EOF 
[Allow Package Management all Users] 
Identity=unix-user:* 
Action=org.freedesktop.packagekit.system-sources-refresh;org.freedesktop.packagekit.system-network-proxy-configure 
ResultAny=yes 
ResultInactive=yes 
ResultActive=yes 
EOF

Click on Picture for Better Resolution

 

Fixing the Theme and Desktop Look’n Feel  

To fix the Desktop look’n feel, you will simply copy/paste the following commands in the terminal console 

#Backup the file before modifying it
sudo cp /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.griffon
sudo sed -i "4 a #Improved Look n Feel Method\ncat <<EOF > ~/.xsessionrc\nexport GNOME_SHELL_SESSION_MODE=$GNOME_SHELL_SESSION_MODE\nexport XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP\nexport XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS\nEOF\n" /etc/xrdp/startwm.sh

 

Click on Picture for Better Resolution

 

Test again your XRDP connection 

After making all these small tweaks, you should be able to access your Pop!_OS session with no dialog box and presenting you the same look’n feel as the one available when logged on locally 

Click on Picture for Better Resolution

Final Notes 

Voila ! This is it !  In this post, we have been able to perform a simple installation of xRDP package in order to provide remote desktop capabilities.  We have also tweaked a little bit the Pop!_OS system in order to have a seamless user experience.   As you have seen, it’s really not too difficult to have remote desktop capabilities enabled on a Pop!_OS machine.  

If you are following us since a long time, you know that we have developed the xrdp-installer script that automate installation and post configuration actions of xRDP.  The script was not used here because it’s actually support (so far !!) only Ubuntu Operating system.  As a new version of Ubuntu is about to be released, we will probably release a new version of the xrdp-installer  and we might include support for Pop!_Os…. 

Till next time 

See ya

 

 

10 thoughts on “Pop!_OS – How to Remote Desktop into Pop!_OS (using xRDP)

  1. how to get this to connect to your existing X session so you get your actual desktop?

    IOW, how it works in windows? I know there must be a way….

  2. @Cameron,

    Thank you for visiting our blog and providing some feedback. With newer xrdp and xorgxrdp packages, it is not possible to connect to the actual desktop session. Using the trick described here (https://c-nergy.be/blog/?p=16698), you could have the same user connected at the same time on local console and remote console . If you want to access the actual desktop, you would need to use something like vnc software or other third party software but not xRDP

    Hope this answer your question
    Till next time
    See ya

  3. @Pete,

    Thank you for the feedback and visiting our blog. We are working on the next version of the xrdp-installer script… we have run the script against pop!os 21.10 and it’s working as expected. The xrdp package is installing accordingly and we are able to connect to the desktop using remote desktop client. We have done another test today Pop!0s 21.10 standard installation of xrdp package…and it works

    Can you explain what’s not working ? what’s failing ? when connecting do you get a black screen ? is the connection not going through ?
    waiting for your feedback

    Till next time
    See ya

  4. @Ahmet,

    Thank you for visiting our blog and sharing your positive experience. Happy to see that our little contribution is helping out
    Till next time
    See ya

  5. @Dan,

    Thank you for the feedback and visiting our blog. We have received confirmation from another user that the procedure was working as expected.
    Black screen is usually generated by two situation

    1/The user trying to perform the remote session is already logged on into the system locally. so, Please ensure that no one is logged on on the system before trying RDP
    2/The ~/.xsessionrc file if empty or incorrectly filled in can also generate the black screen behavior

    Hope this help
    Till next time
    See ya

  6. Don’t forget to add the following to either ~/.xsessionrc to or the top of /etc/xrdp/startwm.sh:
    export GNOME_SHELL_SESSION_MODE=pop
    export GDMSESSION=pop
    export XDG_CURRENT_DESKTOP=pop:GNOME

    This is for the Pop!_OS Cosmic desktop within RDP.

  7. @nobody,

    Thank you for visiting our blog and providing some feedback…
    Thank you for emphazing the information about POP!OS However, note that this information seems redundant with the content of the post. Actually, if you read the section Fixing the Theme and Desktop Look’n Feel, you will notice that we are providing exactly the same information. We are placing code in top of the /etc/xrdp/startwm.sh.

    Any way thank you for mentioning it

    Till next time
    See ya

Leave a Reply