Link to home
Start Free TrialLog in
Avatar of Mark
Mark

asked on

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!
ASKER CERTIFIED SOLUTION
Avatar of Steven Vona
Steven Vona
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start 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.
Yes, your answer was already given
Avatar of Member_2_406981
Member_2_406981

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.
YES (Vote #5 - you should award full points to the first comment given above).
Avatar of Mark

ASKER

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?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Mark

ASKER

andreas, have you used this before? I think I got off to a bad start. I found what appeared to be simple instructions: http://docs.slackware.com/howtos:window_managers:vnc.

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.

Password:

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.
Avatar of Mark

ASKER

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: https://www.experts-exchange.com/questions/28735842/How-does-VNC-work.html. 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!
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.
Avatar of Mark

ASKER

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.

arnold:
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: https://www.experts-exchange.com/questions/28736293/VNC-viewer-screen-issues.html. I'll try dual monitors today.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Setup your ssh server to allow X forwarding, then connect from clients using ssh -X <hostname> and start graphical applications like this: application &
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
Avatar of Mark

ASKER

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.