November 28, 2007 5 Comments
I have collected these tips after testing them on Fedora or CentOS, but not necessarily on both. I have actually merged the article ‘Fedora 7 Post Install Customization’ with this one since CentOS and Fedora share many, many things. The Fedora article has been removed from the site. So you may want to update your bookmarks. These tips may be used as is or with some modification on almost all Red Hat-based distributions.
Remote Desktop Through VNC
This tutorial deals with setting up a machine for remote access. That is, other machines are able to access this machine through VNC. First, install a VNC server using the following command:
yum install vnc-server
To install VNC client,
yum install vnc
Open ports 5900 and 5901 on the firewall. If you want more than one VNC sessions to occur simultaneously, then open ports for those in your firewall. Say you want four simultaneous sessions. Then you would want to open ports 5901, 5902, 5903, and 5904. You may open ports in GUI or via command line.
Now make sure all users have their own .vnc directory in their home directory. For example, ‘testuser’ should have a /home/testuser/.vnc/ directory. If not, create one using
Now setup VNC passwords for each user you want to allow VNC for. For example. if you want user ‘testuser’ to be able to VNC, log in as ‘testuser’ and run command
It will ask you to enter and verify your password. Remember, each user needs to set up their own password with this command. It will store password in
Check to see if you have xstartup file in /home/testuser/.vnc/ and if not, create one using
And make sure it looks like this:
# Uncomment the following two lines for normal desktop:
[ -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" &
exec gnome-session &
I chose GNOME because I use it on CentOS. If you prefer KDE, just change
kde-session. Also, you have to make this file executable, using the following
chmod u+x /home/testuser/.vnc/xstartup
If you do not make this executable, and once VNC is all setup, you may only get a gray screen with a big black mouse pointer. If you make this file executable, this problem should not occur.
Another reason you may get this gray screen is when the character encoding of the file may not be what the scripts are expecting. To remedy this situation, make sure you use files created and modified on Linux. I had the same problem when I created a file on Windows and downloaded it in Linux. When I created the file in Linux, the problem went away.
Now, as root, you need to edit one file
And make sure it has the following lines:
VNCSERVERS="1:testuser 2:otheruser 3:moreuser"
VNCSERVERARGS="-geometry 1024×768 -depth 16"
VNCSERVERARGS="-geometry 800×600 -depth 16"
VNCSERVERARGS="-geometry 1024×768 -depth 16"
What we are doing here is setting up three VNC sessions for three users: testuser, otheruser, and moreuser. Add as many users as you want here. Remember, also open ports in firewall for each VNC session you open.
Be careful. After first installing VNC server, VNCSERVERARGS will not look like this and would probably have flags set so that it doesn’t listen on network. You have to make sure your file looks like what has been shown above. Be careful that -depth is at least 16, not 8. Otherwise it may not work properly. Of course, you may set an appropriate screen resolution, not necessarily what has been set above.
Now you are ready to start VNC server as root.
service vncserver start
To make sure VNC starts up whenever the computer starts, do the following
chkconfig vncserver on
It should give you an OK for all VNC sessions you added in
/etc/sysconf/vncservers. You will connect using your VNC client using the following address:
or you could use an IP address
Where :1 is the number chosen for the user in
/etc/sysconf/vncservers. When asked, enter password for that user. The benefit of this method is you do not need to enable auto login to be able to use VNC.
To change hostname to another, you need to take care of two things: change the /etc/hostname file and the /etc/sysconfig/network file.
sudo vim /etc/hostname
If there is already a name, replace it with the new one. Or if the file is empty, just add the new name.
sudo vim /etc/sysconfig/network
Change your old hostname to the new one.
sudo /bin/hostname -F /etc/hostname
Although you should not need to reboot, even if you do, the new hostname should show up every time. You may even logout and then login to see the new hostname in effect.
I had to learn these things the hard way but now I am able to share them with you.
Unable to Access Internet
If you are using static IP address and are unable to access the Internet while LAN access is going smoothly, try this: add a routing rule using the Network GUI with the following values. Of course, you would need to change the gateway’s IP to whatever IP your own gateway is using.
Allow a User to SUDO
I took this step as root, using instructions found in a good tutorial: Configuring SUDO.
su --login -c 'visudo'
Then I uncommented the line saying
# %wheel ALL=(ALL) ALL
and changed it to
%wheel ALL=(ALL) ALL
Also, I added the user I wanted to allow to use sudo by adding the following line below the line
root ALL=(ALL) ALL. So now the file read
root ALL=(ALL) ALL
newuser ALL=(ALL) ALL
The user ‘newuser’ was then able to use
sudo and it asked for a password every time.
If you are looking to trim your CentOS install, you may find Building a Tiny CentOS Installation to be very useful.