LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Ubuntu (https://www.linuxquestions.org/questions/ubuntu-63/)
-   -   What is x11rdp? (https://www.linuxquestions.org/questions/ubuntu-63/what-is-x11rdp-4175556435/)

mfoley 10-17-2015 01:24 PM

What is x11rdp?
 
What is x11rdp? I've been to the http://scarygliders.net/ site and have otherwise found sites describing how to install, etc., but nowhere, not even on author Kevin Cane's site, do I find an introductory comment about what it *is*.

Does anyone in the Ubuntu community know? Is it yet another VNC package? The "rdp" in the name implies "Remote Desktop Protocol". Does that mean I can connect to a host running x11rdp from e.g. Windows Remote Desktop Connection and have it connect?

knudfl 10-17-2015 01:37 PM

Google : What is x11rdp
>>> X11rdp is an X server for xrdp


Google : What is xrdp >> http://www.xrdp.org/ >>
>> An open source remote desktop protocol(rdp) server.



-

mfoley 10-17-2015 02:42 PM

Thanks, that's a start. The sum-total description provided by the link you gave is "xrdp uses the remote desktop protocol to present a GUI to the user. Xrdp is the main server accepting connections from RDP clients."

So, does this mean if I install Xrdp on my Ubuntu host that I can use 'Remote Desktop Connection', as is, from my Windows workstation and see my/a Ubuntu desktop GUI session on the Ubuntu host?

What is the difference between xrdp and x11rdp?

Have you used this?

knudfl 10-17-2015 03:42 PM

http://www.xrdp.org/ >>>

"" Xrdp uses Xvnc or X11rdp to manage the X session.
To learn about how xrdp currently works, click here and here. ""

mfoley 10-17-2015 10:57 PM

Quote:

click here and here.
That's exactly where I got the exhaustive description I posted in my previous message; one sentence from the first "here" and the 2nd sentence from the second "here".

You're not answering my question. If you don't know the answer, that's OK, but I did my own googling before posting the question. I'll repeat:

does this mean if I install Xrdp on my Ubuntu host that I can use 'Remote Desktop Connection', as is, from my Windows workstation and see my/a Ubuntu desktop GUI session on the Ubuntu host?

Quote:

Xrdp uses Xvnc or X11rdp to manage the X session.
Can you elaborate a bit? This doesn't tell me much. Upon what basis would I made the "or" choice?

mfoley 10-19-2015 01:01 PM

Can anyone advise a bit here? My main question:

Quote:

If I install Xrdp on my Ubuntu host that I can use 'Remote Desktop Connection', as is, from my Windows workstation and see my/a Ubuntu desktop GUI session on the Ubuntu host?

alexandroid 12-27-2015 01:06 AM

I've been researching this topic myself today and I agree that the documentation on Xrdp sucks and on X11rdp non-existent.

To answer your question:
Quote:

if I install Xrdp on my Ubuntu host that I can use 'Remote Desktop Connection', as is, from my Windows workstation and see my/a Ubuntu desktop GUI session on the Ubuntu host?
The answer is "in theory yes, but in reality no". If I understand correctly 'Remote Desktop Connection' won't just magically work after this and will require some additional configuration (example) which is might as well be easier done by editing configuration files anyway (and leaving 'Remote Desktop Connection' alone).

Also, if by "Ubuntu desktop GUI session" you mean the same screen as shown on physical display, then no, Xrdp is not enough (but X11rdp should do it). With Xrdp you will see a *virtual* desktop when connecting this way and not the actual computer's screen. You will be able to run all the programs etc, but they will be separate from what is being ran/shown on your physical screen on that computer.

Basically, Xrdp is supposed to work like this:
Code:

Windows RDP client <-> (RDP protocol message exchange over the network) <-> X-rdp service <-> (VNC protocol message exchange) <-> X-vnc service <-> Linux graphical applications
The "X" in all these places stands for "X Window System", which is basically a program interface which allows Linux graphical applications express what they want to draw, and then the X Window Server actually draws it on the screen (either actual physical screen or simulated screen observed remotely).

What 'Remote Desktop Connection' feature of Ubuntu does is allowing VNC clients connect and see graphical UI remotely:
Code:

VNC client (could be Windows, Linux, etc) <-> (VNC protocol message exchange over the network) <-> X-vnc service <-> Linux graphical applications
Applications do not even know that they draw not on the physical display, they just send commands of what needs to be drawn and X-vnc service transmits them over to the client. Physical display works the same way, except there is nothing to transmit - X Server just draws it on the screen. Ubuntu and other Linux distributions use X server called "X.Org Server". Note, that usually there is also another piece of software which is called "desktop environment", main part of which is "window manager" which actually draws all the "system UI" - windows, system menus etc. and provides interfaces for those. Examples of those are KDE, GNOME, MATE, XFCE.

If we include "Desktop environment" in the communication chains above, they will look like this (I skipped the fact that Xrdp talks to Xvnc locally using VNC protocol):
Code:

Windows RDP client <-> (RDP protocol message exchange over the network) <-> X-rdp service <-> X-vnc service <-> DE <-> Linux graphical applications
Code:

VNC client (Windows, Linux, etc) <-> (VNC protocol message exchange over the network) <-> X-vnc service <-> DE <-> Linux graphical applications
Now, to the topic of actually controlling computer's main physical display remotely. Since usually it's being drawn by "X.Org Server", there is no way to tell it to "hey, in addition to drawing everything on the monitor could you please also copy everything over the network". So, there are special programs which do this by literally screen-grabbing the screen image and sending it over to the remote clients (and delivering back inputs from mouse/keyboard).

One such program is "X11Vnc" and another... drum roll... "X11rdp".

For X11rdp we have:
Code:

Windows RDP client <-> (RDP protocol message exchange over the network) <-> X-rdp service <-> X11rdp (polling X.Org Server for display data)
And for X11Vnc:
Code:

VNC client (Windows, Linux, etc) <-> (VNC protocol message exchange over the network) <-> X11Vnc service (polling X.Org Server for display data)
(It's possible that in case of X11rdp there is to Xrdp involved so it looks even more similar to X11Vnc, but I am not sure)

mfoley 12-28-2015 03:34 PM

alexandroid, thanks for your detailed answer. I and continuing to experiment with VNC from Windows to Ubuntu. There seems to be lots of little issues with VNC generally and is obviously targeted to sysadmin use rather than joe-average-user (RDC-like) use. I will probably experiment more with Xrdp now that I have some good information from you. But I am a bit nervous about using it in a real production environment given the apparent lack of documentation and support. Xrdp appears to be someone's experimental project which was later abandoned. No major distro seems to have embraced it.

Thanks again!

alexandroid 12-29-2015 09:44 AM

It seems that Xrdp is more or less being updated. The reason it's not included by default is because RDP is a Windows protocol so Xrdp is mostly used to access Linux computers by Windows users. Linux people use Vnc or X11Vnc (or NoMachine which is better than either of them, despite of using VNC protocol under the hood).

I was able to setup X11RDP by using this setup script (which builds X11RDP and Xrdp from the source code, which gives the most recent version - 0.9 vs 0.6 which was installed via Ubuntu marketplace) - http://scarygliders.net/2013/07/25/x...-now-released/


All times are GMT -5. The time now is 05:05 PM.