After reading about Canonical Software’s philosophies upon September 15th’s Ubuntu Linux preview release, I knew my dial up was about to be hurting. Three days later when I had the ISO in hand and Ubuntu installed, I knew the experience had to be shared. Hopefully this article will offer some insight into this wonderful, though buggy, Debian and Gnome distribution.
Introducing Warty the Warthog
Ubuntu Linux represents a crisis in my life, the likes of which aren’t supposed to happen at the age of 22. This distribution has promised to be everything I was looking for in my first two years of Linux exploration, and it’s simply not fair. Ever since my initial experiments with the trio of Mandrake, Slackware, and Debian I’ve been in search of a distribution which is based on Debian’s powerful package manager, is as user friendly as Mandrake thinks it is, yet is as lightweight as Slackware is capable of being. However, three months ago I discovered Arch Linux with it’s minimalist simplicity and incredible Pacman and ABS package management. Ease of use is non-existent, but hey, two out of three ain’t bad, so I gave up the search.
Now here comes Ubuntu, seemingly attempting to merge these three worlds. Of course, compromises have been made: it’s not as minimalistic as I’d now like, non-GUI administration can be a bit difficult, and you don’t have the complete control which I’ve fallen in love with by using Arch. However, I believe Ubuntu strikes closer to the target for desktop Linux than ever before, and is set to be suitable for users and hackers alike. That is, if Canonical manages to get the bugs in order.
Please keep in mind, this article is coming from the perspective of someone who’s used computers for 17 of their first 22 years, but has always focused more on hardware than software. Like I mentioned, I’ve been using Linux for two years, but I’ve only felt like I understood what I was doing for the last three months, when I gave up Windows for Arch Linux. I’ve also never been a fan of desktop environments, preferring Fluxbox, PekWM, and Enlightenment in addition to the console.
Now on with the adventure!
Stumbling Through Installation
Freedom Doesn’t Come Easy: A Glimpse of History
Debian has a long and storied history with installers, which tends to hold down distributions rooted in it’s code. When I started with Debian Woody the install process was long and drawn out, but most of it was just pressing enter to confirm Debian’s choices. This behavior wasn’t all bad, as it got the job done, but it had this tendency to drive me insane as a new user. Others have been trying to improve the process of installing Debian for ages, but most I’ve encountered have been nearly unusable *cough*Progeny*cough*. Both Xandros and Libranet have capable installers, however, proving that it can be done; and while Xandros’ felt like more show than functionality, Libranet actually affords an admirable level of control with it’s hybrid text and graphical solution.
More recently, Debian has been working on a new installer of their own which is still ncurses, prompts minimally, and is destined for the upcoming Sarge release. I previously tried this installer with the May 30th test candidate net install. Even then the installer promised to be much less frustrating, though I encountered a nasty bug with systems not on a network, where I was nearly trapped in a hellish loop of dialogs. Ubuntu uses a modified version of this new Debian installer, and I’m glad to say I didn’t encounter any bugs, just design flaws.
Pack Your Bags for Adventure!
Before booting you’re offered a large number of boot options which can easily be ignored unless there’s a problem as, unlike Debian, Ubuntu uses the latest 188.8.131.52 kernel by default. The only option which might be considered without a hardware demand is expert mode, which I would strongly suggest avoiding unless you’re both incredibly patient and know what you’re doing. Simply put, it’s a convoluted path of installer hell, and I wish I didn’t need it.
You’ll want your / partition to be at least 1.8GB for the installation to complete, and the standard install will take 1.4GB of space. If you’re short on space you can boot with ‘custom’ or ‘custom-expert’, which only takes about 350MB, and install more software with apt. If you’re just short of 1.8GB, you can try booting with the ‘archive-copier/copy=false’ option, as was suggested on the mailing list. I haven’t been able to confirm that option works, but I think you can pass over copying archives in expert mode if it doesn’t.
Following the Chosen Path
After a few locale questions and a force loading of modules, I was alerted that my via_rhine network card was detected, but that it appears to not be connected to a network. It hit the nail on the head and offered to let me configure a static network, or to not setup a network at all. It would be nice if the installer were a bit clearer that not setting up a network is in fact properly setting up a loopback interface, like Slackware does.
Next you’ll be given the option to allow Ubuntu to auto-partition a given hard drive, or partition manually. I tested this on my 8.4GB /dev/hdd, and it adequately set an approximately 350MB swap, and mounted the rest to an ext3 root. I decided to go back and set a 256MB swap with the rest a reiserfs root. Let me give you a bit of advice, save yourself some trouble and drop to vc/2 to partition with cfdisk.
The first problem is that the partitioner displays in MB, but switches to GB when possible. This makes it extremely difficult to calculate your space provisions. Second, the ‘make swap’ option is hidden under a menu which defaults to a format option. I won’t tell you how long I overlooked it for, expecting it to be found under the mount points menu, but it was long enough that I embarrass myself just thinking about it. You’ll still have to mount the partitions with Debian’s tools, but at least you can partition with something a bit more refined.
Note that the disks don’t use the normal /dev/hdX syntax in cfdisk, but instead /dev/discs/discX/disc so that the first disk is /dev/discs/disc0/disc and the second disk is /dev/discs/disc1/disc. Like Grub’s (hdX,X) it’s channel agnostic and ignores opticals, and if you ever want to specify a partition replace the last ‘disc’ with ‘partX’ starting with 1.
After the partitions are finally given filesystems and mounted, the installer goes on to install packages without any prompts for customization. This takes a good while, rivaling the length of time a Conectiva 10 or Suse 9.1 install will consume. The installer then reboots into your system for stage 2 of the installation.
The Scenic Route, Apparently
After setting up a user account and a PPP connection with pppconfig (which no longer detects my hardware ISA modem’s port, like it used to with this same modem), I realized that the installer hadn’t yet finished installing software. Instead it had only installed the base system and copied packages off the CD. It took even longer to install and configure the rest of the system, making this, even with it’s minimal interaction, one of the longest installs I’ve been through. Luckily, the Canonical developers have expressed a concern over this two stage installation which is inherent to Debian’s installer, and it appears that plans are in the works to do away with it, probably when it goes graphical with HoaryHedgehog. I imagine this will also reduce the 400MB installation buffer mentioned above.
There are two more things about the install which I should note. First, Ubuntu disables the root account by default, instead using sudo and the first user’s password. This is no problem for me since it’s actually more handy for single commands, and you can still enter a persistent super user session with ‘sudo -s’. The problem is that during install, while they mention that you’re creating a user account to use instead of root, they don’t explain sudo’s use at all. If I didn’t already know about this before hand I may have missed it altogether.
Second is that the installer didn’t give me an option to pass on the boot loader in standard mode. In expert mode, it gives the option to install Grub or Lilo to any partition or MBR you want, or to skip it altogether. In standard mode, it only gives the option to install Grub to your chosen partition or MBR. I don’t personally care about not offering Lilo here, since it is indeed more advanced, but I feel every good installer should offer the option to skip the boot loader. It would also be nice to still be given a menu.lst as expert mode did not, since this makes configuration a snap in this age where every distribution uses slightly different parameters.
The Search for the Perfect Interface
What’s a Scenic Route Without a View?
On Ubuntu’s first boot I was welcomed by GDM and the familiar nv skew, as I’ve come to call my screen’s offset in the absence of Nvidia’s driver or further configuration. My first impression of GDM is how clean it is with it’s solid light tannish backdrop and minimalistic interface: quite the contrast to Libranet’s clutter, and much more subtle than KDM implementations I’ve seen in the likes of Conectiva and Lycoris. Upon logging in I was impressed by the speed of Gnome’s load, I dare say nearly as fast as Yoper’s prelinked KDE, though I haven’t timed either. Overall, the entire system is very responsive, especially for a desktop environment.
Sane defaults seem to be quite a talking point here at OSnews, and I think this philosophy could very well define Ubuntu Linux. The entire desktop is extremely cohesive, and the brown on blue/gray theme is surprisingly smooth and subtle. That should be expected with earth tones, but expected it was not. Of course, I’m just relieved that it’s not filled with gaudy colors and flashy effects: I’m not exactly a fan of glass and plastic themes.
Sanity By Mine!
To continue with the sane defaults theme, Ubuntu is another in the newish breed of single CD distributions. Exploring the applications menu reveals software highlights which include Firefox 0.9.3 (1.0PR available), Evolution 2.0, Gaim 0.8.3 (with Evolution integration, 1.0 available), Open Office 1.1.2, and Gimp 2.0.2 in addition to more standard Gnome applications such as Rhythmbox, Sound Juicer, Eye of Gnome, and of course we’re dealing with Gnome 2.8 here. Just about the entire package selection feels just right, except I prefer Abiword to Open Office and MPD to Rhythmbox, but this is remedied easily enough. An obvious absence is a CD burner outside of Nautilus’ CD writing extension, though K3B is available in the repositories (this is more a Gnome deficiency). The focus on cleanliness in Ubuntu’s Gnome implementation is also readily apparent in the application menu. Perhaps this is partially thanks to the divergence of the computer menu, allowing the application menu to contain nothing but launchers, but the solid organization should not be understated.
The cleanliness of Ubuntu extends into their interesting approach to the desktop, or perhaps this is more it’s foundation. I’ve been trying to minimize the use of desktop icons since Windows 3.11, so imagine my astonishment when I discovered their complete absence in Ubuntu! Even if you love your icons you probably won’t feel you’re missing anything, as they’re replaced extremely effectively by the computer menu and trash applet in the panels, in addition to your standard launchers. In fact, those who fill up their desktop with icons may even prefer this design, as it frees up space and organization possibilities.
So what is this fabled computer menu I keep mentioning? It’s very simply a menu on the top panel beside the application menu, replacing the actions menu. It functions as a launchpad for Nautilus, a centralization for configuration which Microsoft’s control panel can only dream of, and also a collection of the common tasks it would normally handle as the actions menu. It’s very effective at providing a divergence point from the desktop and applications menu, in order to keep them from becoming cluttered.
This menu happens to fit very well with Nautilus’ spatial browsing by offering links to home, desktop, disks, network, recent documents, and search. However, it’s still annoying since I have to mouse to the corner of the screen, so perhaps this functionality would be best served in a desktop context menu or bound to the keyboard’s evil keys. It would also be nice to have a link to the root directory. Still though, this menu is a nice step in the right direction for Nautilus.
And also for configuration. This distribution has the easiest UI configuration I’ve seen on any operating system, and I believe anyone who’s ever configured Windows or KDE to their liking would have no problems, and likely be relieved. Again it comes down to a simple diversion, this time between ‘desktop preferences’ and ‘system configuration’. Canonical doesn’t slip into splitting things into too many groups, and this keeps it elegant.
Capturing the Power of Time
It was during this very quick configuration that I noticed that my clock was set properly. This may sound like a strange revelation, but it’s significant. Not once did Ubuntu ask me if my system clock was set to UTC, just which timezone to use. Yet it was properly detected that it is in fact set to UTC, and the proper offset was applied to Arizona. This is something I couldn’t even get working properly in Conectiva with a good deal of effort, which, for the record, also has a nasty habit of resetting the system clock to it’s liking. Ubuntu’s handling of time, like so many other things, is refreshing.
Trouble in Zululand
The Battle for Copper Pair Pass
There are problems, however, as at this point I decided to connect to my dialup account. Having run through pppconfig during installation I expected this to be cake. Unfortunately, when I ran the ‘pon’ script, I was prompted to execute ‘mknod /dev/ppp c 108 0’ as root. I would later find from the mailing list that this device node is made by udev when hotplug detects the ppp_generic module being loaded. This module isn’t loaded by default, so it must be added to /etc/modules. However, at this point I simply made the node, which also loaded the module, and tried again to connect.
This time the modem dialed, and successfully connected. Unfortunately I couldn’t sign into Gaim or resolve a DNS despite properly setting up my static DNS in pppconfig. After some playing I discovered that I had to register my DNS addresses in the Gnome Networking utility (Computer->System Configuration->Networking). Hopefully this will be automated in the future.
Alright, so everything’s working properly, but I still have to run ‘pon’ from a terminal or run dialog. To remedy this right click on the panel at the top of your screen, select ‘Add to panel’, and choose ‘Modem Lights’. Right click the new panel app and change the lock file to your modem device, unless it’s ttyS0. For me this is ‘/var/lock/LCK..ttyS1’. Now run pppconfig to modify your connection, and make sure that your users can all dial out (from advanced options). Log the user out and back in to set the group changes, and you can now launch your PPP connection from the panel.
Obviously PPP connections can run much more smoothly in Ubuntu. However, once configured properly this Gnome desktop is very convenient in this regard. Though I still have a problem where, after disconnecting, I have to run pppd with ‘pon’ and then ‘killall chat’ before I can successfully dial again. I thought udev had fixed this, at least it did in Arch, but apparently not here. Please note that this problem is by no means limited to Ubuntu, or even Debian, and I’ll most likely be able to work around it in the ip-down script.
Managing a Newfound Power
At some point during this process I halted my computer and discovered a problem here as well. Not only would it not shutdown automatically, but I couldn’t briefly press the power button to turn it off like in most distributions where this happens. No, I had to press the power button for a full five seconds, or it would just sit there. Obviously this won’t do! Luckily I knew perfectly well that the problem was my BIOS which, being older than 2001, doesn’t support ACPI. Instead I added ‘apm’ in /etc/modules, and everything is perfect in power management land.
The Struggle for Strengthened Vision
Next on the list is the Nvidia driver, which luckily is in Ubuntu’s repository. So start synaptic and activate the main/restricted and security repositories. I would suggest not using Universe unless you know you need something from there, as this repository contains unsupported Sarge packages. Refresh your package lists, search for ‘nvidia’, and install nvidia-glx. The package will be downloaded and installed automatically, but the configuration isn’t so straight forward.
Open a terminal and load the nvidia modules with ‘sudo modprobe nvidia’. Now that the module’s loading has been verified, add ‘nvidia’ to /etc/modules, and run ‘sudo dpkg-reconfigure xserver-xfree86’. You could also manually edit the file, but dpkg will no longer manage it if the md5sum doesn’t match. So run through the configuration script, choosing ‘nvidia’ to the first driver question, and enabling glx while disabling dri and GLcore from the modules list near the end. Unfortunately there’s no way to disable Nvidia’s splash screen without breaking dpkg’s handling of the file. For all the other options, the choices will default to the previous automatic selection except for, I believe, the mouse device section, though I may be mistaken. This would be a good time to disable ’emulate3buttons’ if you’d like, and also to ensure that your monitor frequencies are correct (if you know them, otherwise leave them at default which is probably correct, but at least safe). You can now restart your xserver with ctrl-alt-backspace.
Digging Deeper… Briefly
The Search for the Source
Now that I’ve been digging deeper into the OS, I took my first look at the /etc and /home directories from an analytical standpoint. I was quite astonished. Most user friendly distributions are unable to reach a high level of integration without a good deal of bulk, which to me, actually makes the interface seem less cohesive and more likely to break. It also makes us hypocrites in one of the larger arguments against Microsoft, if you hadn’t noticed. Ubuntu, on the other hand, manages to make the experience feel extremely feature rich without a great deal of software installed. This less is more philosophy seems to result in the most cohesive desktop I’ve personally experienced, but I haven’t used OS X either.
The Great Assent
Don’t get me wrong, there are some things I’d rather not have, such as Postfix and Mutt. I figure if someone wants these things they’ll know how to install them, and they’re pretty much unnecessary with the very excellent Evolution 2. But then, Postfix follows Canonical’s no listening policy by default, which makes it practically a non-issue. The point is that there’s nothing that I absolutely can’t stand having installed, and that’s an accomplishment. Remember, as an Archer I’m used to the absolute minimum.
An lsmod has similar results. The Ubuntu team has made it clear they don’t want anyone to have to compile their own kernel, and while there are a great number of modules available, only the necessary ones are loaded by default, for the most part. This is why I had some issues with PPP and APM, but I’m sure they’ll be straightened out. As far as the ease of installing Nvidia drivers, I know Canonical is working on a smoother solution.
The King’s Library
Debian’s package manager is more complex than most, both checking dependencies and handling configuration dynamically. For the record, both of these traits can also be thought of as weaknesses, but they’re generally considered strengths. Now, being so complex, apt and dpkg have a great deal of functionality which takes time and patience to master.
But you thought I said this is a user friendly distribution, did you? Well I did, and this is where synaptic comes into the equation. Synaptic is a graphical front end for apt, created by Conectiva when they modified apt to work with RPM’s. It’s been available in every Debian distribution I’ve tried, but people seem to forget it when they decry apt as too complicated.
I could talk about package management all day (imagine that), so let me tie this up quickly. Synaptic adequately captures the base power of apt into a front end which is easily usable by novices. However, if you know what you’re doing, or if something goes wrong, apt and dpkg are still fully functional on the command line.
It should also be noted that Canonical is maintaining a full repository of it’s own to avoid the pains of compatibility with Debian’s. For this reason, only about 1000 packages are officially available according to the website, but there are many unofficial packages available in the unsupported Universe repository. I fully expect the official repository to grow over time as Canonical gains the capacity to maintain it.
The Struggle’s End
Most distributions in this choice saturated GNU/Linux community exist on a niche feature. They’ll do everything at an average level, or even subpar, and then have one thing that sets them apart. For Arch it’s simplistic minimalism, and Yoper’s is prelinking and other speed enhancements. Vector and Deli are for various ages of old hardware, and Gentoo is for the hardcores with bandwidth and CPU cycles burning a hole in their hard drives. There’s Debian for those who believe strong package management negates the need for releases, and RPM based ‘user friendly’ distributions for the people who prefer off the CD solutions with constant release cycles.
Canonical Software is a veritable all star team of developers, mostly from the Gnome and Debian projects, and it shows in their design goals. Ubuntu is fast, yet feature rich. It’s up to date, yet capable of being run on relatively old hardware. They take a traditionally bulky desktop environment which is near to their heart and prove that it’s reputation was due to years of misimplementation.
What’s more is they plan to blend one of the best package managers in the community with a steady six month release cycle, and are doing so with their own package repository. With this they set the foundation for a distribution which could be perfectly acceptable to hardcore hackers, yet perfectly usable by your average user. Ubuntu may finally break free of the niche.
The Cost of Knowledge
Unfortunately all of this is moot if Canonical can not come through on their aspiration to just work. We must keep in mind that this is a preview release, and a well publicized one at that. After all, that’s just a fancy way of saying public beta, so there are bound to be bugs, hunting them is the purpose. However, there are still a lot of them, and many quite serious.
The most common seem to revolve around network detection, and these are usually easily resolved by manually loading modules during installation. It also appears that many such cards are actually addressed by the detection routine, but simply slipped through glitches. I’m no developer, but that suggests to me that there’s a good auto detection/configuration foundation in place, and that fixes will be fairly easy.
But that’s not to say some bugs aren’t more severe. An official kernel not finding /proc is simply unacceptable. Abnormal IRQ conflicts with parallel ports and empty PPPoE symlinks can’t be fixed by your average user. Even a webcam not working properly or the aforementioned network detection problems will be deal breakers for many. If you’re interested in more information I’d suggest perusing Ubuntu’s bugzilla and subscribing to the ubuntu-users list.
But again, this is a public beta, it exists to find bugs, and that’s what it’s doing. It’s true, the amount of configuration I had to perform is unacceptable for a distribution with Ubuntu’s goals, but at this stage it’s at least understandable. To be honest though, I am irked by the quantity of the bugs, and curious about Canonical’s capability to fix the vast majority by late October. But then, that’s practically overnight, and I’m perfectly willing to give them a year, as a new distribution.
Staying the Path
According to Ubuntu’s website, their namesake means “humanity to others” in an African language. Just like this greater philosophy, I believe the desktop design philosophies behind the Ubuntu Linux distribution have been within our community for years. What Canonical has done, is to take an introspective look at said community in order to finally bring both the moral and technical philosophies, together, towards fruition. It’s my opinion that Ubuntu, at it’s root, is what Linux is all about as a whole. But then, I wear hemp too.
I’m not going to be switching to Ubuntu, as apt simply can not compete with Arch’s package management. I am, however, still very much excited by the prospects for this distribution. It’s amazing really, a week ago hardly anybody had heard of this nameless project, and now they’re already beginning to set benchmarks with their very first public beta. If Canonical is successful with their graphical installer, and they manage to get this very serious bug problem straightened out without ideological compromises, Ubuntu could become the first distribution I feel comfortable recommending to the average user.
That’s right, with patience and perseverance, Canonical might turn Ubuntu into the distribution which the mainstream has been constantly reminding us about, or waiting for, as it were.
|Asus P3V4X (VIA Apollo Pro 133a)||working, as detected|
|Coppermine Pentium3 800EB||working|
|1GB PC133 SDRAM||working|
|Nvidia GeForce3 64MB||working, optional configuration|
|Hercules Game Theater XP (CS46XX)||working, as detected|
|D-Link 530TX 10/100 (VIA Rhine)||working in loopback, as detected|
|Jaton Com V.90 ISA (Ambient 56xx)||mostly working, heavy configuration|
|Acer 12x8x32 IDE||reading and writing, as detected|
|IBM Deskstar8 8.4GB IDE||working, as detected|
|Cornerstone P1600 monitor||working, as detected|
|USB Keyboard and Mouse||working, as detected|
|APM Power Management||working, manual configuration|
|A healthy dose of contempt|
for desktop environments
About the Author
Michael Salivar is a 22 year old student of Earth from Arizona with images of carbon fiber laptops dancing in his head. He is a recovering Linux newbie of two years who has forsaken life’s complexities in favor of our planet’s beauty.