xRDP – Install xRDP the easy way (Scripted Installation – Version 0.5.3)

  The script hereafter is outdated and has been replaced by a newer version.  Please Check the Download page for latest version.

 

Hello World, 

A lot is happening around the detected bug in Ubuntu 18.04.2 when installing xRDP packages.  The xRDP packages available on Ubuntu Repositories are not compatible with the new xserver-xorg-hwe-18.04 packages which basically break the remote desktop functionality.  We have described the issue in the following post 

In the mean time, we have provide a quick and dirty fix in order to restore the capability and have updated our standard installation script to version 0.5.2. The script simply downgrade to packages needed by xRDP and xorgxrdp.  You can find the script and more info in the following post 

Just after, Thiago Martins has react quickly and has recompiled the xRDP packages in order to have them working on Ubuntu 18.04.2.  We have quickly published a post explaining where to find these newly but unofficial packages and how to use and install them.  You can find the information in the following post 

 

This post is simply integrating the possibility to use the unofficial packages with the Standard Installation script.  We hope that this would be an interim script and that Ubuntu will provide new xRDP packages compatible with their LTS Operating system !!  

Note :  Please always check this page, to get the latest version of the script 

The Standard Installation Script – Version 0.5.3

Overview

The standard installation script basically simplify and automate the installation of xRDP package on top of Ubuntu 18.04 and later.  However, a recent issue has been detected on Ubuntu 18.04.2. which break the installation of xRDP package.   Version 0.5.3 of the script includes an additional parameter that can be specified in order to use the unofficial xRDP packages that are compatible with Ubuntu 18.04.2

Prerequisites

We assume that you have internet connection on the Ubuntu machine.  The internet connection is needed to download the necessary packages that will be installed on your system. To run this script, we would also assume that you are running Ubuntu 18.04 or later version. 

The script version 0.5.3

Important Note :

If you copy/paste the script, you might encounter some issues because font formatting might be not maintained during the copy/paste operation. Please ensure that format is  accurate before launching the script. A downloadable version of the script is available at the bottom of the post

Disclaimer : As usual, use this at your own risk !!

 

#!/bin/bash
#####################################################################################################
# Script_Name : Std-Xrdp-install-0.5.3.sh
# Description : Perform an automated standard installation of xrdp
# on ubuntu 18.04 and later
# Date : October 2018
# written by : Griffon
# Web Site :http://www.c-nergy.be - http://www.c-nergy.be/blog
# Version : 0.5.3
# History : 0.5.3 - Using Unoffical xRDP packages for Ubuntu 18.04.2 issue
# : 0.5.2 - Quick Fix for Ubuntu 18.04.2
# : 0.5.1 - Add support to Ubuntu 18.10 
# : 0.5 - Add logic to enable sound redirection 
# - re-write code logic to include functions
# - Removed support for Ubuntu 17.10 as reached end of support
# : 0.4 - Add logic to fix GDM lock screen + minor change
# : 0.3 - Adding logic to fix theme and extensions for any users login through xrdp
# 0.2 - Added Logic for Ubuntu 17.10 and 18.04 detection 
# - Updated the polkit section
# - New formatting and structure 
# 0.1 - Initial Script 
# Disclaimer : Script provided AS IS. Use it at your own risk....
####################################################################################################
#---------------------------------------------------#
# Detecting if Parameters passed to script .... 
#---------------------------------------------------#

while getopts g:s:u: option 
do 
case "${option}" 
in 
g) fixGDM=${OPTARG};; 
s) fixSound=${OPTARG};;
u) unofficialRepo=${OPTARG};;
esac 
done

#---------------------------------------------------#
# Script Version information Displayed #
#---------------------------------------------------#

echo
/bin/echo -e "\e[1;36m !-------------------------------------------------------------!\e[0m"
/bin/echo -e "\e[1;36m ! Standard XRDP Installation Script - Ver 0.5.3 !\e[0m"
/bin/echo -e "\e[1;36m ! Written by Griffon - March 2019 - www.c-nergy.be !\e[0m"
/bin/echo -e "\e[1;36m !-------------------------------------------------------------!\e[0m"
echo

#--------------------------------------------------------------------------#
# -----------------------Function Section - DO NOT MODIFY -----------------#
#--------------------------------------------------------------------------#

#---------------------------------------------------#
# Function 0 - Patch Ubuntu 18.04.2
#---------------------------------------------------#

