emblemparade.com

Recommended Applications for Ubuntu

Originally published on LiveJournal, 2.19.08

I know some of you are using, or fooling around with free operating systems. You might, then, be interested in this article I wrote, a pretty complete guide for people who have needs similar to mine: 1) I’m a graduate student; 2) I use my computer as my media center, for music and video. Many of my tips, though, would be useful for many other needs.

Where appropriate I will provide a command line to install the software on Ubuntu (Gutsy Gibbon), or a link to an external repository for Ubuntu. For other free operating systems, there should be something quite equivalent. I should also note that I run the GNOME desktop, love its minimalistic user interface guidelines, and have a significant preference for made-for-GNOME applications. Unless stated otherwise, all recommended application are GNOME-happy.

Web Browser

Unfortunately, Firefox 2 is the best there is for the GNOME desktop right now. I personally find it too sluggish and bloated for a web browser, and its XUL-based interface is plain weird. Opera is a lean and mean alternative, but it’s more KDE- than GNOME-friendly.

The official GNOME browser (not used by Ubuntu) is Epiphany, which features the clean, minimalistic GNOME design. Unfortunately, the currently released version uses the same heavy Gecko engine used by Firefox, so there’s little advantage in using Epiphany over Firefox. The next version of GNOME will feature Epiphany based on the WebKit engine, which is what Safari on Mac uses. WebKit is a derivative of KHTML, which is in turn used by Konqueror on the KDE desktop. I’ve run previews of Epiphany-over-WebKit, and it looks very promising. So, I expect to switch to Epiphany in the future.

