Why use VNCserver?In Linux, everything can be done from a shell. However, there may be a time when you need to access the machine as if you were at the console.
Getting StartedYou will need several things to get started:
- root privledges
- VNC client software (tightVNC, you can download it here.)
- A good password!
[root@roswell etc]# service vncserver start Starting VNC server: [ OK ] [root@roswell etc]# [root@roswell etc]# vncpasswd Password: Verify: [root@roswell etc]# [root@roswell etc]# vncserver New 'roswell:1 (root)' desktop is roswell:1 Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/roswell:1.log [root@roswell etc]#So what did we do there? First, we started the vncserver service. It may or may not have already been running on your system. Next we set a password to access the VNC desktop. When you set the password, you will not see any characters on the screen, and you must enter the password twice. You will only need to do this the very first time you run vncserver. The password will be saved in the Linux filesystem, and you can change it at any time by invoking thevncpasswd command again. Last, to activate the VNC desktop, we simply invoked the vncserver command. Notice the output; the desktop is named "roswell:1" which can also be replaced via the machines IP address.
ConnectingAssuming you already installed TightVNC or another VNC client, enter the desktop name:
You can replace the server name with an IP address if you are logging in from outside your LAN. Remember, if you are using NAT port 5900 must be forwarded to your VNCserver.
Upon successful connection, you will be prompted for a password. You will then see a terminal screen that will allow you to execute commands:
VNCserver in Runlevel 5 (KDE or Gnome)If you are new to linux, running VNC server with a terminal isn't going to do you much good. You might want to have a menu-driven GUI like Windows. No problem. Follow these steps:
First, we are going to assume that VNCserver is running under the root user, as shown with the example above. For this example, I will be editing my VNCserver to enter Gnome. You can specify a KDE desktop if you have KDE installed on your server. Make sure you are in the root directory.
[root@roswell ~]# ls -a . cacti-0.8.6c.tar.gz .gnome2_private .lftp queue.dat temp .. client.cfg .gnupg machinedependent.dat .recently-used Templates .config FAHlog-Prev.txt .gstreamer-0.8 .metacity .rhn-applet.cache .themes .cshrc FAHlog.txt .gtkrc .mozilla .rhn-applet.conf .thumbnails .bash_history Desktop .fonts.cache-1 .gtkrc-1.2-gnome2 .rnd .Trash .bash_logout .dmrc .gconf .ICEauthority .mysql_history scripts .bash_profile .eggcups .gconfd .icons .nautilus .sh_history .viminfo .bashrc .bashdevl .esd_auth .gnome php-4.11 .ssh .vnc cacti-0.8.6c .gnome2 install.log [root@roswell ~]# cd .vnc [root@roswell .vnc]# ls passwd roswell:1.pid roswell:2.pid roswell:3.pid roswell:4.pid roswell:5.pid roswell.area51.lan:1.pid roswell:1.log roswell:2.log roswell:3.log roswell:4.log roswell:5.log roswell.area51.lan:1.log roswell.area51.lan:2.log xstartup [root@roswell .vnc]# vi xstartup
Using vi (vim) to edit the xstartup file, make sure your file matches this one:
#!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & startx &
Notice that the last line is "startx &" as this command will launch Gnome upon login via VNCserver. If you are using a KDE desktop, the line "startkde &" should replace the last line.
Logging in, you will be presented with a Gnome or KDE desktop.
Shown above is a Gnome desktop on Red Hat Enterprise Linux 4.