Use xrdp to connect to desktop session
I use Ubuntu on my desktop. When I am away from my desktop, I would like to access the session using my Windows 7 laptop. Currently, I am using xrdp to connect, but it starts up a remote session. Is there any way to just use the same desktop session? I want to be able to pick up where I left off on the desktop.
Thanks
Well, I was unable to find a way to do this with pure xrdp, but I did find a nice writeup on how to go about getting this set up as an rdp-to-vnc gateway. It works well enough to suit my purpose.
Taken from http://ubuntuwiki.net/index.php/Xrdp,_installing
-
Install xrdp and vino
sudo apt-get update && sudo apt-get install xrdp vino
-
Configure vino so that you can remotely connect to the existing session
Type
vino-preferences
from the terminal, check “Allow other users to view your desktop,” “Allow other users to control your desktop,” and configure the “Security” settings as you like (you will probably want to uncheck “confirm each access to this machine” and check “require the user to enter this password”). -
Configure xrdp to access vino
Edit
/etc/xrdp/xrdp.ini
, adding in the text below. Alter the name to whatever you fancy. Also, make sure that[xrdp1]
uses a number that doesn’t conflict with an existing configuration.# set empty username because VNC auth # doesn't actually use username, so no # point in asking the user for one. [xrdp1] name=Active Local Login lib=libvnc.so username= password=ask ip=127.0.0.1 port=5900
Better yet, set your /etc/xrdp/xrdp.ini
thusly:
[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=ask5910
This way it asks for the port with a default of 5910
. If no vnc session exists on 5910
then a 5910
connection attempt will fail. In that case try again, but set the port to -1
to force the creation of a new session, typically on 5910
.
Please try the following:
In your /etc/xrdp/xrdp.ini
file increase the delay_ms
value from the already existing value.
I encountered the same problem and changed this delay_ms
from 2000 to 5000 and it worked for me.
Not sure if this is something to do with the network speed.
When installing xrdp, xfce and changing the xrdp.ini
(as shown in your own answer), I was able to rejoin to a remote session. Still, I was unable to share the desktop, in other words to rejoin the local session.
The vino stuff does not work for me, I got the message "connecting to 127.0.0.1:5900 error – problem connecting". From my point of view, this is because of a missing vncserver as iain-samuel-mclean-elder points out in a comment.
Long story short, I managed it to work properly with x11vnc
. When the computer starts up, a service is calling x11vnc.
The instructions you need to follow are only from the two links below.
-
xrdp and xfce4 to work together: This works also on my ubuntu 16.04. This will manage to work remotely with the computer.
https://www.tweaking4all.com/software/linux-software/use-xrdp-remote-access-ubuntu-14-04/ -
manage x11vnc server to work on start up: To share the desktop of the computer.
http://c-nergy.be/blog/?p=8984
–> I just changed the /etc/xrdp/xrdp.ini file to my own needs:
...
[xrdp1]
name=Remote Session
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=ask-1
[xrdp2]
name=Local Session
lib=libvnc.so
username=
password=ask
ip=127.0.0.1
port=5900
...
The nice thing on this set up is, if you connect from Windows with the standard rdp, you can reboot the computer remotely and connect remotely again you end up on the normal log on screen of the computer as you would sit in front of it. Choose "Local Session" on the xrdp menu after connecting with rdp. The password is the vncserver passwd, which you chose, when you followed the c-nergy-link above.
If you just want to open another session, you can go for the "remote session".
The Xubuntu I am currently using does nicely allow me to pick up an existing session somewhere else. This only works if I am going for a remote session (xrdp) of anotber remote session. If the session I wish to take over is the system console, it does not work for any ID actively associated with the system console.
What this suggests is that the session you wish to take over needs to also be a remote session.