So! About three weeks ago, I decided that I wanted to make a transition to Ubuntu Edgy. I have been a Linux user for a while, but I still tended to do a lot of my work in Windows, mostly because it seemed a lot easier and most of the stuff that I needed just worked. I decided to give an all-Linux approach another try (I usually try this about twice a year), and I must say, this time I think I am actually sticking with it. Ubuntu Edgy has fixed a lot of the problems that I have had with previous versions and a lot of other software seems to have significantly matured to the point of easy usability.
A quick note and kind of a disclaimer to start off, though: A lot of people have had issues upgrading from Dapper to Edgy ever since it came out (http://linux.slashdot.org/article.pl?sid=06/10/28/239258&from=rss) and I regret to say that it doesn't seem to have gotten any easier recently. I did this as a clean install on a blank hard drive, so I cannot help much with the upgrade blues, but I'll pester Steve to write an entry on how to solve a bunch of those issues because he went that route. This entry is an explanation of how I got a lot of things working inside Edgy that I needed, not how to get Edgy itself working. Also, since I am a KDE fan (no flaming please) I installed the Kubuntu version. I do not think that there are any specific issues that will come up in other versions that I did not have, but I am not an expert, so if there is, do not sue me!
Configuration & Edgy Packages
Alright, with that behind us, let's get on to the real thing. As I said, I installed the Kubuntu distribution. Since I have to do C/C++ development work for classes this semester, I followed the steps in one of my previous blog entries on How To Install C/C++ Reference Man Pages. Not that this is anything special about Kubuntu - it is just the first time that I have done it, so I thought it was cool.
The first snag in the system was the fact that I wanted to run dual monitors off of a single AGP card (an ATI Radeon 9200SE). I have one monitor connected to the DVI port and one connected to the VGA, and I wanted to have a spanning desktop. This is one of those things that I've never gotten to work in Linux before. I tried installing fglrx drivers and the ATI configuration utilities, but none of them were able to actually set up the xorg.conf properly so that it would display. Finally, after much Googling, I came across some newsgroup postings that helped, and eventually I came up with my xorg.conf that actually worked. I am using the radeon driver instead of the fglrx driver because I have seen a lot of instability in the fglrx one, and it ran significantly slower. If you have had issues with the radeon driver in previous distributions, you might want to give it a try again; it seems to be working with greater speed and stability. You can check out my final xorg.conf if you need it as a template to get yours working. It is interesting to note that if you swap between the fglrx driver and the radeon driver, it switches which port (the DVI or VGA) is recognized as screen 1.
After I got the graphics working correctly, I installed the basic tools that come with Edgy that I personally use quite a bit:
- Amarok - incredible media player. My favorite, and I even like it more than Winamp. The fact that it works straight out of the box with my iPod is part of the appeal too.
- The GIMP - good image manipulating program (hey, that could be its new acronym!)
- Inkscape - nice vector graphics program. I use it for some stuff because it's easier than GIMP
- Eclipse, and Eclipse CDT - Java IDE for my Compilers class, C/C++ IDE for my Operating Systems class
- XMMS - I like Amarok better for the media playing, but I am also a fan of XMMS' alarm clock plugin
- Blender 3D Modeler - I do not use it much, but a friend was demonstrating it for our local ACM chapter and it looks amazing
- Firefox and Thunderbird - my web browser and mail-client of choice
- ntfs-3g - a stable, reliable and awesome hybrid kernel/user-space driver for NTFS partitions. Works wonderfully, and is especially useful because my music and movie collection is all on NTFS.
- OpenOffice.org 2 - a much improved Microsoft Office alternative.
Automatix is an amazing expansion to the regular Ubuntu repositories. Make sure you direct it to use the Edgy repositories when you install it, but that is the default now, so not a big problem. I used automatix to install a few other programs that help a lot too:
- MPlayer - install this with the Firefox plugin and it will enable you to view any of the videos posted online (CNN.com, etc)
- Multimedia Codecs - installs a ton of codecs. After that you should be able to play just about any video file made...
- Firefox - you could install it from here instead of the regular repositories, but I prefer using the original Ubuntu ones
- Linux DC++ - for downloading Linux ISO's off of a friends hub
- Flash Player - installs Macromedia's flash player plugin for Firefox so that you can play flash games or view flash websites
- Wine - Automatix does the best job of anything I have ever used at installing a functional and usable copy of Wine. After installing Wine, I installed Dreamweaver 8 (successfully and easily!) so that I could do my web development work. It works great.
Remote Desktop Replacement
One of my favorite features of Windows XP Professional was the remote desktop program. For anybody not in the loop, it essentially lets you remotely connect to your computer from anywhere that has the client (or anywhere that you can run the client from a USB stick!). From there you can full screen it and it is essentially like you are sitting in front of the computer in your room. One of my favorite features of it is the fact that it can forward music, so I can listen to my collection of music from anywhere without actually having to carry the collection around. The best Linux equivalent that I have come across yet is FreeNX by NoMachine. It essentially wraps itself into an SSH session and forwards a fully functional desktop.
There are a few important things to note about FreeNX. First of all, it runs similar to SSH in that when you connect into it, you get a completely freshly started shell (in this case a GUI one). So when you remotely connect, don't expect to see all of the programs open that were already open when you walked away from the computer in your room. It does, however, support suspended sessions. So when you go to disconnect from your current session, it gives you the option to either terminate or suspend. If there are suspended sessions, then when you go to remote into it again, it offers you the option to resume a suspended session or start a fresh one.
Also, the NoMachine version of NX Server only allows 2 users to login concurrently. If this is all that you need, then I recommend theirs. Otherwise, you can get alternative .debs from these instructions. If you have trouble configuring the system that is also a good resource on how to get it off the ground. The debs from that site are for a GPL-ed version of FreeNX which requires nxclient 1.5 (available from those repositories and for windows users from many other places.
One of the most aggravating things about using FreeNX was that whenever I remotely connected and tried to open a new session of Firefox, it told me that there was already an instance running (aka, the instance I had left in my room). This can actually be resolved using one of Steve's shell scripts (http://fugitivethought.com/projects/shell-scripts/firefoxcheck), but there were other issues too. I use Amarok as my main media player, and have it using the Xine engine for audio output. Now to play music in my room I had to tell the Xine engine to output to the ALSA driver. To play over FreeNX I had to tell it to output to the ESD driver. Amarok makes it reasonably simple to switch this (Settings -> Configure Amarok -> Engine -> change the Output Plugin from a drop-down menu) but it was one more thing to do that I should be able to just ignore. Finally, combine this with the fact that Alt-Tab inside of FreeNX swaps you between windows in your parent Operating System (whatever OS you are running the client on) instead of on the remote desktop, I had to keep swapping key-bindings to use Ctrl-Alt-Tab instead so I could switch windows inside the FreeNX session. Ultimately, I created a new user account on the server computer that had all of these settings saved as defaults, and I connect using that user name instead now. It solved all of my issues and I am now a very happy FreeNX user.
This one will probably make a lot of you cringe. I know I cringed when I first heard about it. But there are still a number of websites out there that either use a bunch of IE only hacks or directly tell you that they only support Internet Explorer and simply refuse to render the page until they are convinced that you are indeed the Microsoft Browser. Thankfully, an enterprising guy over at Tatanka (why is his site named after bison again??) came up with a nice easy program that solves this for Linux users. With Wine installed, run his Ies4Linux program and you get Internet Explorers 5.0, 5.5 and 6.0 installed and ready to roll, complete with the flash plugin. They run inside of wine bottles, so they won't affect any of your other programs that use wine and hopefully will be relatively safe (hey, its Internet Explorer so no guarantees!) for the rest of your operating system.
I have been using Ubuntu Edgy for a little over three weeks straight now and I am still quite happy with it. I think this is the longest time I have gone yet without thinking "gee, I really need Windows to do X" or even "man, this would be a lot easier in Windows!" If other issues do arise that cause me to change my mind about it, there will undoubtedly be a rant posted here, but I am optimistic. I realize that to a lot of you, the stuff on this page is redundant, but I hope you found at least one thing cool or interesting. Please leave feedback and let us know what you think!
I did originally put most of this information into a presentation for my local Linux Users group as a slightly sarcastic presentation named 10 Reasons NOT to Use Linux, it can be downloaded in Open Office Impress format or Microsoft Powerpoint format. Enjoy!