install_xservercore() 
{
echo
/bin/echo -e "\e[1;33m !----------------------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Installing xserver-xorg-core Packages...Proceeding... !\e[0m"
/bin/echo -e "\e[1;33m !----------------------------------------------------------!\e[0m"
echo
sudo apt-get install xserver-xorg-core -y
echo
/bin/echo -e "\e[1;33m !----------------------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Installing xserver-xorg-input-all pkg...Proceeding... !\e[0m"
/bin/echo -e "\e[1;33m !----------------------------------------------------------!\e[0m"
echo
sudo apt-get -y install xserver-xorg-input-all 
}


#---------------------------------------------------#
# Function 1 - Install xRDP Software.... 
#---------------------------------------------------#

install_xrdp() 
{
echo
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Installing XRDP Packages...Proceeding... !\e[0m"
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
echo
sudo apt-get install xrdp -y 
}

#---------------------------------------------------#
# Function 2 - Install Gnome Tweak Tool.... 
#---------------------------------------------------#

install_tweak() 
{
echo
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Installing Gnome Tweak...Proceeding... !\e[0m"
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
echo
sudo apt-get install gnome-tweak-tool -y
}

#--------------------------------------------------------------------#
# Fucntion 3 - Allow console Access ....(seems optional in u18.04)
#--------------------------------------------------------------------#

allow_console() 
{
echo
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Granting Console Access...Proceeding... !\e[0m"
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
echo
sudo sed -i 's/allowed_users=console/allowed_users=anybody/' /etc/X11/Xwrapper.config
}

#---------------------------------------------------#
# Function 4 - create policies exceptions .... 
#---------------------------------------------------#

create_polkit()
{
echo
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Creating Polkit File...Proceeding... !\e[0m"
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
echo

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

}

#---------------------------------------------------#
# Function 5 - Fixing Theme and Extensions .... 
#---------------------------------------------------#

fix_theme()
{
echo
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Fix Theme and extensions...Proceeding... !\e[0m"
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
echo

#Check if script has already run.... 
if grep -xq "#fixGDM-by-Griffon" /etc/xrdp/startwm.sh; then
echo "Skip theme fixing as script has run at least once..."
else
#Set xRDP session Theme to Ambiance and Icon to Humanity if Ubuntu 18.04.x
if [[ "$version" = *"Ubuntu 18.04"* ]];
then
sudo sed -i.bak "4 a #fixGDM-by-Griffon\ngnome-shell-extension-tool -e ubuntu-appindicators@ubuntu.com\ngnome-shell-extension-tool -e ubuntu-dock@ubuntu.com\n\nif [ -f ~/.xrdp-fix-theme.txt ]; then\necho 'no action required'\nelse\ngsettings set org.gnome.desktop.interface gtk-theme 'Ambiance'\ngsettings set org.gnome.desktop.interface icon-theme 'Humanity'\necho 'check file for xrdp theme fix' >~/.xrdp-fix-theme.txt\nfi\n" /etc/xrdp/startwm.sh
elif [[ "$version" = *"Ubuntu 18.10"* ]];
then
sudo sed -i.bak "4 a #fixGDM-by-Griffon\ngnome-shell-extension-tool -e ubuntu-appindicators@ubuntu.com\ngnome-shell-extension-tool -e ubuntu-dock@ubuntu.com\n\nif [ -f ~/.xrdp-fix-theme.txt ]; then\necho 'no action required'\nelse\ngsettings set org.gnome.desktop.interface gtk-theme 'Yaru'\ngsettings set org.gnome.desktop.interface icon-theme 'Yaru'\necho 'check file for xrdp theme fix' >~/.xrdp-fix-theme.txt\nfi\n" /etc/xrdp/startwm.sh
else 
echo "Error Occured somewhere...Exiting..."
exit
fi

fi
echo
}

#---------------------------------------------------#
# Function 6- Fixing GDM - As an Option .... 
#---------------------------------------------------#
fix_gdm()
{
echo
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Fix for GDM Lock Screen color... !\e[0m"
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
echo
# Step 1 - Install prereqs for compilation later on
sudo apt-get -y install libglib2.0-dev-bin
sudo apt-get -y install libxml2-utils

# extract gresource info (from url...)
workdir=${HOME}/shell-theme
if [ ! -d ${workdir}/theme ]; then
mkdir -p ${workdir}/theme
mkdir -p ${workdir}/theme/icons

fi
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource

for r in `gresource list $gst`; do
gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/}
done

/bin/echo -e "\e[1;33m |-| Creating XML File... \e[0m"
# create the xml file 
bash -c "cat >${workdir}/theme/gnome-shell-theme.gresource.xml" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/theme">
<file>calendar-arrow-left.svg</file>
<file>calendar-arrow-right.svg</file>
<file>calendar-today.svg</file>
<file>checkbox-focused.svg</file>
<file>checkbox-off-focused.svg</file>
<file>checkbox-off.svg</file>
<file>checkbox.svg</file>
<file>close-window.svg</file>
<file>corner-ripple-ltr.png</file>
<file>corner-ripple-rtl.png</file>
<file>dash-placeholder.svg</file>
<file>gnome-shell.css</file>
<file>gnome-shell-high-contrast.css</file>
<file>no-events.svg</file>
<file>no-notifications.svg</file>
<file>noise-texture.png</file>
<file>page-indicator-active.svg</file>
<file>page-indicator-inactive.svg</file>
<file>page-indicator-checked.svg</file>
<file>page-indicator-hover.svg</file>
<file>process-working.svg</file>
<file>toggle-off-us.svg</file>
<file>toggle-off-intl.svg</file>
<file>toggle-on-hc.svg</file>
<file>toggle-on-us.svg</file>
<file>toggle-on-intl.svg</file>
</gresource>
</gresources>
EOF
cd ${workdir}/theme
/bin/echo -e "\e[1;33m |-| Modify Css... \e[0m"
sed -i -e 's/background: #2e3436/background: #2c00e1/g' ~/shell-theme/theme/gnome-shell.css

##Delete the file noise-texture.png (grey one)
rm ${workdir}/theme/noise-texture.png

/bin/echo -e "\e[1;33m |-| Download Purple image file... \e[0m"
#Download the noise-texture.png with purple background 
wget http://www.c-nergy.be/downloads/noise-texture.png

/bin/echo -e "\e[1;33m |-| Compile Resource File... \e[0m"
#Compile file and copy to correct location....
cd ${workdir}/theme
glib-compile-resources gnome-shell-theme.gresource.xml

/bin/echo -e "\e[1;33m |-| Copy file to target location... \e[0m"

# make a backup of the file and copy the file....
sudo cp /usr/share/gnome-shell/gnome-shell-theme.gresource /usr/share/gnome-shell/gnome-shell-theme.gresource.bak
sudo cp ${workdir}/theme/gnome-shell-theme.gresource /usr/share/gnome-shell/gnome-shell-theme.gresource
echo

}

#---------------------------------------------------------#
# Function 7 - Enable Sound Redirection - As an option.. #
#---------------------------------------------------------#
enable_sound()
{
echo
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Enabling Sound Redirection... !\e[0m"
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
echo

# Step 1 - Install xrdp-pulseaudio-installer package
sudo apt-get install xrdp-pulseaudio-installer -y

# Step 2 - Enable Source Code Repository
sudo apt-add-repository -s 'deb http://be.archive.ubuntu.com/ubuntu/ '$codename' main restricted'
sudo apt-add-repository -s 'deb http://be.archive.ubuntu.com/ubuntu/ '$codename' restricted universe main multiverse'
sudo apt-add-repository -s 'deb http://be.archive.ubuntu.com/ubuntu/ '$codename'-updates restricted universe main multiverse'
sudo apt-add-repository -s 'deb http://be.archive.ubuntu.com/ubuntu/ '$codename'-backports main restricted universe multiverse'
sudo apt-add-repository -s 'deb http://be.archive.ubuntu.com/ubuntu/ '$codename'-security main restricted universe main multiverse'
sudo apt-get update

# Step 3 - Download pulseaudio source in /tmp directory
cd /tmp
sudo apt source pulseaudio

# Step 4 - Compile
pulsever=$(pulseaudio --version | awk '{print $2}')

cd /tmp/pulseaudio-$pulsever
sudo ./configure

# Step 5 - Create xrdp sound modules

cd /usr/src/xrdp-pulseaudio-installer
sudo make PULSE_DIR="/tmp/pulseaudio-$pulsever"

# Step 6 - copy files to correct location

sudo install -t "/var/lib/xrdp-pulseaudio-installer" -D -m 644 *.so
echo

}
#--------------------------------------------------------------------------#
# -----------------------END Function Section -----------------#
#--------------------------------------------------------------------------#
#--------------------------------------------------------------------------#
#------------ MAIN SCRIPT SECTION -------------------# 
#--------------------------------------------------------------------------#
#---------------------------------------------------#
#-- Step 0 - Try to Detect Ubuntu Version.... 
#---------------------------------------------------#

version=$(lsb_release -sd) 
codename=$(lsb_release -sc)

echo
/bin/echo -e "\e[1;33m |-| Detecting Ubuntu version \e[0m"

if [[ "$version" = *"Ubuntu 18.04"* ]];
then
/bin/echo -e "\e[1;32m |-| Ubuntu Version : $version\e[0m"
echo
elif [[ "$version" = *"Ubuntu 18.10"* ]];
then
/bin/echo -e "\e[1;32m |-| Ubuntu Version : $version\e[0m"
echo
else
/bin/echo -e "\e[1;31m !------------------------------------------------------------!\e[0m"
/bin/echo -e "\e[1;31m ! Your system is not running Ubuntu 18.04 Edition and later !\e[0m"
/bin/echo -e "\e[1;31m ! The script has been tested only on Ubuntu 18.04 and later !\e[0m"
/bin/echo -e "\e[1;31m ! The script is exiting... !\e[0m" 
/bin/echo -e "\e[1;31m !------------------------------------------------------------!\e[0m"
echo
exit
fi

/bin/echo -e "\e[1;33m |-| Detecting Parameters \e[0m"

#Detect if argument passed
if [ "$fixSound" = "yes" ]; 
then 
/bin/echo -e "\e[1;32m |-| Sound Redirection Option...: [YES]\e[0m"
else
/bin/echo -e "\e[1;32m |-| Sound Redirection Option...: [NO]\e[0m"
fi

if [ "$fixGDM" = "yes" ]; 
then 
/bin/echo -e "\e[1;32m |-| gdm fix Option.............: [YES]\e[0m"
else
/bin/echo -e "\e[1;32m |-| gdm fix Option.............: [NO]\e[0m"
fi
echo


if [ "$unofficialRepo" = "yes" ]; 
then 
/bin/echo -e "\e[1;32m |-| Unofficial Repo...........: [YES]\e[0m"
else
/bin/echo -e "\e[1;32m |-| Unofficial Repo...........: [NO]\e[0m"
fi
echo

#---------------------------------------------------------#
# Step 2 - Executing the installation & config tasks .... #
#---------------------------------------------------------#

echo
/bin/echo -e "\e[1;36m !-------------------------------------------------------------!\e[0m"
/bin/echo -e "\e[1;36m ! Installation Process starting.... !\e[0m"
/bin/echo -e "\e[1;36m !-------------------------------------------------------------!\e[0m"
echo
/bin/echo -e "\e[1;33m |-| Proceed with installation..... \e[0m"
echo

if [[ "$version" = *"Ubuntu 18.04.2"* ]];
then
/bin/echo -e "\e[1;32m |-| Ubuntu Version : $version\e[0m"
echo
/bin/echo -e "\e[1;36m !-------------------------------------------------------------!\e[0m"
/bin/echo -e "\e[1;36m ! Applying Installation Patch for Ubuntu 18.04.2 Only !\e[0m"
/bin/echo -e "\e[1;36m !-------------------------------------------------------------!\e[0m"
echo
if [ "$unofficialRepo" = "yes" ];
then
/bin/echo -e "\e[1;32m => Downloading Unofficial xRDP packages (Thiago Martins) !\e[0m"
echo
sudo add-apt-repository ppa:martinx/xrdp-hwe-18.04 -y
sudo apt-get update
install_xrdp
install_tweak
allow_console
create_polkit
fix_theme
else
/bin/echo -e "\e[1;32m => Downgrading to previous xserver-xorg-* packages !\e[0m"
echo
install_xservercore
install_xrdp
install_tweak
allow_console
create_polkit
fix_theme
fi
else
install_xrdp
install_tweak
allow_console
create_polkit
fix_theme
fi

if [ "$fixGDM" = "yes" ]; 
then 
fix_gdm
fi

if [ "$fixSound" = "yes" ]; 
then 
enable_sound
fi

#---------------------------------------------------#
# Step 9 - Credits .... 
#---------------------------------------------------#
echo
/bin/echo -e "\e[1;36m !---------------------------------------------------------------------------!\e[0m"
/bin/echo -e "\e[1;36m ! Installation Completed !\e[0m" 
/bin/echo -e "\e[1;36m ! Please test your xRDP configuration.A Reboot Might be required... !\e[0m"
/bin/echo -e "\e[1;36m ! Written by Griffon - March 2019 - Ver 0.5.3 - Std-Xrdp-Install-0.5.3.sh !\e[0m"
/bin/echo -e "\e[1;36m ! !\e[0m"
/bin/echo -e "\e[1;36m ! Thanks to Thiago Martins who provided Updated xRDP packages :-) !\e[0m"
/bin/echo -e "\e[1;36m !---------------------------------------------------------------------------!\e[0m"
echo

How to Use the Script

Again, script usage is basically the same as the previous versions.  We will not go into details here but simply explain how to use it and how to execute it. 

Step 1 – Set Execute Right on the script

Download the Std-Xrdp-install-0.5.3.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/Std-Xrdp-Install-0.5.3.sh

Note : Adjust the path where the Std-Xrdp-Install-0.5.3.sh script to reflect your environment

Step 2 – How to execute the script ? 

With this version of the script, you can decide to pass no parameters or pass 3 parameters (which are -s -g -u). The following section explains what are these options   

Standard way

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 

 ./Std-Xrdp-Install-0.5.3.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….

 

This installation mode will downgrade to older ubuntu packages that can be used with xRDP and xorgxrdp packages.  This installation mode uses the quick and dirty fix…. 

Advanced way – using unofficial xRDP packages 

If you want to use the unofficial xRDP packages, you will need to issue the following command 

./Std-Xrdp-Install-0.5.3.sh -u yes

This command will add some additional ppa repositories and will use these packages to perform the xRDP installation.  It’s important to note that this option will only work when running the script on Ubuntu 18.04.2.  The script will check if you are running this version specifically and if you have used the -u option, unofficial packages will be used

Advanced way – combining options 

To enable additional features within your remote desktop session,  it’s possible to pass some parameters (in any orders) to the script.  The script support up to two parameters.  When running the script, a user can decide to enable fix for the GDM lock screen or enable sound redirection or enable both options.   The following paragraph explain which parameters can be used….

To implement the lock screen fix for GDM within the xrdp session, use this syntax

./Std-Xrdp-Install-0.5.3.sh -g yes -u yes

To implement the sound redirection fix  within the xrdp session, use this syntax

./Std-Xrdp-Install-0.5.3.sh -s yes -u yes 

To implement both  the sound redirection fix  and gdm lock screen fix within the xrdp session, use this syntax

./Std-Xrdp-Install-0.5.3.sh -s yes -g yes -u yes

When script execution is completed, the machine will not reboot so you can review the installation and detect possible elements that’s preventing the script execution.  At completion, it’s recommended to reboot the machine so the changes made to the system can be applied accordingly. 

Step 3 – Test your configuration 

After the script has run and after the reboot, first login locally on the machine and ensure that you can use keyboard and mouse. Then, logoff from the system and try to perform a remote connection.  If everything is ok, you should be able to access your desktop through remote desktop protocol 

Download the Script 

Please download the script :  Std-Xrdp-Install-0.5.3.zip

Final Notes 

This is it for this post !  

As usual, we will kindly ask you to try, test and play around with this version and provide feedback and possibly bugs you might have detected.  

This script has been published in quick way and should be considered only as interim script. We are hoping that Ubuntu/Canonical will update the xRDP packages to take into account the dependencies needed by xorgxrdp.   We are already working on an updated version of the script that would include support for Ubuntu 19.04.  We hope that Canonical will fix the issues found in Ubuntu 18.04.2 and that we can streamline again the installation process.  The new version of the script will introduce some changes (minor but useful). Script usage might be changed as well if we succeed in implementing the changes we are planning to integrate.

Custom installation script will not be updated right away… we will see what would be the option for this one….. 

As you can see, with all the issues and upcoming releases, we are really really busy and we really want to simplify the usage (and the maintenance) of the script…. 

Till next time 

See ya

References & History 

If you are interested in digging into the history and evolution of the Std-Xrdp-Install script, have a look at the following posts

17 thoughts on “xRDP – Install xRDP the easy way (Scripted Installation – Version 0.5.3)

  1. I wanted to make your XRDP users aware of an important Bug Fix by NeutrinoLabs for XRDP.

    In the XRDP v0.9.5 in the Ubuntu 18.04 Repositories there was a bug that affected Device Redirection causing intermittent or even constant failures.

    This particularly affected DRIVE REDIRECTION.

    NeutrinoLab’s has released a Fix which is incorporated into XRDP v0.9.9

    Thiago Martin (a member of both Debian and Ubuntu Professional Services) has published a PPA which will update/upgrade to XRDP v0.9.9 and XORGXRDP v0.2.9:

    https://launchpad.net/~martinx/+archive/ubuntu/xrdp-next

    The steps are simple and take 2 minutes:

    $ sudo add-apt-repository ppa:martinx/xrdp-next
    $ sudo apt update
    $ sudo apt install xrdp xorgxrdp -y

    For xorgxrdp there is 1 package that doesn’t get installed when installing xorgxrdp due to a dependency so you can fix that by installing the dependency manually too:

    $ sudo apt install xorg-video-abi-24 -y

    I’ve found that I could continue to use the Ubuntu 18.04’s **xrdp-pulseaudio-installer** code previously installed and audio/pulseaudio continued to work on my systems.

    You can verify you now have xrdp v0.9.9 by:

    $ xrdp –version

  2. @Brian;

    Thank you for sharing this information with us; we will try to update the install script and integrate this information into it
    As ubuntu 19.04 is on its way, the updated script might be only available after this interim release

    See you man
    Till next time

  3. @Brian,
    yep good to know. indeed lot of people mentioned this issue.. as mentioned in the previous comment, will try to integrate the info in the new version of the install script
    Thank again 🙂
    Till next time
    See ya

  4. @Griffon – Thank you so much for taking your time and solving these issues with xrdp/18.04 and share it with everyone!!
    This solution now works almost perfect on my server, however there is one issue, dont know if im doing something incorrect or if it is intended to be this way.

    After logging off my Windows PC that i use to control my ubuntu server and turn Windows PC off for 10-12 hours. Once i get back home, i cant login to xrdp again. I get the login screen, i type in my credentials but nothing at all happen when i press OK/Enter. Login box does not disappear. I have to reboot ubuntu server to get it working again. Is this some known bug or something wrong with my install? 😀

  5. @Magnus,

    We are not aware of such issue with xRDP.. Normally, with the new version of xRDP, there is a disconnect time defined and you should be able to login back to your server…. Thanks for mentioning this issue. When time permit, we will investigate

    Till next time
    See ya

  6. man, this saves my life! Thank you so much!
    BTW, do I need to disable ubuntu os auto update? Will OS update mess up this?

  7. @Xiaofang,

    Depends which option you have chosen… if you have used the unofficial xrdp packages, you should be good to go. If you have not used them, you have to check that indeed the xserver-xorg-core-hwe-18.04 packages does not get installed on your machine during updates…If this is the case, you will simply need to revert back to the older package xserver-xorg-core and your configuration should be working as previously… We are updating the custom installation script so this situation would not occur

    Till next time
    See ya

  8. @Griffon,
    Thanks for the reply. Yes, I am using the unofficial xrdp packages. So I should be good. Thanks.

  9. Thanks this is great. It worked for me in the below installation order:
    1. Download and run the script
    2. sudo apt-get update
    3. sudo apt-get install xfce4
    4. echo xfce4-session >~/.xsession
    5. sudo service xrdp restart

  10. @Jassim,

    Good to hear that this solution is working. thanks for the visit and the positive feedback
    Till next time
    See ya

  11. @Renbuar,

    Thanks for the visit and the positive feedback….Always happy to see that our work can be useful…:-)
    Till next time
    See ya

  12. @Griffon

    Do you know if the bug is fixed in ubuntu 19.04 ? Do we still need to use your script for 19.04?

    Thanks.

  13. @xiaofang Zhang,

    This issue does not exists on Ubuntu 19.04 and you can install xrdp using Ubuntu repositories. Simply installing the xrdp packages from Ubuntu repositories does not perform any post configuration actions…You might need to perform some configurations in order the same desktop interface when remotely connected. Our script is doing exactly that…. If you can wait 3/4 weeks, an updated version of the script will be released that will include support for Ubuntu 19.04 and introduces some interesting changes…. A series of posts will be published in May explaining the changes and the last post would be the script integrating all the changes made…

    Hope this help
    Till next time
    See ya

Leave a Reply