Hello World,
In our previous post, we have seen how we could include Drives Redirection support while using xRDP software. This was one of the most wanted feature that was requested by xRDP users. These features were already supported since a long time in xRDP as long as you were using the x11RDP software as backend infrastructure.
In our previous post, we have demonstrated how we could enable drives redirection while using the standard x11vnc software in conjunction with xRDP. This combination (x11vnc and xrdp) does not seem to provide clipboard support.
To have the drives redirection and clipboard feature working, you need to have the backend infrastructure to support the extensions used by the xRDP software to provide such capabilities. In the past, the only option was to use the x11RDP solution. However, the team behind the xrdp software solution has come with a new rdp driver module that support drives redirection and clipboard support. Using this module, there is no need to compile or recompile the X11R6 or the X11RDP binaries (for more information see this link)
To have drives redirection and clipboard support available within the xrdp session, there is a need to perform a custom installation of xRDP. For some time now, we have provided a scripted solution that really simplifies the custom installation of the xRDP software solution
The script provided below will compile all the necessary modules including the new rdp driver module necessary to enable drives redirection and clipboard support. The script will configure your system to use the new rdp driver module as default when performing your xRDP connection. However, the script also provide backward compatibility meaning that you will be able to connect to your xRDP session via the standard Xvnc session manager as well.
Let’s check this new version of our xrdp-install.sh script and check what’s new…..
The Custom Installation Script (version 1.7)
Assumptions
Before running this script, be aware of the following assumptions
- We have tested the script on Ubuntu 16.04 Beta
- We are installing Mate-Desktop as alternative Desktop. If you want to use another, you will have to update the script provided hereafter
- We have performed the test on a Virtual Machine running on Hyper-V Server and Virtualbox
- Your virtual machine is connected to Internet (so you can download the necessary packages for the installation to occur). If you are not connected to internet, you can still manually download the xrdp package and modify the install-xrdp-1.7.sh script accordingly
Previous Script versions
Version 1.7 includes the necessary logic to perform a custom xRDP installation which will include Drives Redirection and Clipboard options while using the new Session Manager option. This version of the script provides Drives Redirection (only) if you decide to choose the standard x11vnc session manager option in the xRDP login page.
Version 1.6 includes the necessary logic to perform a custom xRDP installation which will include Drives Redirection while using the standard x11vnc session manager.
Version 1.5 included the possibility to configure automatically the keyboard layout to be used during xrdp session (experimental).
The script version 1.7
The script can be downloaded. A link has been made available at the end of this post
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.
Disclaimer : As usual, use this at your own risk !!
################################################################ # Script_Name : xrdp-install.sh # Description : Perform an automated custom installation of xrdp # on ubuntu 15.04 or later when systemd is used # Date : April 2016 # written by : Griffon # Web Site :http://www.c-nergy.be - http://www.c-nergy.be/blog # Version : 1.7 # # Disclaimer : Script provided AS IS. Use it at your own risk.... # ################################################################## ################################################################## #Step 1 - Install prereqs for compilation ################################################################## echo "Installing prereqs for compiling xrdp..." echo "----------------------------------------" sudo apt-get -y install libx11-dev libxfixes-dev libssl-dev libpam0g-dev libtool libjpeg-dev flex bison gettext autoconf libxml-parser-perl libfuse-dev xsltproc libxrandr-dev python-libxml2 nasm xserver-xorg-dev fuse #Install git echo "Installing git software..." sudo apt-get -y install git ################################################################## #Step 2 - Install the desktop of you choice ################################################################## #Here, we are installing Mate Desktop environment echo "Installing alternate desktop to be used with xrdp..." echo "----------------------------------------------------" sudo apt-get -y update sudo apt-get -y install mate-core mate-desktop-environment mate-notification-daemon --force-yes echo "Desktop Install Done" ################################################################## #Step 3 - Obtain xrdp packages and xorgxrdp packages ################################################################## #-Go to your Download folder echo "Moving to the ~/Download folders..." echo "-----------------------------------" cd ~/Downloads #Download the xrdp latest files echo "Ready to start the download of xrdp package" echo "-------------------------------------------" git clone https://github.com/neutrinolabs/xrdp.git #move to xorgxrdp folder and download needed packages cd xrdp/ git clone https://github.com/neutrinolabs/xorgxrdp.git ################################################################## #Step 4 - compiling xorgxrdp packages ################################################################## cd xorgxrdp sudo ./bootstrap sudo ./configure sudo make sudo make install cd .. ################################################################## #Step 5 - Fallback scenario - using x11vnc sesman ################################################################## #Install the X11VNC echo "Installing X11VNC..." echo "----------------------------------------" sudo apt-get -y install x11vnc #Add/Remove Ubuntu xrdp packages (used to create startup service) echo "Add/Remove xrdp packages..." echo "---------------------------" sudo apt-get -y install xrdp sudo apt-get -y remove xrdp ################################################################## #Step 6 - compiling xrdp packages ################################################################## #Compile and make xrdp echo "Installing and compiling xrdp..." echo "--------------------------------" # needed because libtool not found in Ubuntu 15.04 and later # Need to use libtoolize sudo sed -i.bak 's/which libtool/which libtoolize/g' bootstrap sudo ./bootstrap sudo ./configure --enable-fuse --enable-jpeg sudo make sudo make install #Final Post Setup configuration echo "---------------------------" echo "Post Setup Configuration..." echo "---------------------------" echo "Set Default xVnc-Sesman" echo "-----------------------" sudo sed -i.bak '/\[xrdp1\]/i [xrdp0] \nname=SessionManager-Griffon \nlib=libxup.so \nusername=ask \npassword=ask \nip=127.0.0.1 \nport=-1 \nxserverbpp=24 \ncode=20 \n' /etc/xrdp/xrdp.ini echo "Symbolic links for xrdp" echo "-----------------------" sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.backup sudo ln -s /etc/X11/Xsession /etc/xrdp/startwm.sh sudo mkdir /usr/share/doc/xrdp sudo cp /etc/xrdp/rsakeys.ini /usr/share/doc/xrdp/rsakeys.ini ## Needed in order to have systemd working properly with xrdp echo "-----------------------" echo "Modify xrdp.service " echo "-----------------------" #Comment the EnvironmentFile - Ubuntu does not have sysconfig folder sudo sed -i.bak 's/EnvironmentFile/#EnvironmentFile/g' /lib/systemd/system/xrdp.service #Replace /sbin/xrdp with /sbin/local/xrdp as this is the correct location sudo sed -i.bak 's/sbin\/xrdp/local\/sbin\/xrdp/g' /lib/systemd/system/xrdp.service echo "-----------------------" echo "Modify xrdp-sesman.service " echo "-----------------------" #Comment the EnvironmentFile - Ubuntu does not have sysconfig folder sudo sed -i.bak 's/EnvironmentFile/#EnvironmentFile/g' /lib/systemd/system/xrdp-sesman.service #Replace /sbin/xrdp with /sbin/local/xrdp as this is the correct location sudo sed -i.bak 's/sbin\/xrdp/local\/sbin\/xrdp/g' /lib/systemd/system/xrdp-sesman.service #Issue systemctl command to reflect change and enable the service sudo systemctl daemon-reload sudo systemctl enable xrdp.service # Set keyboard layout in xrdp sessions cd /etc/xrdp test=$(setxkbmap -query | awk -F":" '/layout/ {print $2}') echo "your current keyboard layout is.." $test setxkbmap -layout $test sudo cp /etc/xrdp/km-0409.ini /etc/xrdp/km-0409.ini.bak sudo xrdp-genkeymap km-0409.ini ## Try configuring multiple users system sudo sed -i.bak '/set -e/a mate-session' /etc/xrdp/startwm.sh echo "Restart the Computer" echo "----------------------------" sudo shutdown -r now
If you have a quick look at the script, you will see that there is a step 4 header. As explained earlier, to include drives redirection and clipboard support, we need to use the new rdp driver module. The step 4 shows you how to compile and install this new rdp module
How to use this Script (version 1.7)
We will not repeat what has been already explained in our previous posts. We provide here a quick explanation on how to use the script and run it.
You first need to grab a copy of this script. To avoid formatting issues, we have made the script available for download. The download link is available at the end of this post.
Then you have to mark the script as executable. You can do this using the command line by issuing the following command chmod +x ~/Downloads/xrdp-install-1-7.sh (adapt the path to reflect path location)
To execute the script, simply open your terminal console, navigate to the folder where the file is located and issue the following command
sudo ./xrdp-install-1-7.sh
As mentioned before, we assume that you have internet connection and you will be able to download all the necessary packages needed to perform this configuration.
Note : The script will download the necessary files under the ~/Download folders.
Wait for completion of the script. The machine will reboot automatically when done. The operation can take up to 30 minutes to complete
Test your xRDP Connection
Grab the ip address or name of the linux machine, go to your windows machine and start your remote desktop client.
Click on picture for better resolution
If everything has been running as expected, you will see the xrdp login screen displayed. In the drop down box, the option SessionManager-Griffon should be selected. Do not change this option. Provide your user account and password and proceed.
Click on picture for better resolution
When the login process has been completed, you will access your MATE Desktop through the rdp client. Mate-desktop has been customized and we are using the mutiny feature to have the remote session looking similar to the console session where unity is used (to see how to use mutiny, see this post).
Click on picture for better resolution
Note :
The script has configured your system to use by default the SessionManager-Griffon session manager. Note that if there is a need, you can also decide to perform a remote desktop connection to your Ubuntu machine and select from the xRDP login dropdown box the Xvnc-Sesman option. You should be able to connect using either default option or the Xvnc-Sesman option
Test your Drives redirection and Clipboard support
The first time you connect to your remote Ubuntu computer via xRDP, the clipboard feature should be working immediately. Clipboard feature allow you to copy/paste files between your Windows machine and your Linux remote session. The clipboard function does not seem to support drag and drop.
Based on your remote desktop client configuration settings, it’s possible that you will see the thin_clients icon on your Ubuntu desktop (while connected through xRDP) but that no drives have been redirected to your system.
Click on picture for better resolution
To redirect your drives to your xrdp remote session, you have to ensure that the only option selected in the local resources tab are the Clipboard option and the drive option. Check the screenshot below and ensure that you have the same settings.
Click on picture for better resolution
Click on picture for better resolution
When these settings have been set accordingly, you should see the thin client folder populated with redirected drives coming from your Windows machine.
Minor Issues & fixes
Ubuntu Theme not set when you login locally to Ubuntu
Because we have installed the mate-desktop (via the script) on the Ubuntu system, when you login back to the Ubuntu machine interactively (not via the xrdp software), you will notice that the look’n feel of your system has changed a little bit. You might end up with a system that look like the following
Click on picture for better resolution
To fix it, simply set back the theme to the default one (i.e. Ambiance) and you should be back to normal.
Click on picture for better resolution
After a few seconds, you should see the familiar look n feel of your Ubuntu desktop
Click on picture for better resolution
Keyboard layout in Session Manager
There is another small issue if you are using the session manager option in the xrdp login box. During the login box, the keyboard layout you have set will be configured correctly. However, when working in your remote desktop session, the keyboard layout might be different to the one you have configured on your Ubuntu system.
To fix that, you will simply need to add the keyboard layout you want to use during your remote desktop session and you will be able to switch between keyboard layout. This operation can be performed inside the remote desktop session and changes will not get lost if you reboot your system.
Download Script
For your convenience, we are providing a downloadable version of the script. You can find it here
Final Notes
This conclude our post related to xRDP, rdp driver module and the possibility to use drive redirections and clibpoard feature in a mixed infrastructure. As these features are really requested by a lot of users, we hope that the scripts and information provided through this blog can help them
I hope you enjoyed these posts
Till next time
See ya
Many thanks for your publications.
First of all apologize for my English by, use Google automatic translation.
Xrdp can not get the system discussed in this publication I work. I have reviewed and always get
the same mistake.
When I use the sesman Xvnc connection:
VNC Error – problem connecting
some problem
With other single connections without text blue screen appears and the rao is disconnected.
My environment is virtualization with Proxmox and new Ubuntu 16.04 and the script proposed in this article.
Certainly I think there is an error near the end of scrip:
#Issue Systemctl Reflect command to change and enable the service
sudo systemctl daemeon-reload (error)
sudo systemctl daemon-reload (ok)
Thank You
Hello José,
you are correct, we have done a typo in the script… we will update the script and you should be able to access your desktop using sesman-Vnc option
As specified in the post, to have drive redirection and clipboard, you should use the Session Manager option
Thank for the feedback
Till next time
See ya
When I try to connect via RDP after running this script, I get a light blue screen with no UI elements after entering my username and password. This is UbuntuMate 16.04, default install on Windows 10 Hyper-V.
Hello there,
final release of ubuntu 16.04 has changed some minor stuff…We might need to review and updated our script. Can you check that you have selected the proper option in the xrdp login box. Can you check the content of your /etc/xrdp/startwm.sh and check that after the set -e line, you have the following line mate-session ?
Give us some days to have a look at it as we are overloaded with work….
Till next time
See ya
Here’s the option I select at login:
http://i.imgur.com/onGHXZ9.png
Here’s the top of my /etc/xrdp/startwm.sh file:
http://i.imgur.com/pEwMLTT.png
For what its worth none of the options seem to work in the login box and when I tried to uninstall this and install the default xrdp package back it broke xrdp entirely (not sure which config step lingers). Default xrdp had been working out of the box on 16.04 final, but I was hoping to add the copy/paste functionality at long last.
Hello Lotrdev,
We have demonstrated that the redirection is working (check this link http://c-nergy.be/blog/?p=9229)
On the other hand, a lot of people report indeed that ubuntu 16.04 seems to have introduced some changes that make xrdp not useable….
We are looking into it but will not be able to provide an answer before 2-3 days as we are busy with heavy projects.
In the meantime, can you provide us the content of the ~/.xsession-errors file so we can start investigating the issue and try to provide a valid workaround (if needed)
Waiting for your feedback
See ya
Thanks for all the help, I do appreciate it and I completely understand your busy schedule. I’m just glad that in the near future I’ll finally be able to get copy/paste working. It’s going to make my life so much better.
Here’s the output from my ~/.xsession-errors file. One thing to note is that I deleted the file and created a blank one, then tried to log in via xrdp, and no errors were added to the file. After a reboot the file looks as follows:
openConnection: connect: No such file or directory
cannot connect to brltty at :0
mate-session[1472]: WARNING: Unable to find provider ” of required component ‘dock’
grep: /home/{username}/.xinputrc: No such file or directory
** (process:1654): WARNING **: Warning: show_on_monitor_number is no longer a valid config option for the current version of Tilda.
** (process:1654): WARNING **: Warning: scroll_background is no longer a valid config option for the current version of Tilda.
** (process:1654): WARNING **: Warning: use_image is no longer a valid config option for the current version of Tilda.
(nm-applet:1655): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion ‘window->update_and_descendants_freeze_count > 0’ failed
/usr/lib/mate-optimus/mate-optimus-applet:7: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version(‘Gtk’, ‘3.0’) before import to ensure that the right version gets loaded.
from gi.repository import Gtk, Gdk
(nm-applet:1655): GLib-CRITICAL **: g_hash_table_remove_all: assertion ‘hash_table != NULL’ failed
(nm-applet:1655): nm-applet-CRITICAL **: nma_icons_free: assertion ‘NM_IS_APPLET (applet)’ failed
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:50: RuntimeWarning: You have imported the Gtk 2.0 module. Because Gtk 2.0 was not designed for use with introspection some of the interfaces and API will fail. As such this is not supported by the pygobject development team and we encourage you to port your app to Gtk 3 or greater. PyGTK is the recomended python module to use with Gtk 2.0
warnings.warn(warn_msg, RuntimeWarning)
sys:1: PyGIWarning: Caja was imported without specifying a version first. Use gi.require_version(‘Caja’, ‘2.0’) before import to ensure that the right version gets loaded.
** Message: Initializing gksu extension…
(blueman-applet:1688): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion ‘window->update_and_descendants_freeze_count > 0’ failed
/usr/lib/python3/dist-packages/blueman/plugins/applet/AppIndicator.py:8: PyGIWarning: AppIndicator3 was imported without specifying a version first. Use gi.require_version(‘AppIndicator3’, ‘0.1’) before import to ensure that the right version gets loaded.
from gi.repository import AppIndicator3 as girAppIndicator
ERROR:dbus.proxies:Introspect error on org.bluez:/org/bluez: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.TimedOut: Failed to activate service ‘org.bluez’: timed out
ERROR:dbus.proxies:Introspect error on org.bluez:/: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.TimedOut: Failed to activate service ‘org.bluez’: timed out
ERROR:dbus.proxies:Introspect error on org.bluez:/: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.TimedOut: Failed to activate service ‘org.bluez’: timed out
Hello Lotrdev,
we have tested and re-test the procedure and the script provided and this is working as expected on ubuntu 16.04 final release
are you using the download link and run the script or do you copy/paste the text from the blog (which can cause formatting issues) ?
are you connected to internet when running the script. If you are not connected, you need to download the xrdp package but also the xorgxrdp
the xsession-errors shows more issues with mate-desktop than xrdp issues ….
Can you check other logs such as /var/logs/xrdp
Could try again the install on a virtual machine and check again
Waiting for feedback
till next time
See ya
I’ve used your guide and script for previous Ubuntu versions and rarely had have any issues. But with 16.04 I can’t make it fly. I have a VM running”minimal Ubuntu server install” on a ESXi server, with only the bare necessities installed. Do I need to have a full desktop installed first?
@Christian,
Ubuntu 16.04 has broken the standard xrdp install approach…We have already provided a quick workaround
To answer your question, general steps are still valid
1. install xrdp
2. install alternate desktop
3. tell your system to use your alternate desktop not via .xsession files but via /etc/xrdp/startwm.sh file
Which kind of problems do you have ? screenshots possible ? Check you xrdp log files ans .xsession-errors files
Hope this help
Till next time
See ya
@Griffon
I first ran the script as it is but that didn’t work, so I reverted back to my “pre-script snapshot” and ran each step manually. Had to install pkg-config (I think, my memory is a bit weak…).In the end I got errors to everything related to xrdp-genkeymap: “xrdp-genkeymap: unable to open display “.
When I try to RDP to the machine I get a login in window, I type in my username/password and then it just a bluish blank screen.
I’ll try again.
After login mstsc screen is blank, then after timeout:
http://imgur.com/g7U28Sj
xrdp.log:
http://pastebin.com/Kp8tEYkE
xrdp-sesman.log
http://pastebin.com/TJ2C5YNe
Hello Christian,
A first guess based on info you provided me : it’s the rdp client that drops the connection….
If you have time and willing to investigate a little bit more the issue, we can try to perform some more debugging
are you using any certificates while connecting through xrdp ?
which kind of rdp client are you using ? microsoft rdp, xfreerdp,remminna…(which version ?)
if you have another VM available, could you try to install from scratch again ubuntu 16.04 and run the script and see if you still have the issue ? All the machines involved in this test should not be joined to any Active Directory domains and only out-of-the-box group policies should be available if you are using windows
To have even more output, can you try to start the xrdp with the -ns parameter
Open two terminal windows
in one, type sudo xrdp -ns
in the other, type sudo xrdp-sesman -ns
make your connection and you should see in the terminals bunch of info
Check if something useful is displayed
Waiting for your results and feedback
Ps : we retested the script 3 times and it worked for us…..
Till next time
See ya
Hello Griffon,
I made a 16.04 Desktop installation, then ran the script, et voilà, it works! 🙂
Must be something missing when done from a Server install. I know I got it to work from a bare 15.10 Server install with the xrdp that’s in the repos.
However, clipboard is not working…
@Chris,
Hello,
good to hear that the script is working at least for the desktop version…:-)
the clipboard function should be working but might not working with all types of files….We will check this with the latest Ubuntu 16.04 desktop version with all updates and see if there is indeed a problem.
We will try on a Server Edition and see if we can come up with something
I want to thank you for your time and feedback provided… We will try to use all of this to update/improve information about the xrdp and ubuntu 16.04
Thank man
Till next time
see ya
I had originally been using the UbuntuMate flavor of Ubuntu, but since this script installs the mate environment I thought maybe that was the issue. I installed a clean Ubuntu 16.04 desktop version and still no dice. I’ll get you more logs, hopefully this afternoon. It’s very curious that its working in some environments and not in others.
For what its worth I’m using Windows 10 RDP, and Hyper-V for my VM.
@lotrdev,
this is really strange. If you have a clean ubuntu install the xrdp feature should be working without any issues. in the xrdp login box, ensure that you select either the SessionManger or the xvnc-sesman session. If you simply need the xrdp feature,have a look at this post http://c-nergy.be/blog/?p=8952
If you need to have disk redirection, you have to try again.
We have done 10 installations lately using the script -> all working fine -> so I do not understand where your problem come from
Waiting for any other feedback if any
Till next time
See ya
Hello, good job!! (Sorry for my bad English)
My problem is:
Ubuntu is installed in Spanish and the session with RDP Client is loaded in English.
The settings of languages is fine… (Set to Spanish)
What is my problem ?
Thanks
Hello MaT,
We have tested that part and indeed there seems to be a small issue with the keyboard. We will need to update the post to add our findings.
So if you are using the Session Manager session (you have selected the first option in the xrdp login box), you will need to configure your language settings and keyboard settings within the remote session.
With the Session Manager sesman option, it’s possible to configure the keyboard layout within your session and you should be then good to go
Till next time
See ya
Thanks for the answer!
From the interface Mate I try to change the language (No keyboard layout) and changes are not applied.
Moreover, in this version of XRPD (neutrinolabs) is not yet resolved the issue of audio to client. This is true?
🙂
Hello MaT,
Sorry for the late answer… Can you try this. In your remote desktop session, open the terminal windows and issue the command setxkbmap -layout es
Then try to type something in gedit or pluma and tell us if this change the keyboard layout.
If this is the case, this means that you can change the keyboard layout inside the remote session
Hope this help
Till next time
This is a great step forward – I hope it will get the default someday.
I have one question please – is possible to fix also the sound? The closest I found is :
https://github.com/neutrinolabs/xrdp/issues/321
Looks like is related also to pulse audio and a compile option for xrdp (something like –enable-simplesound but will not get recognized).
Hello Radu,
Some people succeeded in redirecting sound in xrdp. In the past, we had some success but it a while since we have tried this feature. This might be our next challenge :- ).. publishing a nice post about xrdp and sound redirection. At the moment, quite busy with my projects but as soon as we have time, we will have a look
Till next time
See ya
I experimented it under ubuntu 16.04 but some how drives redirection does not work. The clipborad feature worked well. The thinclient_drives is empty then ensured that the only option selected in the local resources tab are the Clipboard option and the drive option.
@Lauri,
Can you try to restart your machine and give it a try again…. (some times the xrdp service get stuck and thin_client folder can be empty)
Ensure that the remote desktop client is configured with the necessary settings ( I know you already mention that this was done)
Which Session Manager are you using ? The X11VNC or the Session Manager Session. If you use the Sesman-XVNC do you have the same issue ?
Please provide feedback if one of these fixed your issues so we can update the post and Improve xrdp support
Hope this help
Till next time
See ya
Ubuntu server 16.04
Downloaded latest script from this page and i get this
sudo ./install-xrdp-1-7.sh
Installing prereqs for compiling xrdp…
—————————————-
Reading package lists… Done
Building dependency tree
Reading state information… Done
autoconf is already the newest version (2.69-9).
bison is already the newest version (2:3.0.4.dfsg-1).
flex is already the newest version (2.6.0-11).
fuse is already the newest version (2.9.4-1ubuntu3).
gettext is already the newest version (0.19.7-2ubuntu3).
libfuse-dev is already the newest version (2.9.4-1ubuntu3).
libjpeg-dev is already the newest version (8c-2ubuntu8).
libpam0g-dev is already the newest version (1.1.8-3.2ubuntu2).
libtool is already the newest version (2.4.6-0.1).
libx11-dev is already the newest version (2:1.6.3-1ubuntu2).
libxfixes-dev is already the newest version (1:5.0.1-2).
libxml-parser-perl is already the newest version (2.44-1build1).
libxrandr-dev is already the newest version (2:1.5.0-1).
python-libxml2 is already the newest version (2.9.3+dfsg1-1).
xserver-xorg-dev is already the newest version (2:1.18.3-1ubuntu2).
xsltproc is already the newest version (1.1.28-2.1).
nasm is already the newest version (2.11.08-1).
libssl-dev is already the newest version (1.0.2g-1ubuntu4.1).
0 upgraded, 0 newly installed, 0 to remove and 39 not upgraded.
Installing git software…
Reading package lists… Done
Building dependency tree
Reading state information… Done
git is already the newest version (1:2.7.4-0ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 39 not upgraded.
Installing alternate desktop to be used with xrdp…
—————————————————-
Hit:1 http://se.archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]
Hit:3 http://se.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:4 http://se.archive.ubuntu.com/ubuntu xenial-backports InRelease
Fetched 94.5 kB in 0s (230 kB/s)
Reading package lists… Done
Reading package lists… Done
Building dependency tree
Reading state information… Done
mate-core is already the newest version (1.12.0+1).
mate-desktop-environment is already the newest version (1.12.0+1).
mate-notification-daemon is already the newest version (1.12.1-1).
0 upgraded, 0 newly installed, 0 to remove and 39 not upgraded.
Desktop Install Done
Moving to the ~/Download folders…
———————————–
Ready to start the download of xrdp package
——————————————-
Cloning into ‘xrdp’…
remote: Counting objects: 16795, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 16795 (delta 3), reused 0 (delta 0), pack-reused 16785
Receiving objects: 100% (16795/16795), 11.30 MiB | 563.00 KiB/s, done.
Resolving deltas: 100% (10386/10386), done.
Checking connectivity… done.
Cloning into ‘xorgxrdp’…
remote: Counting objects: 596, done.
remote: Total 596 (delta 0), reused 0 (delta 0), pack-reused 596
Receiving objects: 100% (596/596), 183.55 KiB | 0 bytes/s, done.
Resolving deltas: 100% (457/457), done.
Checking connectivity… done.
/usr/bin/autoconf
/usr/bin/automake
/usr/bin/libtoolize
error, install pkg-config
sudo: ./configure: command not found
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target ‘install’. Stop.
Installing X11VNC…
—————————————-
Reading package lists… Done
Building dependency tree
Reading state information… Done
x11vnc is already the newest version (0.9.13-1.2build1).
0 upgraded, 0 newly installed, 0 to remove and 39 not upgraded.
Add/Remove xrdp packages…
—————————
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
xrdp
0 upgraded, 1 newly installed, 0 to remove and 39 not upgraded.
Need to get 0 B/215 kB of archives.
After this operation, 1,620 kB of additional disk space will be used.
Selecting previously unselected package xrdp.
(Reading database … 198318 files and directories currently installed.)
Preparing to unpack …/xrdp_0.6.1-2_amd64.deb …
Unpacking xrdp (0.6.1-2) …
Processing triggers for ureadahead (0.100.0-19) …
Processing triggers for systemd (229-4ubuntu4) …
Processing triggers for man-db (2.7.5-1) …
Setting up xrdp (0.6.1-2) …
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages will be REMOVED:
xrdp
0 upgraded, 0 newly installed, 1 to remove and 39 not upgraded.
After this operation, 1,620 kB disk space will be freed.
(Reading database … 198369 files and directories currently installed.)
Removing xrdp (0.6.1-2) …
Processing triggers for man-db (2.7.5-1) …
Installing and compiling xrdp…
——————————–
/usr/bin/autoconf
/usr/bin/automake
/usr/bin/libtoolize
error, install pkg-config
sudo: ./configure: command not found
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target ‘install’. Stop.
—————————
Post Setup Configuration…
—————————
Set Default xVnc-Sesman
———————–
Symbolic links for xrdp
———————–
———————–
Modify xrdp.service
———————–
sed: can’t read /lib/systemd/system/xrdp.service: No such file or directory
sed: can’t read /lib/systemd/system/xrdp.service: No such file or directory
———————–
Modify xrdp-sesman.service
———————–
sed: can’t read /lib/systemd/system/xrdp-sesman.service: No such file or directory
sed: can’t read /lib/systemd/system/xrdp-sesman.service: No such file or directory
xrdp.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install enable xrdp
Cannot open display “default display”
your current keyboard layout is..
No keyboard layout specified on the command line
Trailing -layout option ignored
Cannot open display “default display”
sudo: xrdp-genkeymap: command not found
Restart the Computer
—————————-
@Martin,
Ok, we see that you are trying to install xrdp on the server edtion
have you checked this post (see http://c-nergy.be/blog/?p=9433 ) ? Is this solving your issue ?
In your log, we can see that the install-pkg is missing which leads to error
Give it a try and provide feedback
Till next time
See ya
Clipboard not work if copy text in cyrillic symbols!!! How to correct it?
Hello Mikhail,
I have no clue on how to fix this if the error is related to cyrillic symbols
Till next time
See ya
i see just a blue screen once i rdp into a desktop vm of ubuntu and the script finishes in vmware workstation
Hi!
For me, the clipboard is not working, if I copy any characters with “accents”. If the copied text contains accents, nothing is copied from xrdp->windows or windows->xrdp. Within xrdp, everything is working fine.
Do you have any Idea, why that happens?
OS is Debian 8, keyboard-layout is “german”.
Thank you
@Phil,
Hello phil, at the moment I do not have really an idea of what can be blocking the clipboard
questions : which session manager are you using Xvnc-manager or the Session-Manager ?
If you use clipboard for text with no accents, is it working ?
Have you checked that the remote desktop client is configured correcty ?
Have you reboot at least once your Ubuntu machine and possibly your windows machine (to clear up the clipboard)
If we have time, we will try to investigate a little bit further
Hope this help
Till next time
See ya
Hi Griffon,
I’m facing the exact same problem as MaT raised at May 10, 2016.
That is, my user interface language (not keyboard layout) is set Traditional Chinese,
but somehow in my remote session all the interface becomes English.
here is what i get in remote session:
xxxx@xxxx-ubuntu:~$ locale
LANG=
LANGUAGE=
LC_CTYPE=”POSIX”
LC_NUMERIC=”POSIX”
LC_TIME=”POSIX”
LC_COLLATE=”POSIX”
LC_MONETARY=”POSIX”
LC_MESSAGES=”POSIX”
LC_PAPER=”POSIX”
LC_NAME=”POSIX”
LC_ADDRESS=”POSIX”
LC_TELEPHONE=”POSIX”
LC_MEASUREMENT=”POSIX”
LC_IDENTIFICATION=”POSIX”
LC_ALL=
Thanks.
Dean
Hi Griffon,
fix to my problem in last post is as below,
turn out the following 4 lines in the original “startwm.sh” are the solution to my problem
—–
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
—–
In the script you link /etc/X11/Xsession to /etc/xrdp/startwm.sh, and it results that the above line would not be execute, so i modified your script as follows, and it works fine.
— sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.backup
+++ #sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.backup
— sudo ln -s /etc/X11/Xsession /etc/xrdp/startwm.sh
— #sudo ln -s /etc/X11/Xsession /etc/xrdp/startwm.sh
— sudo sed -i.bak ‘/set -e/a mate-session’ /etc/xrdp/startwm.sh
+++ sudo sed -i.bak ‘/set -e/a mate-session’ /etc/X11/Xsession
@Dean,
Good spot Dean, Indeed, when we link the Xsession file, indeed, the Export language section is not executed.
We will try to update the script to take that into account
Good job 🙂
Thank youf for Sharing this and for positive feedback
Till next time
See ya
Hi Griffon,
thank You for this script!
On my ubuntu (16.04) copy & paste work perfectly.
But log off does not work. I get an empty background and window keeps open.
Does anyone have the same problem?
@Marty,
It seems indeed that there is the problem with the logout functionality….
You can either close the remote desktop session by clicking the cross in the top blue bar of the remote desktop session (This will disconnect you but not really log you off
or you can try the following if you are sure you have saved all your work
From a terminal session, use pkill -KILLL -u
Hope this help
Till next time
See ya
Hello Griffon,
pkill -KILLL -u does not work.
It seems that the only way is clicking the cross.
Thanks.
Marty
Hi,
I can confirm the problems described by Marty and Phil (scripted XRDP installation with clipboard support).
My client machine: Windows 10 (physical machine)
My server machine: Ubuntu 16.04.1 desktop 64-bit (VM under vSphere 5.5)
Location (both machines): Slovenia (non-English characters C,S,Z,c,s,z with caron, i.e. inverted circumflex (Č,Š,Ž,č,š,ž))
Copy/paste between the RDP Window (gedit) and Windows (Notepad) works fine with text having only English characters, but does nothing when Slovenian characters with carons are included. (One strange effect of lesser importance is that, in Mate Terminal, Slovenian characters are displayed as (replaced by) question marks (‘?’); but they are displayed correctly in other applications i.e. gedit, and LibreOffice.)
Logout fails (effectively freezes RDP access – which is a fatal drawback for normal use):
During logout, the RDP window is cleaned, only the background remains (empty desktop). Then, instead of closing this window (empty desktop), the original Mate background (greenish) is replaced by the standard Ubuntu background (reddish; btw, I have gnome-session-flashback installed in addition to the native Unity, if this is of any importance). This empty window then remains opened. Closing it manually by clicking X in the top right corner (disconnecting the remote session) and logging again reopens this same empty desktop (with the Ubuntu background – reddish). Right click on the (empty) desktop opens the usual pop-up menu, I can right click on it and create a folder on the desktop, but that is about all that I can do; right click -> Open Terminal does nothing). Of course, Restarting the XRDP service resets this situation.
@Igor,
Thank you for the feedback.. Indeed, there are inconsistent results with XRDP software while supporting clipboard and redirection…Since Ubuntu 16.04, there was also some changes that affected the XRDP software and it’s becoming more work to have it working properly..
Currently abroad for some projects and overloaded with work,…. will not have right away time to have a look at it…
will try to check these issues with the Ubuntu 16.10 release and see if this can be fixed in some ways
Thank for the visit and for sharing your experience while working with XRDP…
Till next time
See ya
Hello Griffon,
Thanks for the script. The script works but I have one issue with it.
When I try to connect to my VM (Ubuntu Mate 16.04, installed from scratch) I get an error.
“Connection problem, giving up.
Some problem”
In the same screen I can click the OK button and I am then presented with the login window and everything works as you described from that point.
It isn’t a big problem, but what is annoying is that it takes up to 3 minutes before I am presented with this error.
Do you have any ideas how I can solve this?
Thanks in advance,
Steve
@Steve,
as we did not experience this issue, I have no clue at the moment…. As we can now use Unity Desktop with XRDP (see http://c-nergy.be/blog/?p=9962, we will probably update this post and provides instructions to make it work…We might find more things and we might be able to fix your issue…
However,be patient as I’m overwhelmed by work…..
Hope this help
Till next time
See ya
@Griffon
Thnx for replying, I successfully installed Ubuntu 16.04 (Unity) & and xrdp using the guide you provided.
Unfortunately I cannot compile my applications due to changes in the new version, so I’m stuck with 14.04.
I’m going to test if I can get it working on 15.10 since this distro provides the same xrdp package as 16.04.
Thanks for your help.
Steve
Hi!
I’m trying to get xrdp running with redirection on Raspbian 8. What are the changes I would have to make to this script? Anybody firm with the differences between Ubuntu und Debian/Raspbian?
Thanks,
Steffen
@Steffen,
never tried on Rasbpian, so I would need to test it first and see how it works. but in theory, this should be working as your are compiling the package from source
Till next time
See ya
Thanks for the description on how to get this up and running.
Is there also a way to do this using packages from a repository? It would be nice to be able to update using a package manager like apt.
@Arie,
As far as I know, there is no packages released for xrdp 0.9. You have to compile it. If you looking for packages from repositories, you can use ubuntu and xrdp package 0.6.1-xxxx which is available and provide remote desktop functionalities but no drive redirection nor clipboard functionalty…
Till next time
See ya
@Griffon,
When i tested it, rdp went completely off. My guess is that some directories you use are Ubuntu-exclusive and different on Debian. But my knowledge is just not sufficient to determine the changes to the script that need to be made.
@Seffen,
Currently abroad for work….if time permit will try to perform install on a Debian..
till next time
See ya
Hi,
First, thanks a lot for this amazing script.
Then it seems that ctrl+alt+arrow is not caught by mate.
I set the rdp client (windows) with “apply windows key combination on remote computer”, everything is working -including ctrl+alt+t- but the ctrl+alt+arrow combination.
Do you know how to fix that ?
Thanks again,
Antoine