Linux Software
The following is a list of various software packages of which I know that will serve different purposes. As mentioned elsewhere, there are tons and tons of software packages available to do almost any job. This list is intended only to give those thinking about switching to Linux a sense of what's out there. See also the list of software sites on the links page. This is not intended to be and is not a complete list. As I said, it is simply intended to give those thinking about switching a sense of what's out there, and an initial guide. LinuxLinks hosts a list of Linux software that is as good as anywhere to start. But remember: Google is your friend.
There are lists here of applications in these categories:
- Word Processing and Office Applications
Note that all of these will open files saved in Micro$oft formats and save to those formats as well, if you need to share files with people still using legacy applications. They tend to read and write files written in many other formats as well, including, importanty for me, WordPerfect's various formats, at least so long as you have libwpd installed. Most of them will also export files in Adobe's PDF format or, if not, then at least as PostScript, and you can use the ps2pdf utility to convert to PDF.- Libre Office
A 'full-featured' office package that included a word processor, spreadsheet, presentations package, and drawing program, and a formula editor, Libre Office is comparable to Micro$oft Office in its power. Its downside is that its memory usage is comparable, as well. But if you're doing newsletters and the like, it is a good choice. - KWord
Part of the KOffice project, KWord is based upon the FrameMaker model, which organizes a document by "frames" rather than by pages. It is a powerful program, but not one I have used a great deal. I intend to have a more serious look at it shortly and will report my findings. KOffice also includes a spreadsheet, a presentation package, a flowchart and diagram editor, a report generator, a project manager, a charting application, and a formula editor. Note that KOffice, although built on the KDE codebase, does not have to be run under KDE. It will run just fine under Gnome, XFCE, or a more minimal window manager, as long as you have the relevant libraries installed. The general view seems to be, however, that the KOffice package is a bit behind both OpenOffice and Gnome Office. - AbiWord
Part of the Gnome Office project, AbiWord is probably the open source word processor most similiar in its feel to Micro$oft Word. It is also the smallest and fastest I've used. It doesn't have as many features as Open Office, but I don't always need or want all those features. If I'm just writing a letter, or a quick note, I will often use AbiWord. I've found that casual users, and office staff, often find using it a lot easier than using a more "full-featured" program. Gnome Office also includes the Gnumeric spreadsheet. Planner is a project management program written for Gnome, and other sorts of programs can be found at the GTK+ software repository. - LaTeX
Not a word processor, or anything of the kind, LaTeX is a typesetting language based upon TeX. Especially if you do any kind of scientific or mathematical writing, it is the only sensible choice. Indeed, I have found it much easier even to write straight philosophy and letters of recommendation when I am not distracted by all of the formatting being applied (often incorrectly) by a full-featured word processor. LaTeX is an adjustment, to be sure, but one it is well worth making, and there are a lot of good introductory tutorials. Try this one.
LaTeX source files are ordinary text files and so can be created with any text editor. The truly hardcore use Emacs or XEmacs or vi. But there are also some excellent LaTeX editors, such as Kile (built on the KDE codebase) and TeXMaker (written using GTK). - LyX
LyX is what I use for writing philosophy. It works much like a traditional word processor, but it leverages a lot of the functionality of LaTeX and is fantastic for technical writing. It takes some adjustment, but is very much worth it. - Scribus
Scribus is not a word processor but a desktop publishing application, similar to Micro$oft Publisher or Adobe FrameMaker. I've only used it a bit, but I'm told it's quite good.
- Libre Office
- Internet Applications
Linux is intrinsically a multi-user, networked operating system. It lives and breathes the internet. That said, here are some pointers to some of the many programs available for various purposes. Let's start with web browsers.- Firefox
is still miles ahead of anything else, in my opinion. Once you've learned its power, you will have a hard time going back. What makes it most powerful, and most fun, is its extensibility. If you want to see just how extensible it is, enter this as the URL in Firefox: chrome://browser/content/browser.xul. You've just opened the browser itself in a browser window! That's right: the user interface itself is created by the Gecko layout engine. You can do that, you can do anything. (See the Greasemonkey scripts for an example of what kind of things you can do.) - Konqueror
Konqueror is the web browser that is built into KDE. It is actually a lot more: It's a file manager, a document viewer, and about a billion other things, too. Built on the KHTML libraries, it supports most web standards, but not to the same degree as Firefox. Still, if you use KDE, you should get used to using Konqueror for quick checks of things on the web. It's always loaded and so is fast to use. - Text-based Browsers
Yes, really. The two best known are Lynx, which dates from before Mosaic, which was before Netscape, and the somewhat more complete Elinks. I mean, if you've never used one of these, you have no idea how fast the Web can be. Try it.
I might as well also mention wget here, though it isn't a browser at all, just a command-line tool for downloading things off the web. You want all the ISO images for Fedora 3? Why waste your time pointing and clicking when you could just do this?
for i in 1 2 3 4; do wget -P /tmp/fedora3 http://mirror.linux.example.com/iso/FC3-i386-disc${i}.iso; doneLet that run for a while (a couple hours, maybe, if you have a fast connection) and all the ISOs get dumped in /tmp/fedora3/. Now imagine there were 100 of those files and you can start to see why the *nix model is so powerful. (Yes, you could do that in Windows, too, if you had wget. Do you?)
- Evolution
Now developed by Novell, Evolution aims to be a replacement for Micro$oft Outlook. It thus includes not just an email reader but also a calendar, contact organizer, and the like, as well as a PDA connector. It is an extremely powerful program, too powerful for my sort of needs, to be honest. But for a small (or even large) business, it would be an excellent choice. Spam-filtering based upon SpamAssassin has recently been added. - KMail
KMail is a good, solid mail reader, which I'd be quite happy to use on a daily basis. It is part of the KDE-PIM application suite, but KDE-PIM is not the sort of large, monolithic application that Evolution is. Rather, it consists of a large number of independent programs, each of which can be used (or not used!) on its own, but which work together and are tied together by the Kontact organizer. The complete suite includes an address book, a calendar, a time tracker, an RSS-feed aggregator, and a PDA connector. Spam-filtering uses SpamAssassin and similar tools. - Thunderbird
Thunderbird is a stand-alone mail-reader based onmozilla's Gecko layout engine. It's what I use most of the time. It has what I need and doesn't have what I don't, and I am especially fond of its excellent junk-mail filtering. - Pine
Pine is a completely different sort of choice, but a popular one. Pine is a console application, which means that it runs in a terminal window. That makes it extremely fast. It takes a little while to learn, since there's no pointing and clicking, but it isn't that hard, really, and, as I said, it is incredibly fast. I use it from time to time. - Other Options
Balsa is a small, fast email client for Gnome. Mutt is another console app. VM is an email client that runs inside Emacs. And so on and so forth....
- Gaim
An AIM work-alike, but it handles not just that format, but MSN, Yahoo, IRC, and just about everything else. Uses the Gnome libraries. What this means is that you can log onto your AIM account and your Yahoo account at the same time and log onto various IRC sessions as well, all using a single app. - Kopete
Kopete is the instant messenger for KDE, supporting a similar array of formats. It has the advantage that it works with kwallet, a password-management program, so you don't have to remember your passwords but can still keep them secure. - AIM
There's a Linux version, but why would you want to do that?
- Firefox
- Digital Imagery
Linux really shines when it comes to digital imaging. That surprises a lot of people, but it's true.- Digital Cameras
Using most digital cameras under Linux is a very simple matter. There are GUI interfaces such as gtkam, but if your camera uses USB to communicate with your computer, getting it to work with Linux may be even easier than getting it to work with Windows: There's no special software to install. There are lots of guides on-line, including this one by Greg Gulik and this article at LinuxDevCenter. Its become even easier since hot-plugging was integrated into the kernel. Basically, you plug in your camera and turn it on, and it will appear as a hard drive. You will need to mount this drive manually, using the command line or one of the various GUI tools, or you can configure the automounter to do it for you. The gphoto command-line tool can be used to talk to your camera, if need be. - Image Viewers
There are tons of good image viewers. My own personal favorite is gthumb, written for Gnome. But there are also GwenView, Kuickshow, KView, and ShowImg, among, I am sure, many others. - KimDaBa
KimDaBa is the KDE Image Database, whose purpose is to help you catalog, sort, and organize your images. I need to use it more. My photos are just scattered all around, and I honestly have little idea what pictures I've got where. That's the problem KimDaBa is supposed to solve. - Image Editing
Most of the image viewers mentioned will do fairly primitive image editing, as well. But if you want to do anything more serious than play with contrast and brightness, you need a more dedicated tool.- The Gimp
The Gimp is an extremely powerful image manipulation program intended as the open-source answer to Adobe PhotoShop. Word among experts seems to be that it isn't at quite that standard, but, then again, it doesn't list for $649, either. For my purposes, and those of most non-professionals and many professionals, it's going to be more than sufficient. One nice feature is that it is extensible using plug-ins, and there is an API that allows you to script the Gimp using either perl or Python. - ImageMagick
ImageMagick "is a robust collection of tools and libraries to read, write, and manipulate an image in many image formats", says the web site. I say that it is a mega-cool piece of software. It has a GUI mode, which allows you to load an image and modify it using the various tools that make up the suite. But its true power is only realized when you stop using the GUI and script the tools, which can be done using the shell or one of the many connectors that allow access to ImageMagick from perl, Python, PHP, Java, C, or what have you. Anthony Thyssen has put together a nice set of examples of how ImageMagick can be used non-interactively.
- The Gimp
- Vector-based Drawing
There are two ways to represent images digitally. One is as a bitmap: One represents a picture as a collection of dots (pixels), each with a certain color. That's great for photos but not so great for other kinds drawings, especially those consist primarily of lines (or curves) and text. For these, the vector-based approach is better. In the Windows and Mac worlds, the dominant programs are Adobe Illustrator and Corel Draw. At present, there seem not to be Linux programs that are as close to these as the Gimp is to Photoshop, but there are some options. I've not used any of them yet, however, so I'll just mention the two I've encountered: Karbon14 is a vector-drawing program that is part of the KOffice suite, but can be used on its own, of course; Inkscape is a program I've only just encountered, but it looks extremely powerful for one that has only been in development for a few years.
- Digital Cameras
- Digital Video
Under Construction. - Digital Audio
To be honest, I'm not a huge fan of digital audio. I much prefer the sound of analog, as in vinyl. But vinyl is kind of hard to carry around, and car record players never really took off, so we compromise.- Computer Media Players
The original Linux audio player was XMMS, and some still swear by it. It's been voted favorite player by readers of Linux Journal for five years in a row. It's small, it's fast, and it's good. But it doesn't provide much by way of management facilities for audio files. Other options include JuK, Kaboodle and RhythmBox seem to have lots of fans, too. Kaffeine and Noatun will play not only audio but some sorts of video. But I'm partial to amaroK, which is widely regarded as one of the finest digital audio players on any platform. For good reason. - Portable Media Players
Is there a portable media player that comes with Linux software? Not that I know. But most of them will work with Linux. TuxMobil is an excellent source for information on this and other issues relating to Linux and all things mobile: PDAs, laptops, and phones. They have, in particular, collected links to web pages written by people who have been there and done that. (And, as always, try Googling something like "linux ipod".) Usually, you can simply plug the device into your machine and, if you are using a recent distribution, it will appear as a hard drive. You can then copy tunes to it just as you would any other file. Getting other features to work may require installing some additional utilities, however, but it seems that the open source community has produced a lot of them already. I use an iRiver IHP-120, for example, using iRipDB to create the database needed to browse by artist, title, and such. - Rippers
Plenty of choices here, too. Most of them have similar features. They will encode to various formats, depending upon what libraries you have installed, and they allow you to determine the filenames to which tunes are saved based upon data retrieved from a CDDB server, usually freedb.org. If you just want to play music on your computer, then you can use any format you wish, and preferably not MP3, since it is of very poor quality compared to the other options. Ogg Vorbis is a "lossy" codec that produces files that are smaller than the corresponding MP3 files but sound much better. Even better sound can be had from the lossless FLAC codec, but here the file sizes are necessarily larger. Unfortunately, most portable media players do not support Vorbis but only MP3 and Micro$oft's WMA, but there are some that do, notably, many of the iRiver players.- Grip
Grip is the standard ripper for Gnome (but, again, it will run under any desktop or window manager so long as you have GTK2 installed). I find it to be the most full-featured of the rippers at the moment. - KAudioCreator
The default KDE ripper, my only complaint about it is that, at present, there seems to be no way to set the bitrate. - SoundJuicer
Also written for Gnome, it is small but not very configurable. - Konqueror
Undoubtedly the easiest way to rip CDs is with Konqueror, the KDE jack of all trades. Pop a CD into the drive and surf to audiocd:/, and the CD appears as if it were a directory of wav files, with (virtual) subdirectories MP3, Ogg Vorbis, and the like, that contain all the tunes in MP3, Vorbis, and the like. Copy them to your hard drive, and the tunes are ripped and converted automagically. Child's play. - Command-line Tools
All of these rippers, by the way, are just front-ends to command line tools, such as cdparanoia, which rips CDs to wav, oggenc, which converts to Vorbis, etc. Dekagen is a shell script that brings them all together.
- Grip
- Burners
There are a ton of these, too. XCDRoast is one of the oldest and is still excellent. Simple burning can be done using Nautilus, the Gnome file manager. There is a project, kio_burn, to embed a similar capability into Konqueror, but the developers warn that it is unreliable as of this writing. In any event, K3B is my favorite GUI burner, at the moment, and it will handle DVD as well. But for simple tasks, such as copying a CD, that's all overkill. Once again, most of these are just front-ends to command-line tools, and those tools can be used directly with little more work and, in the long run, with less. See my little CD copying script. - Sound Editing
I haven't gotten into that, but such programs exist. Two that seem to be popular are Audacity and snd.
- Computer Media Players
- Programming
If there's one thing that's always annoyed me about Windows, it is that it comes with no programming tools at all. Even if someone else writes a program and is willing to let you have the source, you can't compile it unless you pay whatever outrageous price Micro$oft wants you to pay. I'm not a serious programmer myself, but I've done a fair bit of web programming, and I do like to play around with code. Fedora Linux, like almost every other Linux distribution, comes with the Gnu compiler, which handles C, C++, Fortran, Java, and who knows what else, the perl interpreter, the python interpreter (careful with that URL, Eugene), a ruby interpreter, a PHP interpreter, and probably some other stuff that I've forgotten, not to mention the source code for every program installed so you can play with it all, if you want. And there are some excellent development environments, too. One's choice of development environment is probably about as personal as one's choice of toothpaste, so to each his or her own. But let me just mention a few I've found useful for my own purposes.
- Bluefish
Written using GTK2, Bluefish is mostly intended for web development. It has a nice project manager and highly configurable syntax highlighting. It was my editor of choice for a while. - Kate
The 'KDE Advanced Text Editor' is the equivalent for KDE. Since switching to KDE, I've grown more and more fond of Kate. I use it for most of my non-project-orientented programming work, like bash scripts and simple perl programs. - Quanta Plus
More substantial than the preceding two, Quanta is a development enviroment aimed at web developers. In true Unix style, it incorporates the Kate editor as a part. It has excellent project control and is beyond configurable. My current development environment. Quanta will do a limited sort of wysiwyg editing. - KDevelop
A powerful intergrated development environment for KDE. For serious programming, it seems most at home with C, C++, and the like, but can be used with almost any language. - Emacs
Emacs is not just a text editor. It is a full-blown development environment that integrates all kinds of tools. (You can also use it to read email, surf the web, whatever.) For the very serious programmer. - Graphical Tools
The programs mentioned so far are text-oriented, though with a graphical user interface. They are not really designed for GUI-based development of user interfaces. There are such programs, but it depends on what graphical toolkit you are using, of which there are many. The two main ones for Linux are GTK and Qt. For GTK, there is the Glade interface designer; for Qt, the Qt designer, which is included with the Qt toolkit. Both of these, though written for C and C++, have bindings for a wide variety of languages, including perl and Python.
- Bluefish


