Showing posts from 2008

Where is Lenny?

Additional development of SkinnyDebbie has been held up by two things. The first is an unbelievable workload this term. I am teaching almost double the standard load. And on top of that (not because I am an idiot, but because I had no choice) I am taking two classes for my PhD program--two classes that are turning out to be much more time demanding that I had anticipated. I am hoping next term won't be as insane as this one.

The second reason is the delay in Lenny's release. It was originally on track for a September/October 2008 release, but due to some release-critical bugs, the final release is now not expected until June of 2009. (See also this and this.)

I don't really want to develop/fix/improve anything with SkinnyDebbie until Lenny's final form sees daylight. Given that there are release-critical (i.e., significant) bugs and the projected timeline for resolution is so long, there is a good chance that important bits of anything I develop now may break by the tim…

Samba: passwords

Samba drove me nuts until I figured out that it keeps its own database of passwords. In other words, for each user that you intend to permit access for in Samba, you must also create a password. It's easy enough to do:

sudo smbpasswd -a <username>

but if no one tells you this, you will go nuts trying to figure it out. Not even the official Samba HOW-TO gives you a decent clue about this.

Apparently, you can set Debian Etch up to sync Samba and user passwords, but I haven't gone there yet.

Music Playing Daemon: setup

I've been having way too much fun with MPD lately. It is now my default tool for music listening at home. I am using Music Player Minion, Ario, and QMPDClient on my Windows laptop to control the server, gmpc as a Linux GUI client (Etch doesn't have Ario or QMPDClient), mpc for terminal one-offs, and ncmpc for SSH sessions. Phew. I haven't gotten around to trying Bluetooth devices, etc. It's all quite cool.

As with many things Linux, setting up MPD can be a bit confusing. Below I describe my current setup, which was designed for a reasonable but not paranoid amount of security. It's all quite geeky. If you are not capable of this level of geek, you might want to stay away from MPD until you are.

I will assume that you have already installed MPD and (optionally) Samba. You can point MPD at any directory for it's source of music. Since it's a server and gets launched at system startup (at least in Debian Etch and therefore SkinnyDebbie), I decided the best place…

Oldschool wireless

There's a really good guide to setting up WiFi without using NetworkManager at

Why would you want to do this? Because when you do, the wireless LAN connection comes up automatically when you boot the machine. This is a really good idea if you are running any servers (e.g., the outrageously fun MPD). Of course it's a really bad idea to run a server off a wireless connection whether it comes up automatically or not, but sometimes you just can't snake cables where you want your machine to be. And if you're not running any servers, it spares you the bother of having to type in connection authorization at login. If you do a lot of roaming, then giving up NetworkManager (or the similar netapplet) may not be such a great idea; but if you don't, this approach may save you from some bother.

The only things I would add to what is posted in the Ubuntu forum are:
You can include more that one interface in the /etc/network/interface…

MadWifi and SkinnyDebbie

My main SkinnyDebbie test machine is an Acer TravelMate 508T laptop. It has no built-in Ethernet. I don't think I need to say that it has no built-in WiFi. It has one PCMCIA slot.

I use a 3Com OfficeConnect 10/100 LAN adapter card (PCMCIA) for Ethernet connectivity. I've never had to do anything special to make the lappy's networking go with any Linux distribution I have tried. It just works "out of the box." I also have a D-Link DWL-G630 WiFi card (also PCMCIA). It works "out of the box" in Xubuntu, but not in SkinnyDebbie. This is a summary of how I got it to work.

I bought the D-Link card because it was listed as Linux compatible at (and because of favorable comments at Newegg). The site says that my card is compatible with MadWifi drivers--drivers that have been developed to support Atheros chipsets. The process below is adapted from MadWifi's own newbie installation guide; however, I had to do some extra stuff and no…

SkinnyDebbie and the Macintosh PowerPC

I tried loading SkinnyDebbie onto an old Macintosh Cube.

"Linux on PowerPC?" you ask? And at 450 MHz? Debian is one of the few distributions that officially supports the PowerPC architecture. And SkinnyDebbie on i386 at 500Mhz works just fine. So it seemed natural to try.

It worked. In fact, I am really happy not just that it works but also with how well it works. So far I have found only four gotchas--two having to do with SkinnyDebbie and two having to do with Larger Issues. The SkinnyDebbie ones are easy to fix. The Larger Issues are not.

First the SkinnyDebbie stuff:

