GUI based remote sessions for end users

I would suggest using NoMachine (NX) for this purpose. I believe the protocol is compressed X11 over SSH. The Free Edition has clients for Mac, Linux and Windows and won't require you to do much other than create a Linux user account for each user who needs to access the system.


I suggest you to install Fluxbox on Ubuntu server. The reason behind this is Fluxbox is light weight GUI. After installing Fluxbox for sharing purpose you can think to install VNC.


You should use xrdp, which uses the RDP protocol to project an XSession to the user.

I usually use it with a vnc server to start the user's desktop. In this scenario, xrdp manages user authentication, starting VNC, encryption, and sending the desktop to the user. The user will only need an RDP client, they never know about VNC behind the curtains.


In my experience, I prefer to use a VNC Server on the Linux machine. If you've created user accounts for all of your non-technical users, then you can create VNC sessions that are tied to their account and their Window Manager preference (Fluxbox, Gnome, KDE). Ubuntu packages needed: vnc4server & vnc4-common ...also, whatever window manager you want to use. Setup is simple and consider two accounts for Joe & Jane. They'll both need an application to access the VNC servers...not hard to do. I prefer just vncviewer = standalone application...no install.

As Jane:

  1. vnc4passwd - Setup a password that Jane will remember
  2. vnc4server :1 - Jane will be using session 1
  3. vnc4server -kill :1
  4. vnc4server :1 -geometry 1280x720 - Set the resolution of the remote desktop to whatever Jane likes.
  5. Jane uses vncviewer to access her VNC session 192.168.0.2:1

Same steps for Joe, but he prefers Fluxbox.

As Joe:

  1. Perform Steps 1-3 above, but use session 2(eg vnc4server :2).
  2. Modify ~/.vnc/xstartup:

    fluxbox &
    # gnome-session &
    
  3. vnc4server :2 -geometry 1920x1080

I've setup 6 user account & 6 vnc session within a Virtual Machine on my desktop. No huge hits in CPU/RAM for idle sessions. Hope this helps.