I like to occasionally try out different distributions of linux. Having experience with a variety of platforms is generally a good thing from both a practical experience standpoint, as well as a professional sense in being able to respond to security incidents and be aware of the differences between variants. Plus, I use my laptop like a fairly disposable piece of hardware. Most everything important I do isn’t really on the laptop, I mainly need the laptop for a word processor, a web browser, and an ssh client. This makes totally reinstalling and trying out different distros fairly easy. Read on for more on my experience with Ubuntu 5.10 The Breezy Badger.
h3. Work In Progress
First, a word of warning. This is a document in progress and as I’ve been working on itheavily these last few days, I have no doubt I’ll continue to change and add to it as I settle in to Ubuntu. These pages usually serve more as a reference for me on things I’ve done so I can do them again. If anybody else finds them useful or entertaining, all the better.
The easy way
Ok, after going through some trouble to find how to install some of the “less free” (java, acrobat, etc) programs, I found Automatix. It does an excellent job of filling in the gap, adding the appropriate repositories and automatically downloading all those tools you could possibly want. All the codec stuff, firefox plugins, acrobat, java, flash, multimedia programs, etc, can all be done with automatix. Of course, as I discovered while typing this, beware because it pops up the occasional dialog with a ‘cancel’ button in the middle of the screen, stealing focus from whatever you’re currently doing. Which, if it’s typing text, involves lots of space button pushes which will incidentally cancel the process. Oops.
Install
Install process was smooth. Almost too smooth — it’s a far cry from the customization of gentoo, or even the install of Fedora or Redhat where you get to chose all your packages. Ubuntu didn’t even ask me about my network settings. It just tried DHCP and since it worked, it went on its merry way. And I have to say I’m pretty pleased with the default install. Only 2gig of installed space and I’ve got just about everything I could want. Heck, it even had drivers and software to automatically downloaded photos from my new camera.
Kernel and Update
The very first thing that happened was that the system wanted to update itself. This is, of course a very good idea. I then went into the System/Administration tool, clicked Preferences removed all existing sources, then re-added Breezy, Security Updates, and Updates, making sure to enable Universe and Multiverse for all of them.
Since I’ve got a Pentium M, I could use a kernel more optimized than the default 386.
sudo apt-get install linux-686
sudo apt-get install linux-headers-686
sudo apt-get install linux-restricted-modules-686
You probably want to reboot after this step — if not, make sure to read the alert in the upper-right corner as it wants you to reboot and I think it locks the apt-get sources list even though it’s actually done doing anything important. On one install I had to manually do a sudo apt-get update at this point, but I think it’s only because of the previously mentioned lock on the sources file and probably wouldn’t be necessary if you avoid that mistake.
Of course, lots of people want their laptops to actually work like a laptop, suspending and all. Pretty much everything worked out of the box for me here. I enabled ACPID (it’s disabled by default) by editing /etc/default/acip-support and uncommenting the appropriate lines. I haven’t finished tweaking my setup the way I’d like, but the screen blanks if I close the lid, and when I chose the shutdown menu in Gnome, I can decide if I want to suspend or hibernate instead as well.
Command-Line Settings
I spend a lot of time in the command-line. A lot. My screenrc helps make my time in screen nicer, but there were a few other changes to get the new box where I wanted. I had to enable VIM syntax highlighting before my eyes rebelled at all the boring white plainness. Oh yeah, and it was white plainness instead of black plainness because I had changed my default terminal settings to white on black instead of the inverse (and set an icon in my dock to use xterm -fg white -bg black -ls which I prefer over instead of gnome-terminal — if I want multiple shells I’ll use screen, thank you very much, I don’t need a gui app doing that).
I like ~bin in my path, so I added PATH=$PATH:~/bin to /etc/bash.bashrc. Be aware though that this won’t “take” in many shells opened inside of X since they’re not login shells (hence my -ls on my xterm line above). I’m fairly sure there’s a way to make the change to the X settings so that shells opened there have the appropriate environment variables, but I haven’t found it yet.
I’m toying with removing UTF-8 from /etc/environment. I know UTF-8 is fundamental to any non-roman alphabet and ubuntu is all about the cross-language OS, but it also breaks a freaking lot of really ridiculous stuff you’d never expect. We once spent hours at the office troubleshooting why a 1 line perl search and replace wouldn’t replace appropriately and it was because of the stupid LANG variable was causing perl to want to try to do double-byte replacement for anything that looked like an ASCII character. One of the few times I wished I wrote more C.
GUI System Preferences
I went to System/Preferences in Gnome and changed some of my usual settings I like (keybind CTL-ALT-SPACE to maximize/restore, turn mouse follow on, disable sounds, change theme, etc). I also went to System/Administration/Synaptic package manager to make sure I had turned on some of the extra repositories for packages in ubuntu (settings/repositories), and changed my updater settings so it automatically downloaded the updates for me.
Incidentally, you can’t shut off the login or logout sounds (seriously, how’d they miss this bug?!) So I followed the advice there and removed the wav files listed. Thankfully that shut this thing up. I’d hate to operate it in a library otherwise.
Firefox
I did have to upgrade to firefox 1.5.0.1 via some excellent notes I found online, and then I got into the fun task of installing all the items on my (increasingly large) list of favorite extensions:
- Aardvark
- Platypus (0.64 linked to in the sidebar there)
- AdBlock Plus - Does what it says, and well.
- Filterset G updater (for AdBlock plus) - Well maintained set of filters for adblock.
- FlashBlock - By default blocks all flash and replaces it with a block that you can click on to activate the flash if you want to see it.
- Bookmarks Synchronizer - My favorite extension, bar none. It not only lets me upload my bookmarks, (have to remember to set <?xml-stylesheet type="text/xsl" href="xbel.xsl"?> in the style tags to make it work with my style sheets there), but keeps them sync’ed between machines, and this version has been updated to be compatible with 1.5.
- Forecast Fox - Great little extension that adds weather icons, information, alerts, radar, the works to your firefox status bar.
- GMail Notifier - Checks for new messages on gmail.
- Locate in Bookmarks - Very simple, very useful. When I search for a bookmark in my huge list of bookmarks, I want to know what folder it’s in. With this extension, just right-click on the bookmark and choose locate.
- Greasemonkey - Powerful tool for manipulating pages. Often used to change popular sites to add/remove/move features. Userscripts.org has a huge list of greasemonkey scripts.
- User-Agent Switcher - Useful when I want to see if a site is filtering based on user-agent.
- Web Developer - Great multitool with lots of features useful for web developers (or web hackers).
- Bugme Not - Extension that will log you in with default/throwaway accounts to the many sites around the internet that require privacy intrusive “free” registration.
- TabMix Plus - I cannot recommend this plugin highly. It is amazing. If you like the way tabs work in firefox now, just wait until you try tabmix plus. It also includes two other killer features that are often extensions themselves: killing new blank windows when downloading some files, and session saving so if firefox crashes or you close it, it opens with the same tabs.
- FasterFox - Optimizes and speeds up how Firefox downloads files. Unfortunately, they default to a non-RFC compliant mode which is a Bad Thing ™. I crank it down one notch so that it’s at least RFC compliant, and it’s been working well for me so far.
- DownThemAll - Download tool. I use it in conjunction with my baen download scripts (either the bookmarklet or greasemonkey script) to download all the Baen books I’ve purchased. Looks useful for other purposes as well, I just haven’t been using it all that long.
Multimedia and plugins
Apparently xmms has the mpeg codecs installed by default, but other media players don’t. So I followed these directions and they worked despite being slightly outdated.
As for getting firefox to play pretty with multimedia and adding a few other media tools:
sudo apt-get install flashplayer-mozilla
sudo apt-get install acroread
sudo apt-get install mozilla-acroread
sudo apt-get install acroread-plugins
Then regen the plugin directory in /opt/firefox (since I rolled my own — if you’re using the stock firefox, this is unnecessary):
pluginupdate.sh
#!/bin/sh
sudo sh -c "find /opt/firefox/plugins/ -type l|xargs rm"
cd /opt/firefox/plugins/
sudo ln -s /usr/lib/mozilla-firefox/plugins/* .
Misc
I proceeded to find the most excellent brightside that allows me to set up a hot-corner to lock my screen. I was jealous of the first Mac I saw that did that. (Make sure to add it to your session via System/Preferences/Sessions/Startup Programs/ and add /usr/bin/brightside) Speaking of Mac’s, that’s actually one comparison that keeps coming to my mind. Many of the changes in Ubuntu are very much along the line of Mac. It’s pretty, and it just works. Of course, under the hood is still a sweet and powerful system, so I gotta say, I’m pretty happy with that. Actually, after running it for a few days, it’s crashing on me and causing some other strangeness (like locking the screen again immediately after unlocking). I think I’m just going to stick with my locking keystroke and leave it at that. Oh well.
Make hard drive changes as documented here (hd tuning, smartd monitoring).
Networking
I used the snazzy Network setup tool (System/Administration/Networking) to set up different network profiles. Sure, they’re called locations in this version of gnome, but hopefully they’ll still work with the kernel option “netprofile=”. That way I could go in and edit my /boot/grub/menu.lst file, add a password, and add the following lines (near the recover altoption line which I commented out with an extra # to secure the machine — with a password I can always make changes to the boot option with the kernel password):
# altoptions=(UFW ssid) netprofile=ufw
# altoptions=(Home ssid) netprofile=home
# altoptions=(ANY ssid) netprofile=any
# altoptions=(WIRED) netprofile=wired
Now, when I first boot up the laptop I can choose which network profile it will boot into. I’m impatient and this saves the wait later on of switching network profiles. That’s further speeded up by changing the default dhcp timeouts.
Other References
I always like to look at what other folks have done on their installs, it’s often useful for finding patches, fixes, or things you didn’t even think to do. The most convienant source of linux laptop install logs is (not surprisingly), linux on laptops. While I didn’t find any other folks doing exactly what I did (Ubuntu 5.10 The Breezy Badger installed on a Dell Latitude D400), I did find ones that were close enough to give me great information. Specifically, when I get around to mucking with the external video out, I’ll be checking out DirectHex’s writeup again.
Also useful in this process was the Ubuntu Guide which has a large collection of useful tidbits with Ubuntu specific notes.
I agree, I’ve been using Ubuntu, exclusively, since the Hoary Hedgehog release last year. I’ve found that most things “Just work” ™ and being ‘nearly’ compatiable with Debian is a real bonus.
And although it strives for user friendly and everything in the GUI way of life it’s just as easy to fire up xterm and delve in the conf files.
Good choice!
Left by TheMole on February 18th, 2006
Try /etc/profile for modifying your PATH.
Looks like I’m going to have to try Ubuntu at some point myself…everyone keeps raving about it.
Left by Joel on February 18th, 2006
I don’t think /etc/profile was working either for terminals created without the -ls option. I’ll have to double check for sure, but I’m pretty sure I tried that since that’s usually where I end up sticking environment variable options on most other machines. I played around with it for a while, trying /etc/environment, /etc/profile /etc/bash.bashrc, and I think even /etc/login.defs (not sure, that’s all from memory), but none worked quite the way I was expecting on a non-login shell.
I have to admit, at first I was a little skeptical of all the hype — and if nothing else, I wanted to let it bake a little while longer, but I am pretty impressed. I mean, it’s nothing earth shattering, but overall, they’ve done an excellent job. I’ve got the least experience with any debian distros so this is probably the easiest introduction. As TheMole said, it really does just work, and they clearly put a lot of thought into making interfaces clean and usable. And when I find that the GUI doesn’t cut it for me, I drop to a shell and fix it (keystroke mappings in metacity, for example I had to gconf-editor into existance since there’s still no GUI tool to edit keystroke actions for commands)
Left by Jordan on February 19th, 2006
I have to say it’s no Mac OS X in terms of everything being available in the GUI but it’s getting there in huge leaps and bounds and Shuttleworth’s millions are certainly helping getting some good people coding/organising coders full time.
Left by TheMole on February 21st, 2006