There are some great turotials on getting the basics of VNC set up, but it always logs you right into the machine as a specific user...I want to choose my user....VNC + GDM is the answer
VNC + GDM will allow you to fir a vnc viewr at you linux box and have the GDM appear. This information contained below is a collection of personal knowledge and information collected from other postings on some other boards (note: go back and reference some of the contributors).
This mini-tutorial will not cover off security...so if you are doing this..make sure it is on your own network, behind a firewall etc. etc. etc....I hope to come back and add the security pieces in later...just don't have too much time today.
On with the show......
How it will work
===========
GDM will be running in the background (with no X-Server in this config). When we start a VNC session, VNC will contact the GDM to display the "Greeter"...then we log in as we normally do with GDM locally.
Configure GDM
==========
Sorry to you KDM/XDM folks out there...I will add in KDM ata a later date...it isn't too much different.
GDM presents the graphical greeter. To allow VNC to contact the GDM we must turn on XDMCP (Security concious peeps should set their firewall to only allow LOCAL connections for XDMCP - i.e. from the localhost - because VNC is running on the same linux device) - there is another option here to change the XServer that GDM can run to be VNC but I have not explored this option...perhaps later, but for now we'll do it with XDMCP:
1. Turn on XDMCP
edit /etc/X11/gdm/custom.conf (older should be gdm.conf).On Redhat Enterprise Edition 5.0, this file is placed at /etc/gdm/custom.conf. Content is like this.
find the [xdmcp] section
Change
Enable=false
to
Enable=true
2. (optional) Turn off XWindows (VNC runs it's own XWindows)
edit /etc/X11/gdm/gdm.conf
find the [servers] section
Change
0=Standard
to
#0=Standard
Configure VNC
==========
We will have VNC run from xinetd. We will create 2 "services". One for 800x600 and the other for 1024x768...if you want others, you can extrapolate yourself....800x600 will be available via :0 and 1024x768 as :1 (don't worry yet if you do not understand what I mean by :0 and :1)
1. Create /etc/services
edit /etc/services
add the following 2 liines:
vnc800 5900/tcp # VNC & GDM
vnc1024 5901/tcp # VNC & GDM
vnc1280 5902/tcp #VNC &GDM
vnc1600 5903
2. create xinetd services
create etc/xinetd.d/vnc800
service vnc800
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -geometry 800x600 -depth 16 -once -fp unix/:7100 -securitytypes=none
}
3. -securitytypes=none means VNC will not ask you to authenticate...we want GDM to do that part...
4. create xinetd services
create etc/xinetd.d/vnc1024
service vnc1024 {
disable = no
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -geometry 1024x800 -depth 16 -once -fp unix/:7100 -securitytypes=none
}
5. create xinetd services
create etc/xinetd.d/vnc1280
service vnc1280 {
disable = no
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -geometry 1280x1024 -depth 16 -once -fp unix/:7100 -securitytypes=none
}
6. create xinetd services
create etc/xinetd.d/vnc1600
service vnc1600 {
disable = no
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -geometry 1600x1280 -depth 16 -once -fp unix/:7100 -securitytypes=none
}
TEST IT
=====
1. stop any X Windows
init 3
2. Log into console (text mode)
3. Turn off "vncserver"...we don't want VNC to run except for xinetd
chkconfig --level 2345 vncserver off
4. start GDM
init 5
5. start vncviewer
I tested my connection from Win XP...
for 800x600 -> vncviewer localhost:0
for 1024x768 -> vncviewer localhost:1
SUMMARY
=======
You should now be able to run a headless (no kbd/mouse/video) linux box with a GUI and GDM greeter....
I know this mini-tutorial is a little thin at the moment, but I only had a few mins to type it up..I will clean it up I promise...if anyone likes it...I could try and write a mini-howto.....anyway...good luck..