Using a Lightweight Desktop Environment with the Dell Mini 9 and Fedora 10

When I first bought the Dell Mini 9, I was working for Red Hat. Therefore, I put the Fedora on it. With its pokey SSD drive, low memory, and tiny, tiny screen, it was impossible to feel comfortable running GNOME or, Heaven forbid, KDE.

Being a Window Maker man since time immemorial, I had no problem finding a properly lightweight and configurable desktop.

Like many people in our spoiled age, I had grown accustomed to many of the niceties provided by the fatter desktops. Like having the laptop go to sleep when you closed the lid or being able to connect to wireless networks without being a Dungeon Master.

This is an old guide, but you may find some nuggets of value in it.

Goals

The purpose of these tips is to have critical system functions like sleep and easy networking available regardless of which window manager is used. The topics covered are:

  • Trackpad configuration
  • Laptop sleep when closing lid
  • Multi-app sound without a sound server
  • Wireless networking
  • Easy mounting/unmounting removable media

Rationale

Currently, Fedora is heavily oriented towards GNOME, with a nod in KDE's direction. This is fine for Fedora, since its role as Red Hat's experimental branch demands it. However, on limited hardware like netbooks, running deep user environments like GNOME is not particularly attractive.

Trackpad

"Trackpad-Tap" is probably my most-hated feature of anything, ever. To get rid of this irritation, enable the SHMConfig feature of the xorg X11 server, and set the MaxTapTime to 0.

First, create the file

/etc/hal/fdi/policy/11-synaptics-options.fdi

with the following contents:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
    <device>
     <match key="input.x11_driver" contains="synaptics">
         <merge key="input.x11_options.SHMConfig" type="string">On</merge>
         <merge key="input.x11_options.MaxTapTime" type="string">0</merge>
       </match>
    </device>
</deviceinfo>

See man synaptics for the options available to the Synaptics driver.

Restart the haldaemon, then restart X11. To tweak other settings, like tracking speed or acceleration, you can run the program gsynaptics. I haven't found a way to make such settings permanent within GNOME, without editing the 11-synaptics-options.fdi file directly.

Sound

The goals here are:

  • to setup sound so that multiple applications can play sound simultaneously
  • mixer levels can be adjusted as desired
  • no sound server or wrappers are necessary for normal usage

Sound can be a real issue under Linux, and Fedora 10 has its problems. The Dell Mini 9 has a particular sound chipset that requires an entry in /etc/modprobe.d/alsa-base to be recognized by the driver:

options snd-hda-intel index=0 model=dell
blacklist snd-pcm-oss

The second line disables OSS emulation in ALSA. Read on to discover why we want to do this.

Fedora 10 defaults to using the PulseAudio soundsystem, which is a sort of next-generation ESD or aRTsd service. I'm sure if you're into GNOME or KDE you love PulseAudio, but for anyone else it just adds complexity. In my initial setup, sound worked. The mixer levels, however, were not correct, and tended to get out of sync. This required firing up alsamixer on the command line constantly to raise sound levels.

Removing PulseAudio is straightforward; just remove the package "pulseaudio" and restart the machine:

yum remove pulseaudio
shutdown -r now

This will delete the ALSA plugin for PA, and get you back to using a minimal ALSA setup (i.e., things will "Just Work". Well, they will just work if you also disable OSS emulation, as mentioned above.)

One big issue that seems to keep coming up under Linux is the sound hardware being locked by one application, preventing others from using it. The Adobe Flash plugin, for example, will attempt to exclusively lock the default OSS device /dev/dsp first before moving on to an ALSA-based device. This is wrong, but try and get Adobe to fix it. The workaround is to disable OSS completely. OSS-only software should be updated to the 21st century (which is almost 10 years old, folks), but in the meantime may work with some sort of wrapper.

With ALSA OSS removed, and PA uninstalled, the Mini 9 lets you run xmms in the background while watching YouTube videos in Firefox with sound.

Sleep

The Mini 9 sleeps well under Linux. If you're using the GNOME or KDE desktops, their respective power applets will control the sleep function in case of ACPI events, such as the pressing the sleep button or closing the laptop lid.

Fedora on its own, without the desktop environment, uses the acpid service to react to these events. To configure it to handle the lid closing event, create the following two files:

/etc/acpi/events/lid

event=button[ /]lid
action=/etc/acpi/actions/sleep.sh

/etc/acpi/actions/sleep.sh

For sleep.sh, just copy the existing power.sh file and change shutdown -h now to /usr/sbin/pm-suspend. This will prevent conflicts in case either the GNOME or KDE power managers are running.

Network

Ethernet works out of the box, but the Broadcom wireless will need the proprietary driver. Add the RPMFusion repository, and install the broadcom-wl package:

rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
yum install broadcom-wl

You'll need to reboot after this.

Once the drivers are loading, use NetworkManager to control the wireless interface. This will require running docker, so that the NetworkManager applet has a place to live:

yum install docker

From the command-line, run

docker -wmaker &
nm-applet &

And drag the resulting application icon to the Clip. Right-click on the icon, choose settings, and make sure the command is shown as "docker -wmaker". Otherwise, it will not properly arrange the icons (but should still work, otherwise).

You can use the NetworkManager applet to configure your wireless. I have put the following in my autostart file, just in case:

gnome-keyring-daemon &

But I'm not sure if it's strictly necessary.

Removable Media

Mounting and unmounting drives is a chore under Linux, albeit one you get used to doing. If you'd like to avoid seeking out the device nodes, sudo-mounting and unmounting, try thunar-volman, from the Xfce project.

blog comments powered by Disqus