IceWM's network traffic monitor doesn't work. This is caused by the fact that (at least on my Cube), eth0 gets assigned to FireWire networking and eth1 to Ethernet. The fix is easy: open ~/.icewm/preferences and add eth1 to the list of monitored network devices in the NetworkStatusDevice field. When you restart IceWM, you should now see the network traffic monitor. (Make the same change as root to the co…

Use ROX-Filer to open containing folders in Firefox/Iceweasel

Update: See this for an easier way to accomplish the same goal.

One of the slightly bothersome things about using ROX-Filer with Iceweasel in Debian Etch (and I suspect Firefox in other distributions) is that Iceweasel won't "open containing folders" with ROX-Filer from Iceweasel's Downloads window. I was therefore pretty jazzed when I found this link at Rubylution that shows you how to tell Firefox (and Iceweasel) to use a specific file manager to open folders.

Of course I tried it, and of course it failed. The problem is that Firefox/Iceweasel sends the specified file manager the name of the directory in the form of a file://<filename> URL, and ROX-Filer doesn't get file URLs.* So, I wrote a script that uses sed to decode the URL to a form that ROX-Filer understands and then calls ROX-Filer with the decoded path.

So here's what you do:

Create an executable /usr/local/bin/rox-open-url:
#!/bin/bash # Opens input argument in rox, where input argument is …

Tweaking the Debbie

I've made a few tweaks to SkinnyDebbie, some to fix bugs, some to make some behavioral improvements. In particular, I have:
Added /usr/local/bin/rox-open-url and /usr/local/share/rox-open-url/urldecode.sedAdded to install process that modifies Iceweasel default preferences (/etc/iceweasel/profile/prefs.js) to download files to home directory (with prompt) and use rox-open-url to "open containing folders".Changed ownership of /etc/X11/xdm/Xsetup to rootChanged tooltip and properties text for "Screen resolutions" control panel.The official changelog is here.

If you are an early SkinnyDebbie adopter and want to implement these changes, let me know and I'll send you a custom updater script.

SkinnyDebbie is done

The initial release of SkinnyDebbie is done. What started as something that I thought I could put together in a few evenings has turned out taking far, far longer than that. But I think the results have been worth it. There are aspects of the user experience that still need cleaning up, but overall I think it's a pretty decent lightweight desktop.

Most of my time was spent writing scripts to make system administration easier for less-than-sys-admin types. Automounting in particular was a royal time hog. If you are insane enough to actually read all the custom scripts (both the ones that do the installation as well as the ones that are installed as part of SkinnyDebbie), you will be able to track the development of my Linux competence.

I've decided to give SkinnyDebbie its own website. For the time being, it will be hosted at I am hoping this is a temporary situation and that a more suitable location will present itself. I'm also hoping to fl…

automounting - part 2

Here is a brief (!) summary of the problems I encountered in setting up automounting in SkinnyDebbie and what I did to get it to behave. The whole process relies on hal and ivman. Maybe there is a better way to do this; if so I would love to learn how.

In no particular order ...

If media is present when user starts machine, the media automounts under ivman's account, and then a regular user can't unmount it.

Disable ivman daemon so that the ivman user doesn't do any mounting:
# update-rc.d -f ivman removeStart ivman under the user's account at login so the regular user can mount via ivman.In other words, have ivman run as user and do not have it run as ivman (which is what the daemon makes happen). The major consequence of this approach is that it will only work if one user at a time is logged into the machine or only one user at a time is authorized to use automounting.

Turning off the ivman daemon is handled by the SkinnyDebbie installer. I wrote a custom script …


To be concise, automounting of removable media in Linux hurts.

SkinnyDebbie's first release has been held up by issues surrounding automounting. Getting automounting to sorta work is easy. Getting it to be reliable and usable is another story. I think I've finally gotten things figured out to the point where the system is sufficiently usable and reliable. But I would like to make sure that there are no gremlins hiding in the works. When mountpoints go bad, the results can be fairly ugly.

I also want to add a bit of UI sweetness to the automounting deal: I'd like the the appropriate folder to open in the file manager when the media is mounted to let the user know that the media has, in fact, been mounted. This shouldn't be too tough -- but then that's what I thought about automounting in general.

One annoying thing: Linux does not consider audio CDs and video DVDs mountable media. That means that you literally cannot mount either of these kinds of discs and browse thei…

An inadyn wrapper

Inadyn is a lightweight command-line tool for updating dynamic DNS addreses. Its use is supported by DynDNS, FreeDNS, and others. Binaries are available for Windows and Linux, and Debian and Ubuntu both have inadyn packages. Overall it seems like a good choice for a dynamic DNS update client.

In Linux, administrators usually set inadyn up to run as a daemon. But for regular desktop use this might present some problems. Most notably, if a network connection is not available when inadyn starts, it just exits. Another problem is that setting up a daemon can be a little scary for new users.

So I came up with a little script that can be run at login that launches inadyn not as a daemon but as a regular process. If the process is already running, it will warn the user. If the process didn't start, it will warn the user. If everything goes ok, it lets the process run and quietly retires.

You will have to hand-edit the 'inadynOptions' variable below to make it suit your needs. The…

SkinnyDebbie : an introduction

It has required more work than I originally expected, but I think SkinnyDebbie--a light-and-lean proof-of-concept "distribution flavorizer"--is almost ready for its first public release.

SkinnyDebbie is a scripted installation scheme that lets a user set up a light-and-lean Debian-based Linux system without a huge hassle. It should be especially attractive to users of systems that are not powerful enough to run the Gnome, KDE or XFCE desktop environments.

SkinnyDebbie's main job is integrating the following windowing and desktop components into an efficient desktop environment:
IceWM: a lightweight yet full-featured window managerROX-Filer: a fast and light file and desktop managerXDM: the classic display manager that is more resource-friendly than GDM or KDMDropline Nuovo!: an icon set that is more inviting than the default Gnome icons
It also installs a handful of utilities and other applications that you will need to have a reasonably smooth GUI system, and it does as muc…

DPI: part 1

Another example of "too much choice can be a bad thing" rears its head in the way that Linux renders text. The headaches arise out of the interaction between a few variables, some of which may or may not be known. Lets try to break this down a little bit.

Screen resolution
The easiest variable to understand in Linux's windowing/font-rendering system is what most people call screen resolution. It's also the easiest part for Linux's X.Org windowing system to get right. Screen resolution is simply a measure of the raw number of pixels used to draw your display. Common sizes are 800x600, 1024x768, 1280x800, etc. These are familiar numbers to Windows users.

The X.Org server installation process executes a command that 1) tries to determine what resolutions are supported by your connected display, 2) asks you which ones you want to use, and 3) writes a configuration file /etc/X11/xorg.conf that stores this and other information. Sweet. Easy.

