Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote desktop capability with Subutai containers #2124

Closed
zubaidullo opened this issue Nov 16, 2017 · 5 comments
Closed

Remote desktop capability with Subutai containers #2124

zubaidullo opened this issue Nov 16, 2017 · 5 comments
Assignees

Comments

@zubaidullo
Copy link
Contributor

zubaidullo commented Nov 16, 2017

Discussions about the implementation of Subutai EZ-Desktop feature.

Wiki: https://github.com/subutai-io/base/wiki/Remote-desktop-capability-with-Subutai-containers

@bmullan
Copy link

bmullan commented Nov 16, 2017

Over time I've done a lot of work with different remote desktop solutions including x2go, guacamole, vnc etc.

I read your wiki post and have a couple comments.

  1. With x2go _as with several remote desktop solution_s Gnome 3 and Unity weren't supported so you had to install MATE, LXDE and XFCE and they document it on the www.x2go.org website at:
  1. Using one of the above Desktop Environments I've always been able to successfully run x2go in either an LXD container.

x2go in my experience has always been the easiest to install and as you mentioned has native clients for windows, linux and Mac.

x2go traffic is always encrypted as it uses SSH for its data transmission.

Guacamole is actually fairly quick and easy to install if you don't require the database or reverse proxy capabilities provided by adding mysql or nginx.

But its default installation only uses HTTP and not HTTPS so the web link is not encrypted between client & guacamole desktop server you connect to.

Its for the above reason many people (including myself) add NGINX for the reverse proxy & HTTPS support.

Also, unless you add a database (I used mysql) configuring many users and the possibly many "connections" to desktop servers for those users that you might have with LXD can become problematic in actual operation.

Guacamole as you point out only needs an HTML5 browser at the Client so it can be used on tablets, laptops and desktops (windows, mac or linux etc).

Guacamole is also quite efficient to the point of allowing watching remote video over the Internet/WAN link.

One difference between x2go and Guacamole is that audio, file sharing and printing with x2go "just works" where with Guacamole due to the use of HTML5 does require extra steps for printing and even file sharing.

A basic Guacamole (re without a database or nginx) is also available as a Docker image which could simplify implementation on the "desktop server" but with the limitations noted above. You can implement mySQL to use with the Docker Guacamole image but again there are extra steps involved:

https://guacamole.incubator.apache.org/doc/gug/guacamole-docker.html

Guacamole supports VNC, RDP and SSH (although SSH tunneling of a desktop is not supported as far as I know.

I have tried a couple times to try to get XPRA installed so I could try its HTML5 remote desktop connectivity but never got it to work.

NOTE: this is probably my fault as I really didn't spend as much time exploring it as I should have and I others seem to get it working ok. I really want to compare xpra & guacamole performance/capabilities.

https://xpra.org/trac/wiki/Clients/HTML5

Another remote desktop capability I would point out that works well in LXD containers is xrdp by NeutrinoLabs:

https://github.com/neutrinolabs/xrdp

XRDP implements the RDP protocol on a Linux system so you can connect with an RDP client from Windows, Mac & other Linux systems (using rdesktop, xfreeRDP etc).

In my Guacamole implementations I use XRDP on the remote desktop server hosts and in their LXD containers.

Brian

@zubaidullo
Copy link
Contributor Author

@bmullan thanks for sharing your experience on remote desktop solutions,
we also were reviewing around this two (x2go and Guacamole), now reweaving XRDP too.
I have one question about x2go, which I could not find the solution from forums yet.
On connecting to server with root user having: __Connection failed. mesg: ttyname failed: Inappropriate ioctl for device . Seems the problem is related to root user, when I create the new user, it worked well. Have you ever faced with this problem on x2go?

@bmullan
Copy link

bmullan commented Nov 20, 2017 via email

@zubaidullo
Copy link
Contributor Author

zubaidullo commented Nov 20, 2017

@bmullan

 - The lxd container is it a "privileged" or the default "unprivileged"
   container?
  • default "unprivileged"

- What OS do you use in the container? What OS is the Host

  • Now we use Ubuntu 16 and Mate desktop
   - Where is your x2goclient located on the container Host OS or a
   different machine somewhere?

  • Different machines (depends on user's machine Win, OS X, Linux)

@bmullan
Copy link

bmullan commented Nov 20, 2017

I see the same error when configured the same as you.
Connection failed. mesg: ttyname failed: Inappropriate ioctl for device. However, doing a google search for the same error message and including the word "container" I saw that this problem with root affects docker container users also.

Might be helpful to ask the lxc-users mail alias why as it seems related to user namespace use as user "root"?

But why login with x2go as "root" and not a user ID which has sudo privileges and then just use sudo?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants