Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am setting up a ubuntu 12.04 LTS server that several non-technical users will need remote access on to run GIS (Geographic Information Systems) software, and other software.

I need users to be able to log on to this machine (remotely) to do their work. Also, multiple users will need to acces the machine simultaneously.

Because I have non-technical users working on this machine, I would like to allow each user to have their own unique remote GUI desktop session for whoever is logged in. Obviously just using some kind of screen-sharing or screen-control software wont work because the users will need individual sessions.

How can I accomplish this? Does software exists that can accomplish this task?

I though maybe I could just use "ssh -X -Y user@host", but it seems like that only brings up a window for each individual program that you run, rather than a full GUI desktop environment.

Any ideas will be appreciated, thanks!

share|improve this question

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.

share|improve this answer

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.

share|improve this answer
It is important to note here that the more commonly known VNC servers these days mirror the console session, but there are also servers that permit a separate session to be started per user. So you would wan to look at tightvncserver and not x11vnc, vino, or krfb. – Zoredache Jul 16 '12 at 16:56
so, I installed tightvncserver on my server, and I tried connecting with a client. However, it simply showed me the screen of the current admin session that is already running. How do I configure it to create a new session when a user connects? – bddicken Jul 16 '12 at 18:13

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.

share|improve this answer

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 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

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.