Until then, you can speed up your Firefox experience a bit by using Swiftweasel, which is simply an optimized, and more freely licensed, version of Firefox (Ubuntu repository available. Just make sure you copy your font settings from Firefox, otherwise it’s a bit gross.

Previewing the Future

If you really want to try an optimized build of the latest-and-greatest upcoming Firefox 3, try Swiftfox. It’s fast, but currently very unstable. Also, Swiftfox’s repository annoyingly replaces your current Firefox install (unlike Swiftweasel, which politely installs side-by-side). Personally, I’ve had it with Firefox’s bizarre XUL shenanigans and am more interested in seeing Epiphany improve than in seeing yet another Firefox. It would perfect if Epiphany could be made to switch in a click between the latest-and-greatest of Gecko and WebKit! I think that’s a wet dream for many GNOME users.

If you want an early taste of WebKit in GNOME, try out the Midori browser, which is still in an early alpha (Stéphane Marguet, a.k.a. stemp, maintains an Ubuntu repository. I suspect Epiphany-over-WebKit will make Midori obsolete.

Email

Theoretically speaking, Thunderbird is better suited than Evolution for my needs. Evolution is a full-blown Microsoft Exchange client (an Outlook clone), which actually does far, far more than just email. You’ll notice that Ubuntu puts it under “Office” in its start menu, rather than “Internet.” If you don’t work in a company which has an Exchange server, all those extra features are just bloat. Evolution is also rather clunky and weird, as the source code was not originally made-for-GNOME. It was gifted to the GNOME project by a small company that went bankrupt. GNOME keeps it because it’s actually very, very hard to create an Exchange client. Each release of GNOME does improve things a little, but it’s pretty much a monster of a project.

I use Evolution anyway, because it plays nicely with other GNOME applications. For example, Evolution is used by GNOME for its contact database: Evolution can automatically synchronize contacts with Pidgin. That’s really nice. Porting all my mail rules and stuff from Thunderbird was a pain — I recommend just using Evolution immediately. It’s far from perfect if all you need is email, but it does the job (except for when it crashes...).

Instant and Other Messaging

I love Pidgin. I’m a very heavy IM user (accounts on all networks, multiple accounts on some, hundreds of contacts), and Pidgin does all I need. On Windows, a long time ago, I used Trillian Pro, and I find Pidgin is almost as good, and definitely much leaner and meaner. I’ve been using it since it was called GAIM (bleh).

Gutsy doesn’t include the latest version of Pidgin, but an updated repository is maintained by the Ubuntu Unofficial Backports project.

I’m fond of the Pidgin MusicTracker plugin, which updates my status message to what I’m currently playing, and works with all popular music players. Unfortunately, there are no repositories for Ubuntu, so you’ll have to build it manually — easy, but very intimidating for non-pro users. In case you want to try to build it, make sure you have these packages:

sudo aptitude install pidgin-dev libpcre3-dev

When I finally made the move from Windows to a free operating system, I got more productive with practically everything, but I had to sacrifice one capability: video chat. Ubuntu comes with a free SIP client, Ekiga but, try as I might, I couldn’t manage to use Ekiga to video chat with my pal in Japan, who uses Windows. We tried various different SIP clients for Windows, and I tried various SIP clients for Ubuntu, with no success. Skype, on the other hand, usually just works, punching holes through any routers and firewalls that dare to block its path.

Skype for Linux 2 was just released with video chat support! There are nice instructions on how to get it installed (there’s an answer to everything on the Ubuntu forums). In my case, once I did get it installed, I had trouble getting it to recognize my web cam, because I use a 64-bit operating system and Skype 2 is currently being released 32-bit only. There are instructions there for getting that to work, too! With Skype video chat, my transition from Windows is finally complete, with no sacrifices or regrets, and many improvements.

For the last entry in this section, I must confess that I use LiveJournal. No, you grow up! Drivel is a cute little LiveJournal updating client.

sudo aptitude install drivel

Academic

In much of academia, Microsoft Word has become the standard for document writing and exchange. That’s really too bad, because it’s not designed for academia. It is, after all, part of an “office” suite, and that’s where it’s most useful, though some office and academic uses do converge. In the office environment, Word’s WYSIWYG (what-you-see-is-what-you-get) concept is a godsend, because presentation is often just as important, if not more important than content. When a secretary writes a company memo that will be seen by the higher-ups, when an associate prepares a presentation for a meeting, when a letter needs to be sent to an important client — the quality of presentation reflects on the company’s professionalism. By making sure that what you see on the screen is what you get on the printer (or the projector), you are saving a lot of time.

WYSIWYG is rather worthless for academia, where content is prime, and presentation (we often call it “formatting”) usually comes at the end, after the content is reviewed and approved. In fact, fancy formatting early on in the drafting process could be distracting. Worse, WYSIWYG puts severe limitations on the software’s ability to print, because of the vast differences between computer screen technologies and the capabilities of printer. All this to say that, though I use OpenOffice for office-like work, I don’t use it for writing academic work.

Instead, I use LyX, a WYSIWYM (what-you-see-is-what-you-_mean_) document processor that uses LaTeX for producing articles and book-length works. LaTeX, based on the TeX program, has been around for decades, successfully typesetting major publications. As a language, it’s a series of typesetting commands, representing the activity of human and mechanical typesetters before the digital age. This is very, very different from the WYSIWYG concept, which is based on assembling an image on the screen, which is then slammed as a whole onto paper. Actually, TeX has been successfully producing beautifully typeset books before computers even had graphics screens!

LyX is nowhere as mature a word processor as OpenOffice Writer, or even AbiWord (a lightweight Word clone). For example, while it has nice features like version tracking, it has no inline spell-checking. It also allows you to do some things that are illegal in LaTeX, so everything seems OK when you work, but you get LaTeX errors when you print. However, it’s good enough for my MA paper and dissertation proposal. It never loses data even when it crashes, and it keeps getting better every version. Unfortunately, to really make good use of LyX you need to learn a bit of LaTeX, but the extra work is very much worth it. It honestly doesn’t take that much more time than learning how to use Microsoft Word’s many features (which keep moving around in the interface for every new version!).

sudo aptitude install lyx latex2rtf

(Small warning: LyX is a huge install, easily as big as all of OpenOffice. The reason is that it includes a very complete LaTeX installation, which you’ll find is very nice to have at your fingertips, once you know what to do with it.)

LyX supports BibTeX, a powerful bibliography and citation extension of LaTeX. It’s not quite as powerful as EndNote is, but with some work, and some extension packages, it can do everything. A new extension of BibTeX, called Biblatex (which LyX only supports minimally in its current version) is just as powerful as EndNote.

There are many, many BibTeX bibliography managers, including gBib, which is made-for-GNOME and works with LyX. However... gBib is a bit to minimalistic for my needs (I currently manage hundreds of bibliographic references for my research, heavily annotated). So, instead I chose JabRef, which, annoyingly, is a Java application, but is full featured and works well with LyX.

sudo aptitude install jabref

As a side recommendation, I’ll point out that, if you were ever a student in the 90s, you probably used office suites to produce bulletins, fliers, posters, brochures, etc. In fact, they’re used so heavily for this purpose that Word and PowerPoint have come to include special tools for this, such as clipart libraries and those really, really annoying 3D font plugins. Thing is, office suites are not really designed for this purpose. So, instead, I recommend Scribus, free and simple desktop publishing software.

sudo aptitude install scribus

Us academics need to work a lot with PDFs. Two useful tools to add to your arsenal are PDFEdit (made-for-KDE, very buggy and slow, but works), and gscan2pdf. The latter does exactly what you think it does — and, believe it or not, there’s no free alternative that runs on Windows. Until I switched to a free operating system, I had to go to my departmental computer lab, where we had an expensive Adobe suite installed, to scan documents into PDFs to send to my students. Believe me, I looked at everything available for Windows, including some commercial solutions cheaper than Adobe. They were all crap, if they even worked. gscan2pdf is perfect. It saved me so much work, that it was worth switching to a free operating system just for it.

sudo aptitude install pdfedit gscan2pdf

Finally, I want to recommend a tool that’s useful for both academics and office workers. NoteCase is the best note taking application I found for GNOME. Again, I’ve tried a lot of them! Though GNOME comes with Tomboy, I absolutely despise it, because it runs on Mono, a monstrosity which should not exist on the desktop, and definitely shouldn’t be needed for running such a small thing as a note-taking applet! (I can’t wait for stupid Mono to be replaced by the ingenious Vala project.) Also, Tomboy doesn’t allow for hierarchical notes, which means that if you ever have more than 10 notes, things are going to get very messy. NoteCase does everything I need: it allows me to create a hierarchical tree of notes, automatically backs up my notes, and supports encrypting the whole notes file (I sometimes keep sensitive information in my notes). I use NoteCase a lot to jot down ideas and things, and as a reference for myself. I would prefer if it had the wiki-like support that a lot of note-taking apps have, but it makes up for that loss with being dead simple and easy to use.

KDE has a more full-featured, and actually very innovative alternative, called Basket. Unfortunately, it’s very much tied to the KDE desktop, and if you install it under GNOME, it will pull in half of KDE as dependencies... I also found it to crash a lot and lose my data, which is unacceptable for a note-taking applications.

sudo aptitude install notecase

Video

First of all, if you’re using Ubuntu, you absolutely need the Medibuntu repository, which includes all those semi-legal codexes and decoders for supporting such proprietary formats as MP3 and DVD playback. It’s a very well-supported repository as far as non-official repoistories go. Ubuntu will automatically find and install necessary packages whenever you try to play the appropriate media for the first time. If you add the Medibuntu repositories, they’ll also be used. It ends up being very automagic and awesome. If you’re used to googling and installing weird software in Windows to try to play some rare file you found on the internet... forget about it. Ubuntu does the work for you.

GNOME’s official video player is Totem (called simply “Movie Player” in Ubuntu’s start menu), and it’s dead simple. However, because it’s based on the gstreamer media backend, which is still not fully functional, it might hiccup or simply refuse to work with certain video files.

For those few cases where Totem/gstreamer won’t cut it, I recommend adding VLC and mplayer. They’re not as easy to use as Totem, but between the two of them, they can play anything. They’re also ridiculously small installs, so there’s no excuse not to have them around, just in case. VLC, for example, supports playing DVDs directly from .iso files, which Totem can’t currently do. Otherwise, you’d have to burn the .iso to a disc to view it! Note that mplayer is a command-line based viewer, but I’m including a GNOME client for it.

For ripping DVDs you want DVD::Rip, which combines several excellent free software tools under one single, complicated roof. Lots of knobs and switches to puzzle about, but it all works.

sudo aptitude install vlc mplayer gnome-mplayer dvdrip

Acquiring Music

Before we get to music players, let’s rip!

Though Ubuntu comes with Sound Juicer for ripping music, I strongly recommend you don’t use it, and in fact avoid most CD-rippers out there. The reason is that they are usually very poor at handling CD errors, which are very common with audio CDs. Many people don’t know this, but reading audio CDs is very different technology from reading data CDs, and much more prone to error. Audio CD reading not random access: in fact, the CD has to spin at the exactly correct speed in order to get to the data. It’s actually mechanically a lot like vinyl records, only digital! So, even though it’s the same digital medium as data CD, there’s no guarantee of a 1-to-1 copy as in data. In the early days of CD technology, this allowed for cheaper audio CD players. These days, it’s an annoying anachronism. In any case, there are much better audio-CD rippers out there, that avoid the potential hiccups or bleeps you would get with Sound Juicer, especially with older CDs.

I recommend Grip. Its interface is a bit annoying, but it does the job better than anything out there. It can get perfectly sounding audio files out of the most ancient, scratched CDs.

sudo aptitude install grip lame flac

To rip MP3s, I suggest the following options in Config->Encode. First, select the lame encoder. Then, for constant bit-rate MP3s, using the following for the encoder command-line:

-h -b %b -m s %w %m

If you prefer variable bit-rate, use:

-V 3 --vbr-new %b %w %m

There’s a lot more good advice on using Grip here.

I tag my music collection religiously, which makes it so much more easier and pleasant to find and play the music I want. So, I spend a lot of time with tag editors. Of all available for free operating systems — and I have tried them all — the best is Kid3. Ubuntu comes with two versions: a made-for-KDE version, and a more agnostic one. We’ll use that.

(Note that my absolute favorite tag editor of all time is ID3-TagIT, which is unfortunately a dead project. Also, because it was converted to icky .NET at some point, only a very old version of it can be installed on free operating systems using WINE.)

sudo aptitude install kid3-qt

I also scan all my music files for ReplayGain, to make sure they play at a nicely comparable volume, even when I’m mixing files from many different sources. MP3Gain does the job. It is, however, a complex command-line tool. Here’s the command line I use, running on an album directory. It calculates the album gain and individual track for the files:

mp3gain -r -d 5 -k -s s -T *
sudo aptitude install mp3gain

As an alternative to using MP3Gain, I also install foobar2000. Yes, it’s a Windows application, but it works well enough over WINE, and is, in fact, a kick-ass music player.

So much for acquiring music from your CD collection. If you want to download music (and movies, TV shows, etc.) off the net, I would suggest the following excellent software. Uhm, you’re only going to use it to download legally available music, right?

aMule is an eDonkey/eMule-clone, connecting to the huge P2P networks compatible with eD2k and Kademlia.

Museek is a Soulseek clone. Configuration is a bit odd, because the graphical client (Museeq) runs over a background server (Museek). If you know what you’re doing, though, this arrangement is fabulous, and allows very nice remote control of your downloading. Soulseek is not a P2P network, and downloads are rather slow, but on its sluggish network lie nodes which together represent a treasure chest of rare music. Soulseek is where the collectors go. (Note that you can also install the real Soulseek over WINE.)

Finally, Deluge is a lean and mean bittorrent client.

sudo aptitude install amule museeq museekd musetup-gtk deluge-torrent

Playing Music

There is a ridiculous amount of free options available. Ridonculous, even. Luckily for you, I’ve tried them all and can boil it down to the best.

There are two different styles of music players. Most people want a music player that that is also a music library manager, making it easy to find tracks and create playlists. However, for music library managers to work well, you need a consistently well-tagged music library, which you probably don’t have if you tend to steal your music off the net. And, within music library managers, one must consider those that can deal with very large collections (over 10,000 songs) and those that can’t. Very few can.

A solid choice among music players that can deal with moderately-sized collections is Rhythmbox, GNOME’s official player. It’s kinda like iTunes, but simpler and cleaner, and comes with a lot of useful plugins. It’s also... boring. There are far more exciting options just a few clicks away.

A much nicer option for non-huge collections is Exaile, a very elegant, made-for-GNOME application, which fetches album information, lyrics and graphics from the net, can browse internet radio, manage podcasts, and has many other goodies while maintaining a very clean interface. It’s currently in active development, but is perfectly usable.

sudo aptitude install exaile

If you have a huge collection, or just want to use the best, most feature-filled music player ever, you want Amarok. Amarok is the killer app of the free operating system world, enough to get people to convert to free operating systems just so they can run it (although a Windows version will be available for the upcoming Amarok 2 — which is causing some controversy among the free software zealots). It’s basically like iTunes plus the feature wishlist of every iTunes user ever. It’s that good. I especially like how it organizes your compilation albums automatically under “Various Artists,” even if you have a different artist tagged per song. That removes so much clutter from browsing music! It also has excellent support for synchronization with MP3 players (such as iPod), internet radio, podcasts, and all the rest. The only problem? Amarok is made-for-KDE. Works on GNOME, but ... looks weird, and has that cluttered KDE interface I hate so much. (Exaile, in fact, is an effort to duplicate Amarok on GNOME, though Exaile currently chokes on huge music collections.)

Note that to handle huge collections, Amarok requires a MySQL backend, but that’s very easy to configure, and I’m including that in this install. With MySQL, Amarok is lightning-fast, no matter how big your collection. It displays its search results live, as you type. (iTunes does this, too, but can only handle very small collections.)

sudo aptitude install amarok mysql-server libxine1-ffmpeg libvisual-0.4-plugins python-kde3 mysql-server

To enable MP3 playback on Amarok, run this

sudo /usr/lib/amarok/install-mp3

I’ve used Amarok for a long time, and I still love it. But... I really do love GNOME’s clean interface design. Also, so many of Amarok’s features are not really useful for me. Exaile would be perfect if it could handle my huge music collection. In the future, it might. Until then, I’ve moved to a GNOME solution, and one completely different from Amarok.

Sonata is currently my player of choice. It’s an extremely lean and clean player, which still supports some nice features, like automatic fetching of album art and lyrics. The more curious aspect of Sonata is that it’s merely a client for the Music Player Daemon (MPD), which does the heavy work of organizing the music library — and it can handle huge libraries — and playing the music. This combination provides a few interesting advantages. First, I can close Sonata entirely and music will go on playing, because MPD is always there in the background. That’s nice, in case Sonata crashes (it never has, but you know how desktop applications can be...). Second, and more interesting, is that there are many, many other MPD clients to choose from other than Sonata. It’s possible, in fact, to run many at the same time. They will display the same library, playlist, currently playing song, etc. What good is this? Well, just look at the list of clients. You can control MPD from within Firefox via a plugin, or run a remote web server on your computer which would allow you to control it from anywhere on the net. For example, you can setup a dedicated media player computer in your house, connected to your good stereo system, and control it from your main desktop computer. There’s also a perfectly usable command-line player, NCMPC, which you can access simply by logging into the remote computer. It’s so small, that I might as well include it in this install.

The combination of Sonata + MPD is very, very light. MPD plays music files directly, because that’s what it’s designed to do, rather than use some of the heavier media frameworks (Exaile uses gstreamer, Amarok on Ubuntu uses Xine). MPD barely takes any resources at all. Definitely the opposite of Amarok + MySQL!

sudo aptitude install mpd mpc ncmpc sonata python-zsi python-tagpy lastmp

MPD has a cool client, called LastMP, which “scrobbles” your tracks to Last.fm. Though Sonata supports this internally, it’s nice to have this happen even if you run a different MPD client. LastMP runs as a daemon and talks to MPD independently.

sudo aptitude install lastmp

Finally, you might want a player without any kind of library management at all. This is, in fact, necessary if you organize your music collection by directories, rather than by tags, because you are bad and stole all your music, and then didn’t bother to tag it. Otherwise or also, you might be an audiophile who cares more about the fine-tuning of sound than about organizing music collection.

What you want is Audacious, a gorgeous little player, which has tons of specialized plugins mostly oriented around sound alteration. It even supports classic Winamp skins. Audacious is one of the most mature, well-rounded music players for free operating systems, and supports practically all the various specialized sound technologies. The reason is that it has a long history, being a fork of a fork of a fork of an original effort, years ago, to produce a free operating system clone of an early version of Winamp. In fact, many of these various forks are still active (Beep, BMPx, XMMS, XMMS2), but Audacious is considered the most "complete."

sudo aptitude install audacious audacious-plugins

As a small addendum, I’d like to recommend GNUMP3d, a web music server. It is not a music player, but what it does is allow you to access music via a web interface, and play it with a player that supports streaming from the web, or directly from your web browser via a plugin. This is a nice way to share music over the network in a dorm-like environment, or even to let you access your own music collection over the web (in case you know your computer’s IP address). GNUMP3d is small and self-contained (it doesn’t require you to install any web server software).

sudo aptitude install gnump3d

Tools

Finally, here are some recommendations for miscellaneous tools to make your life easier.

Though Ubuntu comes with a few options for burning CDs/DVDs, directly via GNOME’s Nautilus file browser, or with the Serpentine Audio CD Creator, you might find these a bit too simplistic.

Brasero is a much more flexible burning application, which will remind you of the commercial mother-of-all-burners, Nero. I also recommend adding gMountISO, if you’re at it. It’s a simple graphical interface allowing you to mount/unmount .iso files into your filesystem, which is an eaier alternative to either burning them to CD/DVD or extracting them if you just want access to the files.

sudo aptitude install brasero gmountiso

(If even Brasero isn’t powerful enough for you, try K3b, a made-for-KDE application which has even more knobs and sliders.)

Quick! Add support for some extra archiving formats:

sudo aptitude install rar unrar p7zip

Finally, here’s a collection of various small utilities which you might find useful.

Gwget is a download manager, which can significantly speed up web downloads in certain situations by opening several connections at once. It works well with the excellent FlashGot Firefox extension for fast download goodness. BUM lets you turn on or turn off the automatic starting of services and daemons on Linux. It’s surprising that GNOME doesn’t automatically include an interface for this. Glipper is a straightforward clipboard manager for GNOME, another glaring omission.

sudo aptitude install gwget bum glipper