Logo

Using XFCE Distros 

Tuning | crunchbang | xfce | lxde | ubuntu |

Using XFCE Distros

Overview

The XFCE desktop environment, designed to be light and fast, runs on modest hardware. While not as light on resources as LXDE, it is less resource intensive than the GNOME and KDE desktops and provides a good option for running a full desktop on thin client hardware. Many mainstream distributions have alternate versions preconfigured with the XFCE desktop: Debian XFCE, Fedora XFCE Respin, Linux Mint XFCE, and Xubuntu. Packages for XFCE also appear in repositories for Arch, Gentoo, and Slackware for creating customised installations. XFCE is also available in the Slackware-based distros Vector Linux Light, Salix Xfce, and Zenwalk.

XFCE versions of mainstream distros are generally just configured with XFCE without further customisation for low-spec hardware. Some "standard" features (eg. SELinux) or services (eg. auditid, abrtd) with an acceptable performance on faster machines and servers are not justified on low-spec hardware. This does not make them unusable, but features and services may need to be removed, disabled, or adjusted for acceptable performance. (See the Tuning article).

Xubuntu 12.04.1 LTS

screen

The remainder of this article describes installing Xubuntu 12.04, an XFCE version of mainstream Ubuntu to an x86 thin client outfitted with a Compact Flash card. Xubuntu utilizes less drive space and installs on a greater number of processors than similar Fedora and Slackware derivatives. The standard features and services are also more lightweight than the Fedora LXDE Spin. While Fedora can certainly be tuned for similar performance, Xubuntu provides better "out of the box" performance. And Xubuntu 12.04.1 LTS comes with long term support until April 2015. These instructions can also apply to a thin client outfitted with a 2.5" laptop hard drive in place of the Compact Flash card.

Limitations

Xubuntu 12.04 LTS does not work with all x86 processors. The National Semiconductor/AMD Geode GX processors, and VIA C3 and Eden processors with Samuel and Ezra cores are not supported. However, AMD Geode NX processors, VIA C3 and Eden processors with Nehemiah cores, and all VIA C7 processors (Esther cores) are compatible. Technically, Xubuntu 12.04 LTS is supplied with a non-PAE i686 kernel. A "non-PAE" kernel is compatible with all x86 processors. However an "i686" kernel utilises a specific processor instruction (cmov) not implemented on NS/AMD Geode GX processors, or VIA Samuel and Ezra cores.

Minimum requirements for the distribution are 256MB RAM memory (512MB recommended) and 4GB of drive space. A completed alternate install utilizes 2.6GB. Processors clocked under 800 MHz can work but may be unusable for some tasks.

Xubuntu has been tested to install and operate on:

  • HP t5720 (AMD Geode 1GHz, 512MB)
  • Neoware CA-21 (VIA Esther 800MHz, 512MB) - requires noapic boot option

Xubuntu provides a desktop and applications with acceptable performance for web browsing, email, word processing, image editing, file browsing and printing on thin clients. It is not suited to video playback as output can be choppy especially running full screen. Web pages with complex scripting can feel sluggish with 800MHz processors.

Prerequisites

You will need:

  • A thin client with a compatible processor, 800MHz or faster, that can boot from a USB flash drive
  • A compact flash card, 4GB or larger - faster is better
  • An IDE cable and CF/IDE adaptor appropriate for your thin client if not socketed for Compact Flash
  • A USB flash drive large enough to hold an installation ISO image
  • Access to the Internet and capability to download an ISO file

Install the Compact Flash card in place of the existing flash memory of your thin client. This will require an appropriate cable and adaptor unless your thin client is socketed for Compact Flash.

Download the alternate ISO installation image, not the desktop image of the 32-bit version of Xubuntu 12.04 LTS. Use the downloaded image to create a bootable USB flash drive according to directions at the Xubuntu website. The alternate ISO image is required to install in less than 4GB of drive space. The desktop ISO image should work for larger Compact Flash cards, but these instructions are specific to the alternate installation image.

Newer versions of Xubuntu are available, but again these instructions are specific to Xubuntu 12.04 LTS. Furthermore, newer versions are supplied with a non-PAE kernel compatible with even fewer thin client processors. If you install another version, you may have to improvise.

Installation

This is a standard Xubuntu installation. The default options create partitions with optimal alignment, an ext4 root filesystem with a optimal block size and flash performance, and a swap partition. No special accommodations are made or required for write minimisation. While capable of handling the daily traffic of normal disk write operations, Compact Flash devices are NOT as reliable as hard disk drives or solid-state drives. You are advised to implement and use a backup strategy for your installation.

Boot the thin client from the USB flash drive with the alternate installation image. It may be necessary to alter the BIOS setup to boot USB devices. (Try the DEL key with Neoware devices or the F10 key with HP devices to enter BIOS setup.) Once booted, follow these steps:

  1. Select your language.
  2. Select "Install Xubuntu".
  3. Select your language (again).
  4. Select your location
  5. Configure your keyboard. Use the installer to detect or manually specify the type.

Wait as additional installer components are loaded.

  1. Enter a hostname for the system.
  2. Set up a user by entering a full name.
  3. Enter or confirm the user account name.
  4. Assign and confirm a password.
  5. At "Encrypt home directory?", select "No".
  6. Configure your timezone.
  7. At "Partition Disks", select "Guided - use entire disk".
  8. At "Select disk to partition:", select your Compact Flash card (typically sda).
  9. At "Write changes to disks?", answer "Yes"

Wait as the partitions are formatted and the base system installed.

  1. Enter your proxy, leave it blank if you have none.

Wait while configuring apt (package sources) and installing software.

  1. At "Install the GRUB boot loader to the master record?", answer "Yes"
  2. At "Installation complete", select "Continue"

Remove the USB flash drive as the system boots your newly installed operating system. The boot process is "quiet" - the screen is blank until the splash screen appears. This can be very slow on older hardware - you might stare at a blank screen for a full minute.

Some thin clients may freeze up during installation, or even in normal operation after a successful installation. Often this can be overcome by including the "noapic" kernel boot parameter. This explicitly disables a feature partially implemented with older VIA and Geode processors, and generally with no performance penalty on thin client hardware. Consult one of the many online guides for using and configuring this kernel parameter. Pay careful attention to spelling: "noapic" is not the same as boot parameter "noacpi".

Tweaks

IDE Interface

With some thin clients, the IDE interface often defaults to UDMA/33 speeds because the kernel drivers cannot detect an "80 conductor cable". (See here for more detail on this).

If the Compact Flash card you are using is rated higher than 200x or 30MBps should see some benefit by logging in as root and then:

  1. Open the configuration file /etc/default/grub with your favourite text editor.
  2. Find the configuration parameter GRUB_CMDLINE_LINUX_DEFAULT, similar to:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"
  3. Add the text "libata.force=short40c" at the end of the line AND before the final quote mark, similar to:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet libata.force=short40c"
  4. Save your changes and close the file.
  5. Apply the changes to the bootloader (grub) with the following command:
    update-grub
  6. Reboot for the parameter to take effect.

Acknowledgement

This article was contributed by Craig Oakes

 


Any comments? email me.    Last update January 2013