How to put XFCE on CentOS 6

This post is following my having replaced the gnome desktop from my centos-6 home server with XFCE, due to:

– the machine is probably over 11 years old and only has 256megs of memory
– the machine is not really likely to be easily upgraded, nor replaced
– the change is worth it anyway given the light load I put on it
– because it was so slow, and even seemed to progressively grind to a halt in a short period of time (a week or less, it seemed)
– questions online about how to replace gnome to XFCE under centos were inconclusive regarding how to make XFCE the default desktop on CentOS.

No, I don’t know how to make them co-exist, I tried a bit and decided after a three or four commands that since I didn’t need Gnome anyway, that replacing it completely with XFCE was the best way to go in my case.

Required:

– an installed and working CentOS 6 setup on the “target machine”
– an internet connection
– an operating ssh server on the target machine — including, if you’re controlling things through the internet, appropriate settings to receive the connection through the internet (another topic)
– root priveleges on the target machine

Optional, but likely to be highly useful (as it was for me given the “cart-before the horse” approach I used):

– a second computer, “the head”, with an ssh client, able to connect to the target machine via ssh either locally on the same network, or through the internet.

This process can be dangerous, will probably require at least one reboot, and ideally should require having physical access to the machine in case of requiring a hard power-down and repowering of the machine. All critical processes should become less critical (ie. user announcement for downtime, transfer to another server, etc.) and a backup should be performed beforhand.

I am presuming that on the target machine, root login has been disabled and that you will be logging in via “mere mortal” accounts and then elevating to root. Should you be using sudo on the target machine, the account into which you will be logging should have appropriate sudo priveleges, and you should adjust the instructions accordingly (that much I won’t do for you, I don’t like sudo; “Don’t be afraid of root. Respect it, but don’t be afraid” as my brother says.) I am also presuming that you are controlling the target machine using the head.

– using the head, ssh into the target computer — make sure that you are logged into an account on the head which also exists on the target. If you are on the same network, on the target machine itself, determine the IP address using “ifconfig” at the command line, and look for the number with a “192.168.***.***” format in the second grouping after the “inet addr” tag.
– Elevate to root (“su” )
– Install the Fedora epel repository on the target computer.
– visit http://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_EPEL_software_repository.3F
– enter the following if you are running Red Hat Enterprise Linux 6 / CentOS 6 / Scientific Linux 6:
“rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm”
– enter the following if you are running Red Hat Enterprise Linux 5 / CentOS 5 / Scientific Linux 5:
“rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm”
– Uninstall the gnome desktop.
– “yum remove groupremove gnome-desktop”
– Install the xfce desktop.
– “yum –enablerepo=epel-testing groupinstall xfce-desktop”
– add a line about changing the desktop type
– “nano /etc/sysconfig/desktop”
– add the following lines:
” DESKTOP=XFCE”
” DISPLAYMANAGER=XDM”

– Reboot the target machine with “reboot now”. The head will lose its connection to the target machine. The machine should now reboot and the xfce desktop should appear on the target machine.

Problems:

In my case, I had installed the XFCE desktop environment first, and some dependencies were removed when I uninstalled the gnome environment; I figured this out after a reboot and the screen came up blank after a reboot. I therefore ssh’ed using the head into the target and reinstalled the xfce desktop as above, which installed the necessary missing dependencies. I also installed the evince reader (“yum install evince”) which has nautilus as a dependency (and as such installs it, although so far the only real difference between it and Thunar is that the latter doesn’t support dual panes.) Both seem to work nicely with XFCE because it uses the same libraries as Gnome.