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

Asked By: Jonathan B

||

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

  1. Install xrdp and vino

    sudo apt-get update && sudo apt-get install xrdp vino
    
  2. 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”).

  3. 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
    
Answered By: Jonathan B

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.

Answered By: Steven Tryon

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.

Answered By: sures

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.

–> 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".

Answered By: highwayjoe

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.

Answered By: user628388
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.