Can Linux do multi-user with GUI?

I know Linux can do multi-user via e.g. multiple Windows workstations running putty connecting to a Linux server; or multiple Linux workstations ssh'ing to a server; or even good old fashioned dumb terminals connected via serial ports ... BUT ...

Can multiple workstations connect to a server with a GUI Desktop?

This is a YES/NO question!
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Savone, answered your question.

Trying to see what approach
Are you talking about remote desktop port 6000 or ssh with an X tunnel that sends graphical .. Windows back to an X-windows interface?
The answer is yes. Linux can support multiple users connected / logged both in text mode (telnet / ssh, direct to serial ports, etc.) / GUI mode. Please elaborate on what you want to do so the answer will be more specific.
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

Natty GregIn Theory (IT)Commented:
Yes, your answer was already given
andreasSystem AdminCommented:
Yes it can be done, there are many ways to achieve this. You can even have several local graphical consoles each one with its own screen, keyboard and mouse.
Or do it network based and access the graphic sessions from other computers.
Gerwin Jansen, EE MVETopic Advisor Commented:
YES (Vote #5 - you should award full points to the first comment given above).
MarkAuthor Commented:
Thanks for all the "Yes"es - arnold "remote desktop port 6000 or ssh with an X tunnel"; omarfarid "Please elaborate on what you want to do"; andreas "Yes it can be done, there are many ways to achieve this."

The reason I started off asking for a simple yes/no is that I've posted and deleted several variations on this question after getting no responses, so I thought I drop back and start off simple.

So, to answer what I want to do ... conceptually simple:

Let's say we have an office with a Linux server sitting in a locked Computer Room. Let's also say I have 10 users in 10 cubicles sitting in front of 10 workstations -- for the sake fo simplicity, let's say these workstations are Linux-based.

I want the users sitting in their office to be able to log onto a GUI desktop for their account ON THE SERVER. Slight wrinkle: I would like the users to be able to accomplish this logon regardless of which workstation they are sitting in front of (e.g. user Nancy might have to sit at the reception area if receptionist Sue is off that day).

That's it. If still doable, how?
andreasSystem AdminCommented:
its doable, just enable vnc login sessions. How to do this depends on your distribution on the server.
MarkAuthor Commented:
andreas, have you used this before? I think I got off to a bad start. I found what appeared to be simple instructions:

libvncserver-0.9.9-x86_64-2 was already installed, so I installed tigervnc-1.1.0-x86_64-1. Then, per instructions ran as root on the "server" (though the instuctions didn't specifically say to run as root):
$ vncserver

You will require a password to access your desktops.


New 'mail:1 (root)' desktop is mail:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/mail:1.log

1 18:27:54 root@mail:~

Open in new window

It asked for a password, which took me by surprise. I hit the ENTER (probably no password?) and it created the scripts. Meanwhile, the echo of my terminal session is gone.

Have no idea what it's trying to do. As usual, web instructions start with a log of assumed knowledge. I'll log off, get my echo back and peruse some man pages. Meanwhile, if you know of a good howto, please post.

... Ah, wait! I think I see -- each remote user runs his/her own vncserver as part of the connecting process, right? Possible via ssh ... OK, I'll keep reading/experimenting. Sheesh! These howtos are really not very clear -- or at least this one is not.
MarkAuthor Commented:
Alright, forget about that last posting. As has been mentioned, I did say this was a yes/no question. Therefore, I've created another question specifically asking about VNC: If that doesn't work out, I'll try other suggestions. I'll not close this question until the "YES" answer proves correct. See you on the new question!
andreasSystem AdminCommented:
Yes I have done this sevaral times before. But i have no knowledge about the slackware distro. So you need to find out some things yourself. I just can give a rough plan on how to achive it.

1. install xinietd if not et done
2. make xinetd start up on every boot of the machine
3. add a new script called vnc into /etc/xinetd.d
place following things into the script:

service vnc1
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -noreset -inetd -once -query localhost -geometry 1024x768 -depth 16
        type            = UNLISTED
        port            = 5900

Open in new window

4. Open Port on packet filter on server if any firewall is running there. Also check global xinetd config if there are any restrictions set regarding which hosts can connect
5. restart xinetd service.
6. check if port 5900 is now open (netstat -an)
7. If yes connect to it with a vncviewer from a remote host
8. It hould show you the graphical login promot, the server needs to be configured to show a graphical login promt at the console. e.g. gdm, kdm, or another session manager needs to be installed and cofigured.

Paths and names for the binarys for Xvnc may be DIFFERENT on slackware 64.
MarkAuthor Commented:
I have demonstrated to myself that this can be done. I've gotten VNC working per the link in my posting ID: 41020876, above. I'll solicit a few final comments here before I close this question.

Are you talking about remote desktop port 6000 or ssh with an X tunnel that sends graphical .. Windows back to an X-windows interface?
If this is something different that VNC or LTSP, please give me a bit more detail so I can research these alternatives.

andreas: Thanks for your input. I wasn't sure what I gained from xinetd, so I skipped that. Can you tell me what xinetd buys me? Also, your statement about multiple graphic monitors is intriguing as I do need that functionality. Please follow my (first of many) postings on VNC issues/questions: I'll try dual monitors today.
VNC is an overlay meaning only one user will be able to access the console remotely at one time, and if the session is already logged in, that session will be used.

Yes, there is a built-in remote desktop i.e. on the workstation when logging in, on some you have the option on whether you are logging into the local system or to a remote one.

The ssh is you establish an ssh connection with a GRAPHICAL tunnel back. such that you can send your graphical xterm, xmail, whatever you need from the server back to your workstation's X-windows environment.  Graphical session on the server is more resource intensive, compared to a few graphical application being sent back through a tunnel of a text/ssh based connection.
Gerwin Jansen, EE MVETopic Advisor Commented:
Setup your ssh server to allow X forwarding, then connect from clients using ssh -X <hostname> and start graphical applications like this: application &
andreasSystem AdminCommented:
With xinetd you can setup it in a way you do not need to set up the vncserver for each user individually. You will be asked for the normal linux login only one time.

some of the other approaches need you for each user to start a session seperately on the server with seperate vnc passwords. With the xinetd solution you dont need to do this. Each user connects to the same port and is asked for his linux username and password, afterwards each user gets his own session.

Disadvantage, the session is not resumeable after its disconnected.
screen is a tool to maintain a session (non graphical) if disconnected
MarkAuthor Commented:
Thanks all. Most points have to go to savone because it was, after all, posted as a yes/no question. Some points to Arnold and andreas for additionally pointing me in the right direction.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.