xRDP โ€“ Easy install xRDP on Ubuntu 18.04,20.04,22.04 (Script Version 1.4.2)

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

Hello World, 

We are back again with our xrdp-installer script.   Some other issues have been discovered since the release of version 1.4.1, so it time to update again the script.  Version 1.4.1 was fixing a really minor bug/issue when performing a custom installation of xRDP.  However, version 1.4.1 was also introducing another small issue.  Version 1.4.1 (and probably version 1.4) is breaking sound redirection.  

Thanks to our readers  and more specifically thanks to Hiero :), the problem was acknowledged and the root cause identified.  So, this new release of the script is including the fix and sound redirection should be working again with no need to tweak your system. 

Version 1.4 introduced the possibility (still experimental mode!!!) to perform the xrdp installation via ssh session.  The “experimental” code  was quite basic and after performing additional tests we have noticed that this code could introduce other issues and needed some improvements.  We have also acknowledge that this installation option (i.e. via ssh) seems to be used in a number of scenario, so we have decided to revisit this part of the code to improve it….The script version 1.4.2 will provide an updated version of the ssh installation method….

The new version of our famous xrdp installation script will be set to 1.4.2 (i.e. xrdp-installer-1.4.2sh).  This script replaces all previous versions.    

So, let’s proceed with this latest version…. 

Overview

By now, you should know that the xrdp-installer script aim to ease installation and post-configuration actions of xRDP on top of Ubuntu Operating system.  xRDP is a piece of software that enable remote desktop services on Linux.   This means that windows users can use their Remote desktop client (mstsc) and perform a remote connection to Ubuntu Computer.   

Initially, the script was supporting only Ubuntu with Gnome Desktop interface. However,  recent version of script tries to detect the Desktop interface in use and try to perform the post-configuration actions as required.  Recent version of the script also can run against Debian Operating system as well

Whatโ€™s new in this release (Version 1.4.2) ?

Improved detection when running from ssh session    

As explained earlier,  the xrdp-intaller-1.4 version of the script was introducing a new option that would allow a user to perform the installation via an ssh connection.  However; after some more detailed tests, we have noticed that this option was not always working.  Some improvements were needed here.  Version 1.4.2 is really focusing on improving the installation process over the ssh session.   Probably, the solution is still not perfect but it’s definitely an improvement.

Add Support for more OS    

In this version of the script,  we are also introducing some additional support (i.e Best effort)  for 

  • Linux Mint (Experimental!!!)
  • Pop!Os 22.04  

Removed OS Support 

In this version of the script, we have decided to already remove  support for  some other Operating system and more specifically 

  • Ubuntu 21.10 removed (since this one will reach end of support in July 2022!!)  
  • POP!OS 20.10  
  • POP!OS 21.04 

Sound redirection not Working 

xrdp-installer-1.4.1 (and probably version 1.4) was breaking the sound redirection.  The script was basically rebuilding too much related to the Pulseaudio sound server and some service configuration file were updated wrongly.  Based on some user feedback, we have indeed noticed and confirmed that the sound redirection was not working anymore. To fix this, a user could simply issue in the Terminal console, the command 

pulseaudio --start 

and this would make the sound redirection working again within your remote session…  (but obviously this is just a workaround!!!)