Screen size
Screen size refer…


It's been a while since my last post. I've been busy developing a scripted install for a light-and-lean Debian system, and it's turning out to be more work that I originally expected. Most of the additional work is coming from the critical need I saw for some service applications as well as a few tweaks to pre-existing Apps.

I think I see the light at the end of the tunnel ... as well as an attractive fork in the road: the latest version of Ubuntu (Hardy Heron) while having a sorta-stupid name is an LTS release. That makes it quite attractive, especially given that Debian Etch may be aging a bit.

File managers

Linux gives you a choice of about a million different file managers. They differ in how much they do, how they do it, whether they are text or graphic based, etc. I have been able to narrow things down from the available choices to three that make sense to me. Each have their pros and cons and are discussed below.

The standards for selection are that the manager be fully GUI based and it must behave well. Even though this whole deal is about being light and lean, I consider ncurses or otherwise not fully GUI managers just too primitive for most users—including myself.

The three finalists currently on the shortlist are Thunar, ROX-filer, and PCManFM. An honorable mention needs to go out to XFE. It has its heart in the right place, but I just couldn't get it to look right.

Thunar is the file manager used in the Xfce desktop package. Although part of the Xfce desktop, there is nothing to keep you from using it under other window managers.

* Looks good.
* Automounts removable me…

Posted: An Even Lighter Debian

An Even Lighter Debian has been posted. Phew.


I added a new "Guides" section in the Links section (on the right) where I will try to summarize what I've learned so far in this adventure in a way that's operationally relevant. A beta version of the first guide, "A Lighter Debian", has been posted. I have also added a "Recommended Practices" section to make deciding what to do a little easier. Following these will be "An Even Lighter Debian" that documents how to make an, er, even lighter Debian. Eventually I will also publish a "Minimal usable Debian" guide to help you setup a minimal GUI system that you can then tweak to your heart's content.

Xubuntu--the hard way

I recently tried installing Xubuntu "Gutsy Gibbon" on an older laptop using a whole bunch of methods: the "alternate" Xubuntu 7.10 installer CD, the "alternate" Ubuntu 7.10 installer CD, the "server" Ubuntu 7.10 installer CD ... and they all failed. In all cases, the problem was the same. After the installer booted off the CD and moved through some preliminary information gathering, it would complain that the CD-ROM from which it had been loading was no longer mounted/found (Do you want to install the drivers from a floppy?).


A visit to the Ubuntu forums didn't really help... a couple other people had the same problem but with no solution. My best working theory at this point is that the problem is caused by the CD-ROM being an older LG device. There was a time where installing (some?) Linux would allegedly destroy (some?) LG CD-ROM drives. I think that this made a lot of developers paranoid and build kernels without support for many (all?…


I decided to take a closer look at SLiM--the Simple Login Manager--as used by Fluxbuntu (instead of GDM). SLiM is light (about the same as XDM) and it looks really good, even in its default state. What more could you want?

Turns out that while SLiM makes logging into your session easy, it makes powering off or restarting your system from the login screen something of a pain. You need to use "special names" or setup special accounts with special permissions. Either approach is 1) not intuitive from the user's point of view and 2) a security risk. The developers say that implementing a better method is on the TODO list. Once this is done, I think SLiM will be a credible and much more attractive alternative to XDM.

A Debian alternative?

I just noticed that Debian has a single-CD distribution that uses Xfce as the window manager, Thunar as a file manager, and GDM as the desktop manager. It's a full-featured install, with GIMP and OpenOffice goodness standard. It seems a credible alternative to Xubuntu.

I installed it on a 128MB/466Hz machine as well as in the virtualized environment on my 1.7GHz laptop. In both cases I configured Xfce and GDM to use the minimal amount of eye candy, and in both cases the result seemed better than Xubuntu under similar circumstances. However, I will need some more testing to be sure.

Debian with Xfce/Thunar/GDM still eats a lot of RAM. On the 128MB/466MHz machine it's just barely tolerable. I really wish that Ubuntu and Debian would consider IceWM for their light-and-lean distributions as still nothing I have found beats it for performance and RAM use. I keep hoping to find something that's easier to install but as fast and usable (and maybe a bit more sexy) than IceWM/ROX-fil…