After reviewing the script and the comments/findings from one of our reader (Thanks Hiero), we have indeed found that one action of the script was triggering this behavior.  We have been able to fix it quite quickly (commenting the line causing the issue ๐Ÿ™‚ and now sound redirection should be working just fine. 

Sound redirection Support Limitations

A major change is coming in modern Operating Systems.   Pulseaudio software is being replaced by a newer version package called Pipewire. This will have an major impact also in the xRDP software a more specifically sound redirection feature.  So far, xRDP Sound redirection can work only when Pulseaudio package is installed.  This means that operating system like Pop!0S 22.04 and the coming Ubuntu 22.10,  which are ditching Pulseaudio in favor of Pipewire, will not support sound redirection anymore. 

The xRDP team has no plan (so far) about updating their code to support Pipewire solution.  Based on this new situation, the script version 1.4.2 introduces an additional check to detect if PulseAudio or PipeWire is used. Based on the software installed on the system, the xrdp sound redirection will go through if Pulseaudio.  If Pipewire is installed, sound redirection compilation will not be performed. 

How to Use the Script

The xrdp-installer-1.4.2 script will work in a similar way as the previous versions. The following section will explain how to download, extract, set executable mode and perform the installation using the script.  The script provides some switches that can be used to customize the installation process.  

So, let’s see how this would be working…. 

Disclaimer

The script is provided AS IS.  Use it at your own risk !!! 

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 Ubuntu machine

Script version & Supported Ubuntu Version

The xrdp-installer-1.4.2.sh script will support the following Ubuntu operating system version assuming that Gnome Desktop is the default Desktop interface

  • Ubuntu 18.04.x
  • Ubuntu 20.04.x
  • Ubuntu 22.04.x
  • Debian 10 
  • Debian 11 (only if you select custom mode installation !!!) 
  •  

The xrdp-installer-1.4.2.sh script can be run against the following Ubuntu flavors but we cannot guarantee that everything will work as expected (best effort)

  • Kubuntu (20.04 and later)
  • Ubuntu Budgie (20.04 and later)
  • Ubuntu Mate (20.04 and later)
  • Xubuntu (20.04 and later)
  • Lubuntu (20.04 and later)  
  • Linux Mint (Experimental at this stage) 
  • Pop!_OS  22.04 (Best Effort)

Note :  If you are running any of these distributions and you want to help us improving the support on those, please download and test the script.  Do no hesitate to share your findings so we can try to incorporate them in the next release 

Step 1 โ€“ Download the script

To download the script, you have multiple options.   You can from a Terminal issue the following command 

wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.4.2.zip

You can also simply use your browser and click on the link to download the script :  

Step 2 โ€“ unzip the file 

After downloading the zip package containing the file, you will need to unzip it first. To unzip the package, you can use the Terminal console and issue the following command 

unzip xrdp-installer-1.4.2.zip 

You can also use the GUI and the Nautilus file manager to select the downloaded package, right-click on it and select the option Extract Here

Step 2 โ€“ Set Execute Right on the script

Download the xrdp-installer-1.4.2.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/xrdp-installer-1.4.2.sh

Note : Adjust the path where the xrdp-Installer-1.4.2.sh script to reflect your environment

Step 2 โ€“ Run as normal user 

The script needs to be run as a normal user.  The script will start running and will prompt you for password when sudo actions are initiated.  If you run the script as root or using sudo command, the Download folder does not exist for the root user and the script fails to run as expected.   To overcome this situation, the script also check which user is executing the script. If the script is run under sudo or root accounts, a warning message will be displayed and the script will not execute

Step 3 โ€“ Switches and parameters 

The xrdp-installer-1.4.2.sh script can be executed as is (with no parameters or switches). This will perform a standard (and basic) installation of xRDP.  No sound or custom xrdp login script will be made available.  However, remote desktop, drive redirection and clipboard redirection would be available with this installation mode.  

The xrdp-installer-1.4.2.sh script accept also some additional parameters that will help customize the xrdp installation and enable additional features.  The script provides the following parameters 

--help or -h          => will display a basic help menu
--sound or -s         => will enable sound redirection 
--loginscreen or -l   => will customize the xRDP login screen 
--remove or -r        => will remove the xrdp package 
--custom or -c        => will perform a custom installation (i.e. compiled from sources)

Step 4 โ€“ Perform xRDP installation using the script 

The following sections will provide some examples and scenario on how you can use the script….. 

Standard Installation – No Parameter

As mentioned above, you can decide to use the default xrdp package available in the Ubuntu repository and perform a basic installation which will provide you remote desktop capability and will also customize the remote sesssion.  The script will ensure that the same look n’ feel will be maintained when the user logs on locally or remotely. 

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 

 ./xrdp-installer-1.4.2.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โ€ฆ.

Standard Installation with Parameters

The script can be used to perform a standard installation and still passes some parameters to get the most of the xRDP packages and their features.  For all the Ubuntu versions, we could use the following combination of parameters 

./xrdp-installer-1.4.2.sh -s      (this would enable the sound redirection) 
./xrdp-installer-1.4.2.sh -l      (this would customize the xrdp login screen -see here)

Obviously, you can combine the switches (any order) to have more features enabled  

./xrdp-installer-1.4.2.sh -s -l      (this would enable the sound redirection and customize the xrdp login screen)

Important Notes

The script can be run multiple times on the same machine.  If you have run initially the script with no parameters but you decide afterward to enable additional features, the script can be re-executed and the additional features will be enabled.  

Custom Installation – Default Installation 

Custom installation script is really flexible. Custom installation means that the script will compile the xrdp package from the source binaries. The custom installation script always uses the latest xrdp package version available 

To perform a custom installation, you will need at minimum to pass one parameter.  The following command line shows you how to perform a custom installation  

./xrdp-installer-1.4.2.sh -c     (this would perform a custom installation but will not enabled adv features like sound redirection or custom login screen)

Custom Installation – Additional Options  

If a user wants to enable additional features, you will pass some additional parameters as shown in the following examples 

./xrdp-installer-1.4.2.sh -c -s     (this would perform a custom install and enable sound redirection)
./xrdp-installer-1.4.2.sh -c -l     (this would perform a custom install and customize xrdp login screen)
./xrdp-installer-1.4.2.sh -c -l -s  (this would perform a custom install, enable sound and customize login screen)

Important Notes

The script can be run multiple times on the same machine.  If you have run initially the script with no parameters but you decide afterward to enable additional features, the script can be re-executed and the additional features will be enabled.  

Remove Installation option

This version of the script also ship with the option to remove xRDP package.  The removal option should be only used  if you have uses this version of this script to perform the installation.  To remove the xrdp package, you would simply execute the following command  

./xrdp-installer-1.4.2.sh -r     (to remove the xrdp packages)

Step 5 โ€“ Test your configuration 

After the script has run and after the reboot/shutdown and start process, itโ€™s time to test and see if you can indeed perform a smooth remote connection to your Ubuntu machine.  Start your favorite rdp client and simply enter your credentials and start testing your installation.  If everything is ok, you will see a similar Desktop interface where Gnome Desktop is used and the Dock is visible. 

Limitations

Switch between standard and Custom install

This version of the script can be run multiple times on the same machine.  However, because of this new behavior, you cannot perform a standard installation and then decide to perform the custom installation.  Once you have selected your installation mode, you will have to stick to it.  This is kind of checked by the script.  

So, if you have performed a standard installation but afterwards you might want to use the custom installation option, the script will ignore the request.  If you want to move from standard install mode to custom mode (or vice versa), the correct process is 

  • remove xrdp (using the xrdp-installer-1.4.1.sh -r option) 
  • perform a new installation using your selected installation mode (standard or custom install mode) 

Final Notes

This is it for this post !   We are happy to provide an updated version of the xrdp-installer script that will improve user experience also when you perform the installation via an ssh session.  The fact that Pulseaudio is being replaced with PipeWire will affect the xrdp sound redirection and if xRDP team is not planning to update their code, we might also need to slowly remove the sound redirection switch from the script… We will see what the future brings…

Please if you have time or want to help us in creating the best xRDP installer script, download the script, test it and provide constructive feedback.  If you find a bug or an issue with the script, let us know as well so we can try to fix it.     

Till next time 

See ya  

 

34 thoughts on “xRDP โ€“ Easy install xRDP on Ubuntu 18.04,20.04,22.04 (Script Version 1.4.2)

  1. @Ethan,

    Thank you for visiting our blog and providing feedback… Would be really cool if you can provide some feedback on this version of the script… This one has been published quite quickly and we have not tested all the combination.
    We think that all in all it should be working ok in most cases..but if more people can test it…that would be really great

    Waiting for your feedback ๐Ÿ™‚
    Till next time
    See ya

  2. @Griffon we tested out all Operating Systems while installing over SSH. No failures. Good work.

  3. @Ethan,

    Thank you for your work and for providing feedback. We are happy to see that the script works in most case as it shoud..
    Thank you for take time to test all the scenario. REally appreciated

    Till next time
    See ya

  4. hey, i’m testing the script with sound support in ubuntu 22 and it’s not working :/

  5. Just wanted to thank you for making this, was battling xrdp and using this script enabled me to easily get a remote screen. Ubuntu 18.04.6 LTS w Microsoft Remote Desktop (mac).

  6. @Robinson,

    Thank you for visiting our blog and providing positive feedback… Happy to see that the script can be useful and that it can also work with Mac Os ๐Ÿ™‚

    Till next time
    See ya

  7. @Arlequin,
    Thank you for visiting our blog and providing feedback. within your remote session, can you run the command pulseaudio --start. is the sound then working ? can you tell us what do you see in the sound settings pages, do you have the xrdp sink object selected

    waiting for your feedback
    Till next time
    See ya

  8. Hey, just tried out the script for the first time (custom install with sound redirect and custom login screen), and after passing the login screen, all I see if a black screen. Is this something simple I’m missing? Thanks.

  9. @Chalk,

    Thank you for visiting our blog and providing some feedback. Black screen after xRDP login screen usually means that the same user account is already locally logged on into the ubuntu machine you are trying to access. Please ensure that no one is logged on the Ubuntu machine and then try to remote into it

    Hope this help
    Till next time
    see ya

  10. @Griffon
    @Arlequin

    I have the same problem as @Arlequin … on Ubuntu 22.04

    In the Ubuntu Settings/Sound the:

    Output Device: Dummy Output
    Input Device: is blank

    brian

  11. @Bmullan;

    Thank you for the feedback… OK This is strange.. We have tested again on a VM running Ubuntu 22.04 and after rebooting the vm, sound redirection was working as expected.
    So, some questions/checks first

    Q1. if you run the pulseaudio --start, do you see the xrdp sink as input device in the settings> sound page ?
    Q2. Have you rebooted the computer after xrdp installation
    Q3. Have you done that on a clean Computer or you have uninstalled and re-install the xrdp package using the xrdp script
    Q4. Can you check the /usr/lib/systemd/user/pulseaudio.service and /usr/lib/systemd/user/pulseaudio-x11.service files and ensure that the line starting with ExecStart look like
    ExecStart=/usr/bin/pulseaudio โ€“daemonize=no โ€“log-target=journal
    Q5. Can you check the /usr/lib/systemd/user/pulseaudio-x11.service files and ensure that the line starting with ExecStart look like
    ExecStart=/usr/bin/start-pulseaudio-x11
    ExecStop=/usr/bin/start-pulseaudio-x11 stop
    After changing that, and restarting the computer, is this working or still empty device symptoms ?

    Q5. anything special with your setup ? can you describe your test machine (ubuntu 22.04 or other flavors – virtual/physical machine)

    Waiting for your feedback.. in the mean time, we are checking again…. the script and the sound redirection

    Till next time
    See ya

  12. Same here. I noted that the entry for .service file was wrong. Changed that but still not working.
    Entering pulseaudio gives:
    [pulseaudio] pid.c: Daemon already running.
    [pulseaudio] main.c: pa_pid_file_create() failed.
    Running Kubuntu 22.04

  13. @Galea,

    Thank you for visiting our blog and providing some feedback.
    The message you see is totally normal and expected when remote connected to the ubuntu or kubuntu machine
    What you have to look at in the

    Sound settings

    (if exists on Kubuntu) and check that the input/output device is set to xrdp modules…

    We have published some more information about the issue (see this post xRDP โ€“ Explaining Sound Redirection issue in Ubuntu 22.04)
    Please note also that we are testing the script 1.4.2 and so far the sound redirection seems to be fixed… tested more than 10 times today

    Can you check that xrdp mouldes have been created correctly in /isr/lib/pulseaudioxxx/modules
    check for files starting with xrdp…if empty, no module installed…

    Is this a fresh installation of xRDP or some remove/re-install action ?

    Waiting for your feedback

    Hope this help
    Till next time
    See ya

  14. @Galea,

    After extensive testing…This is what we found out

    Option 1

    On kubuntu 22.04 not up to date, it seems that some library are needed in order to proceed…To fix your issue, try the following
    Step 1 – missing library installation
    sudo apt-get install meson
    sudo apt-get install libtdb-dev
    sudo apt-get install doxygen
    sudo apt-get install check

    re-run the script and it should go through….

    Option 2

    On an up to date Kubuntu 22.04 system, the script seems to work fine… the missing libraries get installed in a way or another….and the installation simply goes through

    However, your findings shows that we need to improve error detection when compiling xrdp sound modules….so we will tackle this in the next version

    If this is not fixing your issue, you will need to check the information displayed in your terminal, you should be able to detect the error

    Till next time
    See ya

  15. Hello Griffon,

    I get an idea.
    To add following four lines into startwm.sh(not .xsessionrc) shows message on remote black screen, if the user log in local desktop.
    =========

    if [ -n "$(loginctl session-status $(loginctl show-user $USER | sed -n -e "s/Sessions=//p") | grep Leader: | grep -E "gdm|sddm|lightdm")" ]; then
    printf "Now you log in local desktop.\nPlease logout before remote login." | xmessage -title Warning -buttons Exit -default Exit -center -fg DarkRed -bg grey60 -fn "-*-*-*-r-*--0-250-0-0-p-*-iso8859-1" -file -
    exit 1
    fi

    =========
    This might reduce black screen questions.
    It might be a bit weak point that sometimes it takes a couple of seconds to process first line.
    Though zenity renders much beautifully than xmessage, unfortunately, zenity is not installed on Kubuntu/Lubuntu as default.

  16. @Hiero,

    Man, This is really a great idea. This would indeed be really useful and will provide clear info to end user on what the problem could be (already logged in)
    Brillant…We will work on that and share the modified script with you. I still have to publish your previous comment and ideas about extending support to other Linux Distribution…This will be done in the coming days..

    Thank you for all your efforts
    Stay Tune
    Till next time
    See ya

  17. I’m running a recent install of Ubuntu mate ( 22.04 ).

    I get “xrdp-installer-1.4.2.sh: 152: Syntax error: “(” unexpected (expecting “fi”)” immediately after running.

  18. @Todd;
    Thank you for visiting our blog and sharing your findings… We would need to have more information about this error.
    which type of installation are you doing standard or custom ? are you adding sound or not ?
    Can you provide a screenshot of the error or a more explicit extract to see exactly where the error is located ?
    we have tried a standard install mode with -l switch and no problem has been detected so far…so we are waiting for your feedback
    Hope this help
    Till next time
    See ya

  19. @Griffon

    Wanted to let you know I got Pipewire working with xRDP (your v 1.4.2 script) and Ubuntu v22.04 LTS.

    I can use either Guacamole -or- xfreerdp2 as the client. Audio, video, file transfer all seem to work.

    Regarding the v 1.4.2 script… I had to make a few minor changes.

    It’s taken me weeks to get this to work๐Ÿ‘
    Brian

  20. @Brian,

    This is great news… xrdp-installer-1.4.3. will be published soon as well to tackle indeed minor issues regarding sound redirection. We are ensuring that all pre-reqs are indeed installed before performing the installation
    Version 1.4.4 should also be coming in a few weeks that would bring some little improvements too (based on feedback from Hiero ๐Ÿ™‚ )

    Now question for you : as far as we know, Ubuntu 22.04 is not shipping pipewire by default (Pop!0s 22.04 has indeed pipewire installed by default). So when you say got Ubuntu 22.04 working with Pipewire, we are a little bit puzzled. Have you installed (and replace pulseaudio) with PipeWire on Ubuntu 22.04 ? If not, how do you check if pipewire or pulseaudio is the default sound server ?
    Can you share your findings about the minor changes you have performed in the version 1.4.2 ? or would like to wait for version 1.4.3 and provide comments on that version
    Would you share your finding about xrdp and pipewire ? (on your own blog, github…You can choose how you share the findings :))

    Waiting for your feedback and Thank you for sharing all the findings with us

    Till next time
    See ya

  21. Hey, coming across an issue where another user on the machine cannot login. Can only the user who performed the xrp install be able to use it?
    It just says, “login failed for display 0”

    I did confirm the password is correct as well.

  22. @Chalk;

    Thank you for visiting our blog and sharing your experience and findings.
    xRDP software solution allows multiple users to remotely login… So userA can perform a rdp connection and userB can also make a rdp connection and both users can work on their remote session…This is the goal of the xRDP software. You have normally a limit of 50 concurrent users (if I remember correctly). It’s does not matter who did the install….

    You could check the logs to see what could be the problem in
    /var/log/xrdp.log
    /var/log/xrdp-sesman.ini

    I would try to connect with another user (and ensure that this user is not logged locally already). I would change the password for the problematic user as well and try again.. If a newly created account can connect (while you are connected to xRDP), a more drastic approach is to delete the problematic account and to try again

    pS. Script version 1.4.3 will be released soon… ๐Ÿ™‚

    Hope this help
    Till next time
    See ya

  23. @Griffon

    No dice. Only the one account can login, and newly created ones cannot. No one else is logged in or connected at the time, but here’s the relevant bit from the logs:

    [20220713-12:11:20] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:10.20.30.25 port 60442
    [20220713-12:11:20] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:192.168.64.20 port 3389)
    [20220713-12:11:20] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
    [20220713-12:11:20] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
    [20220713-12:11:20] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
    [20220713-12:11:20] [DEBUG] TLSv1.2 enabled
    [20220713-12:11:20] [DEBUG] TLSv1.1 enabled
    [20220713-12:11:20] [DEBUG] TLSv1 enabled
    [20220713-12:11:20] [DEBUG] Security layer: requested 11, selected 1
    [20220713-12:11:22] [INFO ] connected client computer name: ace-1355
    [20220713-12:11:22] [INFO ] TLS connection established from ::ffff:10.20.30.25 port 60442: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384
    [20220713-12:11:22] [DEBUG] xrdp_00004f93_wm_login_mode_event_00000001
    [20220713-12:11:22] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
    [20220713-12:11:22] [WARN ] local keymap file for 0x00000409 found and doesn’t match built in keymap, using local keymap file
    [20220713-12:11:22] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
    [20220713-12:11:23] [INFO ] xrdp_wm_log_msg: sesman connect ok
    [20220713-12:11:23] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait…
    [20220713-12:11:23] [DEBUG] return value from xrdp_mm_connect 0
    [20220713-12:11:25] [INFO ] xrdp_wm_log_msg: login failed for display 0
    [20220713-12:11:25] [DEBUG] xrdp_mm_module_cleanup
    [20220713-12:11:25] [DEBUG] Closed socket 20 (AF_INET6 ::1 port 37564)
    [20220713-12:11:30] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:192.168.64.20 port 3389)

  24. @Chalk;

    Ok, we would need more information about your setup
    Which Ubuntu version are you using and which Desktop interface are you using
    you have used script version 1.4.2 in which mode standard install or custom install ?
    log on on the system with an admin account (at the console), try to login with another user (different that you are using in the console) and then back in the console issue the following command
    sudo journalctl -S -2m

    and tell us if you see some xrdp specific errors

    We have tested on ubuntu 22.04 with the script 1.4.2 and we can have multiple user login in.. we are looking into this but we cannot reproduce your issue…

    Waiting for your feedback
    Till next time
    See ya

  25. @James fischer,
    Thank you for visiting our blog and providing feedback… nice to see that the script is working as expected.. If you have time, give a try to the latest version xrdp-installer-1.4.3 and Till next time
    See ya

  26. Thanks for this, it was the only option that worked. That being said, I am having an issue with my Logitech keyboard, the multimedia keys do not work correctly. For example if I press volume down I get ‘c’ instead and so on for all these keys. Gnome shows there is nothing mapped for the multimedia keys. If I boot directly to Ubuntu, the keys and keyboard work fine without any setup. Is there any way to solve this?

  27. This also works for KDE Neon, as it’s based on Ubuntu LTS. Just need to add the following to the script in the section that checks for the supported OS version:

    *”neon”*)
    /bin/echo -e “\e[1;32m |-| OS Version : $version\e[0m”
    /bin/echo -e “\e[1;32m |-| Desktop Version : $DesktopVer\e[0m”
    ;;

  28. @Greg,

    Thank you for visiting our blog and providing some feedback. Since we are not working with special keyboards, we have no idea how you could fix that… There are some commands and tricks that can be executed in order to customize the keyboard within xRDP… You can have a look at a example here (http://c-nergy.be/blog/?p=3858)

    Hope this help
    Till next time
    See ya

  29. Hi, I’ve tried this new version in order to solve my problem but failed. My problem is — after entering the credentials, I only see a green background page and nothing happens. And the log records are as followed.
    [20220830-18:55:06] [DEBUG] Security layer: requested 11, selected 0
    [20220830-18:55:06] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:116.57.77.202 port 3389)
    [20220830-18:55:07] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:116.57.115.107 port 63919
    [20220830-18:55:07] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:116.57.77.202 port 3389)
    [20220830-18:55:07] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
    [20220830-18:55:07] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
    [20220830-18:55:07] [ERROR] Cannot read certificate file /etc/xrdp/cert.pem: Permission denied
    [20220830-18:55:07] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
    [20220830-18:55:07] [ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied
    [20220830-18:55:07] [DEBUG] TLSv1.2 enabled
    [20220830-18:55:07] [DEBUG] TLSv1.1 enabled
    [20220830-18:55:07] [DEBUG] TLSv1 enabled
    [20220830-18:55:07] [DEBUG] Security layer: requested 0, selected 0
    [20220830-18:55:07] [INFO ] connected client computer name: DESKTOP-5TNJCPB
    [20220830-18:55:08] [INFO ] Non-TLS connection established from ::ffff:116.57.115.107 port 63919: encrypted with standard RDP security
    [20220830-18:55:08] [DEBUG] xrdp_00000c8d_wm_login_mode_event_00000001
    [20220830-18:55:08] [INFO ] Cannot find keymap file /etc/xrdp/km-00000804.ini
    [20220830-18:55:08] [INFO ] Cannot find keymap file /etc/xrdp/km-00000804.ini
    [20220830-18:55:08] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
    [20220830-18:55:08] [WARN ] local keymap file for 0x00000804 found and doesn’t match built in keymap, using local keymap file
    [20220830-18:55:13] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
    [20220830-18:55:14] [INFO ] xrdp_wm_log_msg: sesman connect ok
    [20220830-18:55:14] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait…
    [20220830-18:55:14] [DEBUG] return value from xrdp_mm_connect 0
    [20220830-18:55:14] [INFO ] xrdp_wm_log_msg: login successful for display 11
    [20220830-18:55:14] [DEBUG] xrdp_wm_log_msg: started connecting
    [20220830-18:55:18] [DEBUG] Closed socket 17 (AF_UNIX)

  30. @Sarah,

    Thank you for visiting our blog and providing some feedback.

    There is a new version of the script (1.4.3) that has been published recently. We have received great feedback on this version 1.4.3 and you should give it a try with this one… If you want to try this version, remove the xrdp installed using the script (using the -r switch) and try to run again the version 1.4.3

    My first guest would be that the xorgxrdp package is not installed or installation was not done correctly. So ensure that xorgxrdp package is indeed installed…. dpkg -l | grep xorgxrdp
    In the xRDP login screen, we are assuming that you have selected the xorg option in the first drop down list box…

    Can you provide more details about your config
    Which Ubuntu version ?

    Standard Install o Custom install mode when you have run the script ?
    xrdp version ( xrdp -v)
    logs for xrdp and xrdp-sesman.log (/var/log/xrdp and /var/log/xrdp-sesman.log)

    Waiting for you feedback
    Till next time
    See ya

  31. I have problem utilizing nvidia GPU using XRDP installed with the script.
    Can you please look into this? Thank yhou.

  32. @Cheng,

    Thank you for visiting our blog and providing some feedback. At the moment, we are not able to look into specific scenario with NVIDIA or AMD GPU in conjunction with XRDP. At a later stage, we might start looking into this one but this year we are really overloaded by projects and work… so, it might not be happening this year

    Till next time
    See ya

Leave a Reply