toc

Team LiB
Next Section

Linux Transfer for Windows Power Users: Getting Started with Linux for the Desktop
Linux Transfer for Windows Power Users: Getting Started with Linux for the Desktop
by Chris Herborth (ed) ISBN:1930919425
Hentzenwerke Publishing © 2004

Written for the experienced Microsoft Windows user who does not have time to set up and learn a new OS and programs alone, this book shows the workings of Linux and reveals its similarities to the user's current software.

Table of Contents
 | Linux Transfer for Windows Power Users
 | How to Download the Files
 | Introduction
 | Chapter 1 | - | Why Linux? Why Not Linux? Which Linux?
 | Chapter 2 | - | Installing Fedora Core
 | Chapter 3 | - | Updating Fedora Core
 | Chapter 4 | - | Getting Help
 | Chapter 5 | - | Configuring Your Desktop
 | Chapter 6 | - | Files, Directory Structures, and File Managers
 | Chapter 7 | - | E-Mail and Web Browsing
 | Chapter 8 | - | Office and Productivity Applications
 | Chapter 9 | - | Fedora Core Utilities
 | Chapter 10 | - | Digital Images
 | Chapter 11 | - | Multimedia: Audio (and Video)
 | Chapter 12 | - | Devices: Printers, Scanners, CD Burners
 | Chapter 13 | - | Security
 | Chapter 14 | - | Under the Hood
 | Appendix A | - | How Partitions Work
 | Appendix B | - | Connecting to a Windows Network
 | Index
 | List of Figures
 | List of Tables

Team LiB
Next Section


backcover

Team LiB

Back Cover

Major Linux distributions such as Red Hat, Mandrake and SuSE, among others, have released mature, full-featured versions suitable for day to day use on an average computer user's day to day computer, including not only a complete operating system but also a Microsoft Office-compatible application suite and a plethora of additional tools available for free download. At the same time, more and more people are become frustrated with Microsoft's continuing security problems and privacy, licensing and pricing issues. As a result, Linux is going to make serious inroads on the desktop in 2003 and beyond.

But today's experienced computer user doesn't have time to set up and learn a new operating system and programs alone. This book shows an ordinary computer user who is comfortable with using Microsoft Windows and associated popular applications how Linux works and how using it is similar in many ways to their current software.

Then it guides them through the wonderful world of popular Linux applications that perform the same day to day functions they're used to on their Windows computer - word processing, spreadsheets, presentations, graphics processing, email, Internet browsing, pictures, music and video, and more.

Also included are chapters on file compatibility, how to use Windows programs on a Linux computer, with and without a Windows license, and, for those a bit more technically adept or curious, how things work “under the hood”.

Computer users are discovering that they don't have to pay hundreds of dollars for an operating system, and then hundreds more for common applications, and that the alternatives are less expensive and more secure. But there are a lot of choices out there. This book helps the experienced user get comfortable with those choices and how to use them.

About the Editor

Chris Herborth is an award-winning senior technical writer with more than 10 years of experience in the field of technology with a background in operating systems, programming, and other interesting areas. When he's not playing with his son or hanging out with his wife, Chris spends his spare time designing and writing video games, enjoying various Nintendo GameCube titles, and fretting over how long it takes him to finish playing games on his PC.

Team LiB


Linux Transfer for Windows Power Users

Whil Hentzen
Hentzenwerke Publishing

Published by:
Hentzenwerke Publishing
980 East Circle Drive
Whitefish Bay WI 53217 USA

Hentzenwerke Publishing books are available through booksellers and directly from the publisher. Contact Hentzenwerke Publishing at:
414.332.9876
414.332.9463 (fax)
www.hentzenwerke.com
<books@hentzenwerke.com>

By Whil Hentzen

Technical Editor: Chris Herborth

Copy Editor: Jeana Frazier

Cover Art: "Power Users" by Todd Gnacinski, Milwaukee, WI

Copyright © 2004 by Whil Hentzen

All other products and services identified throughout this book are trademarks or registered trademarks of their respective companies. They are used throughout this book in editorial fashion only and for the benefit of such companies. No such uses, or the use of any trade name, is intended to convey endorsement or other affiliation with this book.

All rights reserved. No part of this book, or the e-book files available by download from Hentzenwerke Publishing, may be reproduced or transmitted in any form or by any means, electronic, mechanical photocopying, recording, or otherwise, without the prior written permission of the publisher, except that program listings and sample code files may be entered, stored and executed in a computer system.

The information and material contained in this book are provided "as is," without warranty of any kind, express or implied, including without limitation any warranty concerning the accuracy, adequacy, or completeness of such information or material or the results to be obtained from using such information or material. Neither Hentzenwerke Publishing nor the authors or editors shall be responsible for any claims attributable to errors, omissions, or other inaccuracies in the information or material contained in this book. In no event shall Hentzenwerke Publishing or the authors or editors be liable for direct, indirect, special, incidental, or consequential damages arising out of the use of such information or material.

ISBN: 1-930919-42-5

Manufactured in the United States of America.

About the Authors

Whil Hentzen

Whil Hentzen fills the role of "player-coach" at Hentzenwerke Publishing, a 7-year-old, Milwaukee-based publisher that specializes in titles covering high-end software development and, more recently, the migration of Windows developers and users to Linux.

Whil started out life as a custom software developer using dBASE II (he still has the original 8 1/2 x 11 gray binder of documentation, much to the chagrin of his wife), and switched to FoxPro in 1990. Besides billing 15,000 hours in the '90s, he presented more than 70 papers at conferences throughout North America and Europe, edited FoxTalk, Pinnacle Publishing's high-end technical journal for seven years, and has hosted the Great Lakes Great Database Workshop since 1994. He was a Microsoft Most Valuable Professional from 1995 through 2003 for his contributions to the FoxPro development community, and received the first Microsoft Lifetime Achievement Award for Visual FoxPro in 2001.

Whil began writing in order to develop credentials to bolster his software-development career. His first book, Rapid Application Development with FoxPro, showed up in 1993, and six more have appeared since. He started Hentzenwerke Publishing in 1996 to self-publish a specialized volume on software development, and then began producing Visual FoxPro books when the major publishers abandoned the market in 1998. Sensing the impending acceptance of Linux on the desktop and anticipating a coming demand for custom business applications on those Linux desktops, he turned his attentions to Linux in 2002, and will have eight narrowly targeted Linux and open-source books available by the end of 2004. HWP's backlist now numbers more than 30, with some 60 authors and editors worldwide on the payroll.

Whil has a B.S. in mechanical engineering from Rose-Hulman Institute of Technology and currently spends his copious amounts of spare time with his five kids and volunteering for the local school district. An avid distance runner, he has logged nearly 50,000 lifetime miles and, pending recovery from a severe injury a few years ago, hopes for one more shot at a sub-15-minute, 5,000-meter clocking—before age and common sense close the door on that activity.

You can reach Whil at <whil@hentzenwerke.com>.

Chris Herborth

Chris Herborth is an award-winning senior technical writer with more than 10 years of experience in the field of technology (http://www.pobox.com/~chrish/chrish-resume.html), with a background in operating systems, programming, and other interesting areas. When he's not playing with his son or hanging out with his wife, Chris spends his spare time designing and writing video games, enjoying various Nintendo GameCube titles, and fretting over how long it takes him to finish playing games on his PC. Chris can be reached at <chrish@pobox.com>.

Acknowledgments

A lot of people are involved in creating a book that covers a topic as broad as Linux on the desktop.

Some of them are aware of what they did—and, even better, are still speaking to me at the end of the book! Chris Herborth, my technical editor, did something that most technical editors don't do: made me laugh while I was reviewing his entertaining and occasionally caustic edits. Somehow we got on the same wavelength immediately, and that made putting this book together a lot of fun. Jeana Frazier, whom I've been working with for nearly a decade now, continues to tolerate my weaknesses and knows what I mean to say, sometimes even when I don't know myself, and often figures out a better way to say it. She's my ace in the hole and I sleep easier knowing she's on my team.

Other people, however, aren't really aware of their contributions, and this is my opportunity to surprise them. Paul McNett, a fellow Visual FoxPro developer, weathered my early questions when I was learning to install some specialized applications in the earlier Red Hat days, while Ted Roche alternated between whupping me upside the head when I got too full of myself and providing constant moral support when the To Do list seemed to overwhelm. It's hard to concentrate on writing when you've got a hundred other things on your mind. And Ed Leafe runs a couple forums for Fox developers who are jumping into the Linux game; some of the ProLinux irregulars include Carl Karsten, Chet Gardiner, Derek Kalwait, Leland Jackson, and Stephen Russell, to name but a few. Stay the course, Ed; I'll grab a Mac with OSX one of these days!

The members of the local Linux user group, the Milwaukee Linux Users Group, make up another major source of support. Many of the Saturday afternoon meeting-goers, as well as folks who have never made it to a meeting but are there in spirit and on the mailing list, have helped me in one way or another. I'm sure I'm going to miss someone, but here goes ... Aaron Schrab, Andrew Hoyos, Doug Turner, George Moulton, Glenn Holmer, Jerry Davis, Joe Baker, Jonathan Chaillet, Jonathan Detert, Luciano Moretti, Mary Ann Panevska, Phil Goembel, Rick Miller, Roger Jensen, Scott DeVos, TOM Francis, Tom Oele, and, of course, all of the Marks!

(And, interrupting myself for a moment ... if you haven't joined a Linux user group in your hometown, I strongly encourage you to do so. It doesn't matter how new—or experienced— you are with Linux, you're bound to find someone else who will be able to help you with a difficult problem, or that you'll be able to help yourself. And if there isn't a user group in your area, start one! See www.meetup.com to find other Linux enthusiasts in your area.)

While I've not met some of my local group members in person, the sense of community provided by other Linux users can't be beat. It would have taken me a lot longer to get where I am without these folks.

—Whil Hentzen

Our Contract with You, the Reader

In which we, the folks who make up Hentzenwerke Publishing, describe what you, the reader, can expect from this book and from us.

Hi there!

I've been writing professionally (in other words, eventually getting a pay check for my scribbles) since 1974, and writing about software development since 1992. As an author, I've worked with a half-dozen different publishers and corresponded with thousands of readers over the years. As a software developer and all-around geek, I've also acquired a library of more than 100 computer and software-related books.

Thus, when I donned the publisher's cap seven years ago to produce the 1997 Developer's Guide, I had some pretty good ideas of what I liked (and didn't like) from publishers, what readers liked and didn't like, and what I, as a reader, liked and didn't like.

Now, with our new titles for 2004, we're entering our seventh season. (For those who are keeping track, the '97 DevGuide was our first, albeit abbreviated, season, the batch of six "Essentials" for Visual FoxPro 6.0 in 1999 was our second, and, in keeping with the sports analogy, the books we published in 2000 through 2003 comprised our third and subsequent seasons.)

John Wooden, the famed UCLA basketball coach, posited that teams aren't consistent; they're always getting better—or worse. We'd like to get better...

One of my goals for this season is to build a closer relationship with you, the reader. In order for us to do this, you've got to know what you should expect from us.

  • You have the right to expect that your order will be processed quickly and correctly, and that your book will be delivered to you in new condition.

  • You have the right to expect that the content of your book is technically accurate and up-to-date, that the explanations are clear, and that the layout is easy to read and follow without a lot of fluff or nonsense.

  • You have the right to expect access to source code, errata, FAQs, and other information that's relevant to the book via our Web site.

  • You have the right to expect an electronic version of your printed book to be available via our Web site.

  • You have the right to expect that, if you report errors to us, your report will be responded to promptly, and that the appropriate notice will be included in the errata and/or FAQs for the book.

Naturally, there are some limits that we bump up against. There are humans involved, and they make mistakes. A book of 500 pages contains, on average, 150,000 words and several megabytes of source code. It's not possible to edit and re-edit multiple times to catch every last misspelling and typo, nor is it possible to test the source code on every permutation of development environment and operating system—and still price the book affordably.

Once printed, bindings break, ink gets smeared, signatures get missed during binding. On the delivery side, Web sites go down, packages get lost in the mail.

Nonetheless, we'll make our best effort to correct these problems—once you let us know about them.

In return, when you have a question or run into a problem, we ask that you first consult the errata and/or FAQs for your book on our Web site. If you don't find the answer there, please e-mail us at <books@hentzenwerke.com> with as much information and detail as possible, including 1) the steps to reproduce the problem, 2) what happened, and 3) what you expected to happen, together with 4) any other relevant information.

I'd like to stress that we need you to communicate questions and problems clearly. For example...

  • Bad reports:

    "Your downloads don't work."

    "Your Web site is down."

    "The code in Chapter 10 caused an error."

    These types of complaints don't contain enough information for us to help you.

  • Good reports:

    "I get a 404 error when I click on the Download Source Code link on www.hentzenwerke.com/book/downloads.html."

    "I performed the following steps to run the source code program DisplayTest.PRG in Chapter 10, and I received an error that said 'Variable m.liCounter not found.'"

    Now this is something we can help you with.

We'll do our best to get back to you within a couple of days, either with an answer or at least an acknowledgment that we've received your inquiry and that we're working on it.

On behalf of the authors, technical editors, copy editors, layout artists, graphical artists, indexers, and all the other folks who have worked to put this book in your hands, I'd like to thank you for purchasing this book, and I hope that it will prove to be a valuable addition to your technical library. Please let us know what you think about this book—we're looking forward to hearing from you.

As Groucho Marx once observed, "Outside of a dog, a book is a man's best friend. Inside of a dog, it's too dark to read."

Whil Hentzen
Hentzenwerke Publishing
April 2004


How to Download the Files

Hentzenwerke Publishing generally provides two sets of files to accompany its books. The first is the source code referenced throughout the text. Note that some books do not have source code; in those cases, a placeholder file is provided in lieu of the source code in order to alert you of the fact. The second is the e-book version (or versions) of the book. Depending on the book, we provide e-books in either the compiled HTML Help (.CHM) format, Adobe Acrobat (.PDF) format, or both. Here's how to get them.

Both the source code and e-book file(s) are available for download from the Hentzenwerke Web site. In order to obtain them, follow these instructions:

  1. Point your Web browser to www.hentzenwerke.com.

  2. Look for the link that says "Download."

  3. A page describing the download process will appear. This page has two sections:

    • Section 1: If you were issued a user name/password directly from Hentzenwerke Publishing, you can enter them into this page.

    • Section 2: If you did not receive a user name/password from Hentzenwerke Publishing, don't worry! Just enter your e-mail alias and look for the question about your book. Note that you'll need your physical book when you answer the question.

  4. A page that lists the hyperlinks for the appropriate downloads will appear.

Note that the e-book file(s) are covered by the same copyright laws as the printed book. Reproduction and/or distribution of these files is against the law.

If you have questions or problems, the fastest way to get a response is to e-mail us at <books@hentzenwerke.com>.


Introduction

When I first conceived of this book, Red Hat 6 had just shipped. I gave it a try, and found it not quite ready for desktop prime time—not ready for use by folks who just wanted it to run, who didn't want to mess about with the internals just to get the machine running. It was approximately on a par with Windows 95—in some cases much easier, but in others, still way too obscure. And then the early versions of OpenOffice.org showed up, and I realized that it was just a matter of time.

Not everyone saw it that way. At the time, people were saying that Linux would never make it on the desktop. I'd like to draw your attention to the word "never," because these people were smart folks, but "never" is a really long time. The major reason they said "never"? Because there wasn't an office suite like Microsoft Office available on the desktop.

Sure, there was KOffice, but it wasn't file-format compatible with Microsoft Office. And there was OpenOffice.org, but in those early days, the first incarnations of OOo led people to say "It's unusable" in the same breath as "Linux will never make it on the desktop." Six months later, they said that OpenOffice.org was pretty bad, but you could use it as an alternative to Microsoft Office if you were desperate. Six months after that, the party line went "It's usable in a small number of unique situations, but it's not ready for use by a regular user."

Seeing a trend here?

Another six months passed ... the OpenOffice.org team had kept the pressure on, continuing to add features and fix bugs, and suddenly it hit the radar—and people started deploying it on the desktop for real. Suddenly the story was "It's just as good as Microsoft Office for the large majority of users." And it's immune to viruses, has significant, cost-saving features that Office doesn't have, and can be downloaded and installed for free, without the risk of running afoul of licensing violations.

As I started this book, the realization that OpenOffice.org was for real hit Redmond, and they started publishing materials to combat OpenOffice.org, treating it as a bona fide competitor, although they'd never admit it themselves. With OpenOffice.org, Linux was ready for the desktop.

While this isn't supposed to be a testimonial for OOo, the fact is that its availability has made Linux a contender on the desktop.

I switched my entire family to Linux last year, basically without telling them. One weekend my eldest daughter woke up to find that a SuSE box had replaced her Windows XP machine—and other than complaining about having to learn The GIMP for a couple of days, she's never had a question. Web browsing, e-mail, word processing, spreadsheets and presentations for school projects, music, drawings—she does it all just as easily as with Windows. My next two oldest kids share a Fedora Core box, on which they do most of the same things, and again, they took to it without a second thought. Even my wife woke up one morning to a Red Hat 9 box, and except for an ancient sound card that didn't work, she was back in business after a couple of hours of tweaking her settings to make them just the way she wanted them.

And the best part of this transition is that they all interoperate with their friends and schoolmates transparently. Teachers don't know that assignments are being done with OpenOffice.org or The GIMP, and friends don't know that they're exchanging e-mail and pictures with a Linux box. You might think my kids have an advantage, with a "local computer expert" available around the clock, but I actually spend less time helping them now. I don't have to deal with blue screens, keeping service packs up to date, reinstalling the OS when the service packs fail, and worrying that a new, clever virus is going to sneak by them—not to mention other typical Windows problems.

2004 is the year of Linux on the desktop for a distinct population of end users, and as a power user, you're in that camp.

That said, there is a huge world of Linux usage to explore, and a single book isn't possibly going to cover it all. The purpose of this book is to get you started with putting a Linux box on your desktop—to get you going, and up and running with a minimum of fuss. Once you're set up, you can go the next step if you want, by using additional resources. When you're ready to continue, check out the updates for this book as well as other white papers on our Web site, and even other Linux books—by us as well as other publishers.

As I write this, Fedora Core 2 is in beta testing and will be out in a few months. I'll post updates for each chapter as appropriate when Fedora Core 2 ships.

I've been having a blast learning new stuff and getting up to speed on Linux. It's an operating system that's designed right from the start, and it makes sense. There are still a few rough edges, but with each release of a new distribution, more and more of those edges disappear.

Welcome.

Icons Used In This Book

Throughout this book, you'll see the following icons used to point out special notes and tips.

Important

Information of special interest, related topics, or important notes are indicated by this icon.
Tip

Tips—marked by this icon—include ideas for shortcuts, or alternate ways of accomplishing tasks that can make your life easier or save time.


Chapter 1: Why Linux? Why Not Linux? Which Linux?

Overview

You're reading this book to get started with Linux, and you're coming from the perspective of a Windows power user. The rise of Linux in the popular culture has also given rise to a large number of half-truths, myths, and outright lies. These can serve to cause people to set unrealistic expectations, and thus be disappointed by their first exposure to Linux. In order to help you develop realistic expectations, this chapter will provide the expectations for Linux usage that I started out with. Once you create your own set, you can then evaluate your progress in meeting those expectations. In addition, I'll discuss some common misconceptions about Linux; offer some thoughts about choosing a distribution; and explain why this book covers Fedora Core in print, and other distributions through electronic downloads.

I've been building custom software applications on Microsoft platforms since the mid-1980s. I was a Microsoft Most Valuable Professional (MVP) from the mid '90s until last year, a Microsoft Certified Professional (MCP) during the late '90s, and received the first Microsoft Visual FoxPro Lifetime Achievement Award in October of 2002. In the summer of 2002, I started investigating Linux, and have had a Linux-based computer as my primary desktop since that fall. By any account, that was a radical change, and not one that was made lightly.

While making the decision to switch to a Linux-based operating system, I had to evaluate what I was expecting from Linux, write down my expectations, and later go back and reevaluate, based on the progress I had made.

I also had to look at some of the hearsay that surrounds Linux. Many of my friends in the Microsoft world looked askance at my decision—some to the point of severing ties with me because I was "a traitor," that I had succumbed to the "lies of open source," and that I had a "secret agenda" and was using Linux to "further my own means." You can imagine the conversations we've had there.

And then there was the decision of which distribution. According to the Web site www.distrowatch.com, there are 225 active Linux distributions. That raises the question: "Which one?" Fortunately, I was able to winnow the field down because many of them are specialized or otherwise inapplicable for general-purpose desktop usage. Still, a half dozen distributions have mindshare significant enough to warrant some consideration.

Now, about you. This book is actually about you—helping you transfer your Windows skills to Linux. I'm assuming that you're part of that elite crowd of people who are often referred to as "power users." You're often an early adopter of technology, but you're not a programmer or a general-purpose geek. You use personal computers to get something done, not just for the sheer joy of using a computer, but you do enjoy making the machine bend to your will. Depending on when you started with computers, you were the first in your crowd to get a PC, or to use Lotus 1-2-3, or pick up a modem to get online. You were the first in your department to discover the Internet or use a digital camera, and now you're the first in your crowd to get into Linux.

You're comfortable with Microsoft Windows and think nothing of having a half dozen windows open as you multi-task between e-mail, Web browsing, document creation, and a daily planner. You've heard that Linux is ready for the desktop, and you want to find out more. This book will act as your personal coach: a paperback version of a more experienced friend who is sitting down with you at your computer, showing you the ropes, and explaining how to get started quickly with Linux on your desktop computer.

Welcome.


Why Linux?

I started looking at Linux when the restrictions and problems I ran into on the Microsoft Windows platform gained critical mass for my personal taste. For me, open-source software, of which Linux is often held up as the poster child, embodies four important ideals: freedom, choice, security, and opportunity. Microsoft Windows kept throwing barriers in my way in each of these areas, while Linux provided solutions.

Let's examine each of these in a bit more detail.

Freedom

Open-source software like Linux represents freedom.

With proprietary software, such as (but not limited to) Microsoft Windows, your freedoms are severely curtailed, and are becoming more and more limited each day. You're allowed to use the software only in ways that the manufacturer designates, on platforms that the manufacturer deigns acceptable, and for time spans or by numbers of users expressly allowed by the manufacturer. You are not allowed to make changes to it so that it works better for your own situation—indeed, you are not even allowed to look at how the software is put together in order to determine how to best make use of it.

If there are problems with the software, you are prohibited from fixing or otherwise resolving those problems in ways other than those permitted by the manufacturer. This includes fixing bugs or making other changes even after they stop supporting the software. You are at the mercy of the manufacturer or their designees for resolution of problems—in effect, they have a monopoly in terms of providing (or not providing) service and support. If you disobey any of those restrictions, you are subject to fines and jail terms.

Some licenses of proprietary software even restrict you from publishing benchmarks or other performance-related information—so you are unable to fairly evaluate one manufacturer's product against another.

Open-source software, on the other hand, allows and encourages the use and modification of software so that it is as useful as possible to the user. The only restriction is that modifications to open-source software that are made available to others must carry the same freedoms. Hardly a restriction!

Some argue that most people won't ever take advantage of these freedoms—that the average Joe user won't recompile his kernel or that most companies won't hire someone to fix a bug. Fine. That's not the point. The point is that they have the freedom to do so, should the need arise.

I like the freedom that open-source software represents.

Choice

Open-source software like Linux offers choices—choices that proprietary vendors do not want you to have. Proprietary vendors endeavor to lock you in to their platform; indeed, they have been doing that since the railroad robber barons of the mid-1800s tried to restrict usage of their tracks via the implementation of different gages of tracks.

It is in the interest of a proprietary manufacturer to keep you tied to their platform, and thus restrict your choices to just those that they will allow. The end result is that you will end up paying higher prices than you would in a free market where there were many choices.

"Open source," on the other hand, is all about choice. Don't like a particular browser, office suite, or e-mail client? You've got many alternatives to choose from. And because there is competition between the providers of these choices, they need to compete on both features and quality.

A monopoly doesn't have to concern itself with features or quality, because there's no reason to.

Every time I upgraded my development tools in Windows, I was forced to upgrade the browser and a myriad of other components, whether I wanted to or not. And there were significant reasons for not wanting to just upgrade those components without a choice, as you'll see in the next section. With open-source software, you don't get a set of unwanted or unneeded components jammed down your throat against your will.

I like being able to choose which religion I practice, which political party to belong to, which way to educate my kids, and which clothes to wear and how long to wear my hair.

I like the choice that open-source software offers, too.

Security

I feel open-source platforms offer better security from dangers such as attacks and viruses for many reasons. These reasons include publicly available code, and a lack of conflicting political and economic agendas.

Here's an example that illustrates some of these reasons. Over a year ago, Microsoft announced that a severe NT 4 vulnerability wouldn't be fixed. They claimed that they—a company with tens of thousands of very smart people and $50 billion in the bank—didn't have the resources to fix it.

With open-source software, the code is available for all to inspect. With proprietary software, no one is allowed to see the source code except a few select employees. How can Microsoft's claim be verified? It can't.

Microsoft has a vested interest in getting their customers to regularly upgrade their software. They don't want their customers to use old versions of software. I feel it's much more likely that they simply want to pressure customers who are still using NT 4 to upgrade by not fixing problems with NT 4. By doing so, Microsoft saves money in not producing a fix as well as generates money via upgrades.

A third reason is the simple matter of ego driving quality. I have more confidence in the quality of open-source code itself because it's produced by people who want to do so, not because they have to in order to make a living, or because their boss ordered them to. Who would you rather have perform your heart surgery—a fellow who needs to do the operation because he needs the money to pay off a loan shark by Friday, or a gal who is independently wealthy, and who went through med school because she wanted to become a great surgeon?

When a vulnerability is made public, proprietary companies do a public relations dance that includes denial, reluctant admission, and then foot dragging, the speed of which is dependent on how close the media holds their feet to the fire. It's common to find severe vulnerabilities in Microsoft products that go unpatched for months.

As of this writing in early 2004, back-to-back "critical" security holes have been discovered in Windows. One had been discovered late in the summer of 2003 and yet hadn't been acknowledged by Microsoft until February of 2004, when an independent security firm forced them to go public. How many other security holes are known by Microsoft and will never be announced because the media pressure hasn't been applied?

Open-source-software vulnerabilities, on the other hand, when they are discovered (and despite the availability of all of the source code, that doesn't happen very often), are always fixed within days, if not hours, of their discovery. It's a contest of egos to be the first one to provide the patch that fixes a problem. Of course, it's still up to the admins to take it from there. Historically, Linux administrators have been more technically savvy, but that tilt has been gradually changing as Linux becomes more mainstream.

I've been running Internet Information Server (IIS) and Apache Web servers side by side for a couple of years. When I look at the logs on the two boxes, I see the attacks based on Windows exploits outnumber Linux-oriented attacks by tens of thousands to one. Clearly crackers see more opportunity in attempting to exploit Windows security holes than Linux.

Combine this with the forced upgrades of ancillary components such as browsers, media players, database engines, and other packages when you upgrade your productivity or development tool suites. You're now forced onto yet another merry-go-round of patches, security fixes, and unknown vulnerabilities.

I feel more secure with open-source software.

Opportunity

Open-source software offers opportunities everywhere you look. Linux continues to make inroads both in the back room as a server as well as on the desktop. Netcraft's numbers show that Apache, an open-source Web server that runs on Windows and Linux, is continuing to take market share away from IIS. And penetration on the desktop—a place that the pundits claimed would never accept Linux—has now become "just a matter of time."

Hardly a day goes by without another conversion to open-source software by a former Microsoft customer. The open-source books from Hentzenwerke Publishing have done orders of magnitude better than any of our books on proprietary software in the last couple of years. And we're just getting started.

As Linux continues to make inroads on the desktop, people will get used to using their primary workstation running mostly open-source software. But they're still going to need service and support, they're going to need to customize standard applications, and they're going to need custom applications for their business. The opportunities are only going to grow over the next few years.

I'm interested in growth markets, and I see the markets available to open-source software, such as Linux, to be exceedingly bright.


Why Not Linux? The Top 10 Myths

As with any new phenomenon, folklore soon arises that often has its roots in truth, but has gotten twisted way out of proportion. Here are 10 common misconceptions about Linux.

  • Linux is only for servers.

  • Linux is only for techies.

  • Linux doesn't have the software I need.

  • Linux won't run my Windows software.

  • You have to use the command line.

  • You have to compile everything.

  • You don't have to worry about security.

  • I can't use my existing hardware.

  • There isn't any technical support.

  • It doesn't cost anything.

Let's examine each of these in more detail.

Linux is Only for Servers.

Interestingly enough, Linux started its life as a desktop operating system, albeit one for sophisticated and knowledgeable programmers. As time passed, the core components became more mature, leaving undeveloped the interfaces that less knowledgeable users would require. Because Linux was modeled after an operating system that had its roots in the server room, it was capable of running servers right out of the box, while the desktop usage lagged.

But that was then, and this is now. Mass-market distributions come with all the bells and whistles you need to run a modern desktop. Installing and using the popular distributions like Fedora Core, SuSE, and Mandrake on a desktop computer is just as easy, and in some cases, easier than Windows. And while the surface looks a bit different, once you get your hands into it, things work (most of the time) much like you'd expect them to.

Linux is Only for Techies.

This myth used to be completely true. Until a few years ago, you had to install Linux using scripts and processes that bore no resemblance to those that a Windows 95 user was used to. To install software after installation, you had to wade through scripts, recompile binaries from source code, and deal with inscrutable files such as tarballs.

Eventually some Linux distributions came with GUI-based wizards, but even they required a considerable amount of technical knowledge. Indeed, as recently as two years ago, the first question you were asked when installing Red Hat Linux had to do with mapping mount points and partitions. Huh?

Once you were up and running, it wasn't unusual to run into some operation or another that required you to enter arcane commands at a command prompt, edit random configuration files, or, in a fair number of cases, compile software in order to run it.

That situation has changed a great deal over the past couple of years. As mentioned in the previous section, popular distributions come with easy-to-use wizards and widgets that allow you to run Linux virtually all the time without worrying about a command prompt. Installing software is often (although not always) as easy as double-clicking on a file.

However, that doesn't mean that Linux has been dumbed down. Rather, it's simply been given an easy-to-use layer on top of the sophisticated internals that have always been there. If you're interested in getting down and dirty with the guts of an operating system, the opportunity is still there.

Linux Doesn't Have the Software I Need.

It depends on what type of software you need. If you're looking for a custom application to run a specific type of business (inventory management for veterinarians who specialize in parrots), yeah, you're probably going to be out of luck.

But if you're looking for generic desktop-type applications, you may find this to be less true than you think. There are open-source equivalents to virtually all popular Windows applications, and most of them come packaged with the top Linux distributions.

Linux Won't Run My Windows Software.

Okay, so you've got a piece of software that runs only on Windows, and it's not getting ported to Linux in the foreseeable future. Perhaps it's a vertical-market application that is tied tightly into the Windows API. Or perhaps it's a horizontal application but one that doesn't have a Linux equivalent.

Fear not. There are a couple of ways to run Windows software on a computer that has Linux installed on it. The first is an open-source software application called WINE (or its commercial equivalent, Crossover Office), and the second is a tool called VMWare that runs Windows and Windows applications natively.

WINE is a program installed on a Linux computer. After it's installed, a Windows program is installed "on top of it." The Windows program runs on top of WINE. WINE translates all of the Windows operating system calls into the equivalent Linux operating system calls. As a result, the Windows program never knows it's running on a Linux computer. WINE can be tricky to install and configure, though. Crossover Office is a wrapper for WINE; it handles all of the installation and configuration issues, and works virtually flawlessly. And Transgaming's version of WINE, WINE X, lets you run a bunch of the most popular Windows games under Linux.

VMWare is a piece of software that emulates a second computer, completely through software. After installing VMWare, you can install a second operating system within VMWare. Then, while running that second OS, you install applications that are native to that OS, just as if it were the only OS on the computer. While somewhat resource intensive, VMWare provides a mechanism for you to run Windows applications perfectly on a Linux machine.

You Have to Use the Command Line.

The command line is the Linux equivalent to what Windows power users think of as a "Command Box" or a "DOS Box." For those of you who grew up with MS-DOS, the command line isn't as intimidating as for those who grew up with a GUI. In either case, while the command line can be useful at times, it is rarely needed anymore for day-to-day use.

You Have to Compile Everything.

In the early days of Linux, most software came packaged simply as source code, which meant in order to use it, you had to compile it first to create an executable binary (the program itself), and then install the binary itself.

Realizing that more and more users wanted to simply use the software without a lot of fuss, software developers began taking advantage of the installation features provided by various distributions. Red Hat's RPM, SuSE's YUM, and Debian's apt-get mechanisms make installing a new software package as easy as double-clicking on a file or running a command or two at the command line.

You can still find distributions that require you to roll up your sleeves, pull out the first can of a 12-pack of Jolt from the cooler, and compile every package. Gentoo, for example, does this as part of the installation, and the result is a Linux installation that is tuned precisely for your specific hardware.

You Don't Have to Worry About Security.

Everyone "knows" that Linux is more secure than Windows, and as a result, many users just ignore security on their Linux box. Bad idea.

It's true that virus writers primarily target Windows boxes. However, Linux boxes are not invincible; they can be taken over by a trojan horse or crippled by an adroitly written exploit.

Some of the newer distributions are also set up poorly, with the regular user account having root (think "administrator") access, and it's possible for you to install a bunch of programs and services that you don't need or want, and thus provide potential vulnerabilities.

Bottom line: You still need to keep your operating system patched, and it's a good idea to run a virus scanner.

I Can't Use My Existing Hardware.

Nonsense. Current Linux distributions are as accepting of most hardware as current Windows versions. There is always a chance that you've got an off-brand of printer/scanner/fax machine/dishwasher, or the driver for your specialized sound card has a bug in it. But generally, you can expect recent releases of Linux to recognize a wide range of hardware right out of the box, and they usually provide options to configure the oddball hardware elements during installation.

There Isn't Any Technical Support.

Again, nonsense. There are several avenues for technical support, and many people would argue that these avenues are better than those provided for proprietary software, because open-source communities aren't under the same type of profit pressure as their for-hire peers.

First of all, paid support is available for distributions that come packaged in a box, such as Red Hat Enterprise, SuSE, and Mandrake. Community-supported distributions like Fedora Core and Debian do not have paid support per se, so read on.

All distributions have online communities that provide a variety of mechanisms for support. First are the mailing lists and forums directly associated with the distribution. Along with mailing lists are the archives—a huge resource for searching for answers, because it's often likely that someone else has had the same question, and has already posted it and received the answer. A third avenue is the set of FAQs (Frequently Asked Questions) provided by most sites.

In addition, hosts of Web sites provide information about using various distributions; a little time spent with one of the major search engines on the Internet (such as Google) often produces worthwhile results.

It Doesn't Cost Anything.

Well, sort of. There are two sides to this question.

Yes, you can download a copy of Fedora Core, install it, and use it for free. You aren't required to fork out cash if you don't want to. You can download patches, search for other free software, and generally have a grand time without ever shelling out a nickel. If you're going to use it at home, or at work for casual use, you can very likely get away with this route forever.

But if you're going to use Linux for serious work, you might want to consider the cost of your time as well. You can buy a boxed set, and buy a service contract that provides technical support, patches and updates, and perhaps other resources. It's up to you.


Which Linux?

Linux is a moving target, in large part because of the fact that there are many competitors in the market. Microsoft Windows is manufactured and controlled by one company, and thus there aren't any choices. You get what they want you to have, and no further discussion is allowed. Linux, on the other hand, is different. You have many choices. These choices are called "distributions," and to understand your choices, you need to understand distributions.

About Linux "Distributions"

Linux is an operating system that was initially created as a hobby by a young student, Linus Torvalds, at the University of Helsinki in Finland. Linus had an interest in Minix, a small version of UNIX, and decided to develop a system that exceeded the Minix standards. He began his work in 1991 when he released version 0.01, and worked steadily until 1994 when version 1.0 of the Linux Kernel was released. Version 2.4 was released in January of 2001, and version 2.6 is showing up in new releases of distributions during the spring of 2004.

Linux, strictly speaking, refers to just the operating-system kernel. This kernel handles what an operating system is supposed to, acting as the traffic cop between the various hardware devices in a computer. It natively supports multi-tasking, as well as multi-user and server capabilities. However, when people talk about "Linux," they often refer to more than just the kernel, including ancillary components, such as GUIs, utilities, installation routines, and other components.

While the term "Linux" is copyrighted by Torvalds, the Linux software was created under the GNU General Public License. As a result, its source code is freely available to everyone who wants a copy. (The GPL does impose a restriction—that modifications to the source code must be returned to the community and made available under the same license.) Because the source code is freely available, anyone can package the source code together with whatever else they desire—applications such as OpenOffice.org or KOffice, utilities such as the Mozilla browser and The GIMP graphical editing tool, and literally thousands more software applications of all kinds and sorts.

These collections are called "distributions," and more than 200 different distributions are available—some for popular, mainstream use, such as Red Hat, SuSE, and Mandrake; others for hardcore users, such as Debian and Gentoo, and still others that are more specialized.

This, however, doesn't mean that Linux and its assorted distributions are free—companies and developers may charge money for it as long as the source code remains available. Some distributions are free for download, and support is available at a price, while other distributions are produced by consortiums of volunteers, and support is available only online.

Linux may be used for a wide variety of purposes including embedded systems (think Playstation, watches, and machine tools), networking (file and print servers, e-mail servers, Web servers), software development, and as an end-user platform. Each distribution is constantly trying to improve, make itself more user-friendly and easier to install, recognize a larger set of hardware, and so on.

As a result, selecting a distribution for this book was a significant challenge.

The Original Candidates

As of the start of this book, the distributions with the most mindshare came down to a half dozen: Red Hat Enterprise, SuSE Personal, SuSE Professional, Mandrake, Fedora Core, Debian, and Gentoo. I'm sure that many stalwarts would, upon reading this list, weigh in with their opinions, and in none too polite a fashion: "What? You didn't include <name of THEIR favorite distribution here>? You're an insensitive clod!"

Important

As of this writing, a new breed of distributions is getting popular. The so-called "Live CD" distributions, such as Knoppix, allow you to download a single ISO and try it out without having to install anything on your hard drive. You burn the ISO file to a CD, and then use that CD to boot and run the operating system. Nothing is written to the hard disk, so it's a great tool for starting to learn about Linux if you don't have a spare machine and don't want to try setting up a dual Windows/Linux machine.

Nonetheless, the line has to be drawn somewhere, and because it's my book, I get to do the drawing. In the couple of years I've been using Linux, these are the distros that keep coming up again and again.

Red Hat used to provide two versions of its products: the enterprise series and a free distribution called Red Hat Linux, which was also available as a boxed set with paid support. After the release of Red Hat Linux 9.0, the company discontinued production of that line, spinning off Red Hat Linux into a community-supported distribution called Fedora Core (or "FC"). Red Hat is now concentrating on the enterprise product line. Find it at www.redhat.com.

Many regard Fedora Core as "Red Hat Linux 10.0," because it comes with an even more improved version of the installation GUI and clean desktop that Red Hat Linux was known for. FC is available for free download, but doesn't include any options for paid support. See www.fedora.redhat.com.

SuSE is the German Linux distribution that was recently purchased by Novell. Highly popular in Europe, with an installation GUI and user interface nearly as clean as Red Hat Linux, it's available in Personal and Professional boxed sets. Paid support is available as well. See www.suse.com.

Mandrake is the leading French distribution that weathered some tough financial times in 2003 but is back on its feet again. Many feel that Mandrake wins the ease-of-installation and ease-of-use contest, but my opinion is that at this level of the competition, personal preference begins to have a lot to do with your choice. You can order a boxed set or download from the Web site at www.mandrakelinux.com.

Debian is arguably the leading community-supported distribution that has no commercial ties at all (many of Fedora Core's developers are Red Hat employees). You can download for free or buy CDs from a variety of distributors, usually for little more than the cost of the materials. Debian has had a reputation for being a "techie's distribution"—it doesn't have the same smooth installation wizard that Red Hat, Fedora Core, SuSE, and Mandrake do. It also tends to lag far behind current versions of the various packages because the Debian maintainers want to make sure their distribution is rock solid and stable. As a result, I don't recommend it for a first-time user. However, it's very popular, and many users, once they get comfortable with Linux, choose to move to Debian. Find it at www.debian.org.

Gentoo is similar to Debian in that it is a community-supported distro without commercial ties, but with a strong fan base, and you can download or buy CDs. It has more sophisticated tools for installing and maintaining, but still requires more technical sophistication than the big four, and as a result, I can't recommend it for a first-time user. Again, once you're comfortable with some Linux basics, you may well want to consider it. Find out more at www.gentoo.org.

Why I Chose Fedora Core

My criteria for choosing a distribution were (1) ease of use, (2) free distribution, and (3) stability of the provider.

At the time I started this book, I felt that Fedora Core and Mandrake were neck-and-neck in terms of ease of use, but Mandrake was having some financial troubles. SuSE had just been purchased by Novell, but after a half dozen installs, I just didn't cotton to its user interface. And Debian and Gentoo, while having technical merits that make them outstanding candidates for advanced users, aren't ready for first-time Linux users.

That said, I think SuSE and Mandrake are worthy of your consideration. The concepts covered in this book are the same, but some of the implementation details differ. I've included occasional notes on both of these distributions as part of the electronic downloads. (See "How to Download the Files" in the front of the book for details.) I'll also post updates on the Hentzenwerke Web site.

Remember, you are a power user. You're going to love Linux. Linux rocks!

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 2: Installing Fedora Core

Overview

In mid-2003, Red Hat spun off its mainstream Red Hat distribution into a true open-source project called "Fedora Core." FC, as it's known, differs from Red Hat Linux in a couple of specific ways: First, you can only get it by downloading ISOs (or getting them from a friend), and second, it'll be updated on a regular basis, but strictly through open-source means. Some have taken these changes to mean that FC will become unstable or otherwise unworthy of attention, and thus have been reluctant to give it a try. That's not really fair—most people (myself included) think that FC is on par with where "Red Hat 10" would have been at this time. Some people may not be convinced, so to give those doubting Thomases in the audience a preview of FC, I use a liberal number of screen shots in this chapter, as well as detailed supporting explanations to show you how to install Fedora Core from scratch for desktop usage.

I was initially among the skeptics when I heard about Red Hat's plans for Fedora Core. Part of the reason was that they didn't do a very good job at providing a timeline for support on the existing products—in fact, I had been preparing to buy a number of subscriptions for a couple of recent RH 9.0 purchases; and if I had, those would have been wasted dollars and I would have been an unhappy camper. Another part of my skepticism was that they didn't do a very good job at explaining the differences between Fedora Core and their commercial products; it took me months to determine how an update service was going to work, or, indeed, if there was even going to be one, past manually applying patches to individual packages.

As it turns out, I didn't have anything to fear, and generally, you shouldn't either. The most difficult problem for me was burning CDs—after that, the installation was a rather nicer version of the comfortable Red Hat installs I'd been used to with 8.0 and 9.0. I was up and running in a couple of hours, most of which was spent watching thermometer bars race across the screen.


The Big Picture

There are three basic parts to installing FC: downloading and creating CDs, the initial installation process, and final setup.

Fedora Core comes as a series of three ISO files, each about 650 MB in size. After downloading and verifying the files, you'll want to put them on CDs. Most every version of Windows comes with CD-burning software, so I won't belabor that process here. It's not quite as straightforward on a Linux box, though, so I'll provide explicit details for creating CDs with Linux.

Important

Some glitches have been reported on the process for burning CDs under Windows XP. If you run into trouble, you may find this Microsoft Knowledge Base article to be helpful: http://support.microsoft.com/?kbid=320174. If you search on "Microsoft Knowledge Base Burning CDs XP" using Google or other popular search engines, you'll turn up additional useful information.

Once you've got your three CDs, it's time to install. The first CD is bootable, so assuming that your machine can boot from a CD, you just stick it in and restart the machine. A wizard starts, first offering to check the CDs for errors, and then guiding you through about 16 screens that allow you to configure your machine and set up preferences. Most of these screens can be navigated simply by clicking "Next," because the wizard will detect and display the appropriate choice for you.

After completing the wizard, the installation starts, and you'll be prompted to insert CD #2 and CD #3 when necessary. Once all the files have been transferred and the system has been installed, the machine will restart and you'll spend a few more minutes making a few final tweaks and choosing settings. Upon completion, you've got a Linux box ready to go.

Installing Linux Alongside a Pre-Existing OS

The preceding discussion assumes that you're installing Linux on a machine all by itself. Actually, you have two options when it comes to installing Linux whether to make Linux the only operating system on your computer, or install it alongside a pre-existing OS. That preexisting OS could be Microsoft Windows, or it could be Linux.

If you want to do a Linux-only installation, you'll be formatting your entire hard disk. As a result, if you have any data that's already on the target machine—and you want to keep that data—make a backup or otherwise copy it somewhere else.

If you want to install Linux alongside another operating system, which is called a dual-boot configuration, you'll want to do two things. First, back up anything of value on the target machine. One can never be too rich, too thin, or have too many backups. Second, ensure that there's enough room on the hard disk of the target machine to install Linux. You'll need an absolute minimum of 1 GB, but that won't get you very far in terms of what you can install other than the operating system itself. You'll be much happier if you have between 3 GB and 5 GB. The amount of disk space you have available will determine how much software you can install.

After you've freed up enough space on the target machine, you'll need to make sure that Linux can take advantage of it. There's a difference between "unused space" and "free space." The former is simply space in a formatted partition that isn't being used, while the latter is space that is not formatted and/or part of a partition. Once you've got unused space in a partition, you may need to resize it (using something like Partition Magic software) in order to create free space.

This book assumes that you're going to perform a Linux-only installation.

Important

If you're interested in setting up a dual-boot system, there are a large number of guides for doing so on the Web. You might also check with your local Linux user group; they often have "installfests" where you can get help with a tricky Linux installation.


The Details - Step By Step

Team LiB

The Details—Step By Step

In this section, I'll go through the exact steps needed to download, install, and complete the installation of Fedora Core on a desktop computer. The big picture includes:

1. | Download Fedora Core
1.1 | Download the ISO files
1.2 | Verify that the bits came down properly
1.3 | Burn a CD
2.1 | Install Fedora Core
2.2 | Document your hardware
2.3 | Prepare for installation
2.4 | Perform installation
2.5 | Final setup
3. | First login

Let's examine these steps in detail.

Download Fedora Core

There are three steps involved in downloading FC. First, download the ISO images from the Fedora Web site or from a mirror. Second, confirm the results: Ensure that the images are good and didn't get corrupted during the download. Finally, burn CDs using the downloaded files.

Download the ISO Files

Fedora Core comes packaged as a set of three files with the extension of ISO. The file names differ according to which version of FC you're downloading; here are the names for Fedora Core 1 for Intel-based personal computers:

  • yarrow-i386-disc1.iso

  • yarrow-i386-disc2.iso

  • yarrow-i386-disc3.iso

To download them, go to http://fedora.redhat.com/ and click the Download link on the left side. There are a set of instructions that you should read through first. You'll see a link under "Downloading the ISO images" labeled something like:

http://download.fedora.redhat.com/pub/fedora/linux/core/1/i386/iso/

but I suggest that you ignore this link, because it gets a lot of traffic and your download speed could very well be slow. Instead, find the link lower in the section that says "mirror site." This link goes to a page listing a large number of copies of the original images—don't worry, they're exactly the same files, just stored on different computers ("mirrors") around the world.

These mirrors, although they contain identical files, aren't all on identical machines—some are heavy-duty machines connected to the Internet with very fast connections, able to service many users at the same time; others have significantly smaller capabilities. There isn't a tried-and-true formula for determining which link will provide the best performance for you; a low-bandwidth link that you connect to in the middle of the night may be faster than a high-capacity link that a lot of people are hitting at 9 in the morning.

The instructions for mirrors often suggest that you look for a mirror close to you, but I've found that looking for a link that is located somewhere where it's very early morning (3 to 6 a.m.) often provides the best results.

There are two types of links: HTTP and FTP. (We're going to ignore the lines that start with RSYNC because they require additional software that's beyond the scope of this discussion.) The results you get are pretty much the same regardless of which type you try, but you may have special software that works better with one than another. For example, if you click an HTTP link, you may get a directory structure that looks like this:

Parent Directory
1/
development/
test/
updates/

Click on the "1/" link (the "1" stands for Fedora Core ONE), and you'll get to a second level with links like so:

Parent Directory
SRPMS/
i386/

Click on the "i386/" link, and you'll get yet another set of links, like so:

Parent Directory
debug/
iso/
os/

Click on the "iso/" link, and you'll see a list of files like so:

MD5SUM
yarrow-SRPMS-disc1.iso
yarrow-SRPMS-disc2.iso
yarrow-SRPMS-disc3.iso
yarrow-i386-disc1.iso
yarrow-i386-disc2.iso
yarrow-i386-disc3.iso

You want the "yarrow-i386" files, not the "yarrow-SRPMS" files. Click on the first file (disc1). Depending on the type of connection (HTTP or FTP) and the type of software installed on your machine, you will either get a dialog that says "What do you want to do with this file?" and provides options for opening it with a program of your choice or saving it to disk; or your FTP program will launch.

Note that these files are really big—about 650 MB each. Even with a T1 connection, it'll take a while to download all three files, and you'll need nearly 2 GB of free disk space. At this point, I'll assume that you're able to download and save to disk all three ISO files.

You'll also want to download the MD5SUM file in the same directory, and save it alongside your three ISO files. It's only a few hundred bytes long, and is simply a text file.

Verify That the Bits Came Down Properly

Just because you've got three ISO files sitting in a directory somewhere doesn't mean that everything is hunky dory. Remember that these files are simply carefully arranged combinations of 1's and 0's—and that any number of events could have conspired to interrupt the flow of 1's and 0's to your computer. Thus, you'll want to make sure that the files you've got are the same as the files on the mirror. To do so, you'll use a program called "MD5SUM."

An MD5SUM check is a way of ensuring that two files are identical—that one didn't get corrupted or otherwise altered during downloading. Running the MD5SUM program on a file calculates a 128-bit text string (or "fingerprint") for that file that can be compared with the fingerprint of the original file on the server to ensure that both files are the same.

There are two ways to do an MD5SUM check. You can either check each file separately or check a set of files all in one step.

To use MD5SUM on a single file on a Linux machine, follow these steps:

  1. Go to a terminal window.

  2. Change to the directory that contains your ISO files.

  3. Run the following command:

    md5sum yarrow-i386-disc1.iso

    It'll take 10 to 30 seconds, depending on your processor.

  4. You will get a response of text characters. Those characters should match the string on the http://fedora.redhat.com/download/ page:

    yarrow-i386-disc1.iso (md5sum: 76ef22495d186580e47efd8d7a65fe6b)
yarrow-i386-disc2.iso (md5sum: fd23fe32fafe7557f5d1fa1d31100580)
yarrow-i386-disc3.iso (md5sum: 6a26b34069639dOc31465d4079a8elb2)

    You can also find a copy of the original string in the MD5SUM file that you downloaded along with the ISO files.

  5. Compare the two strings. If you don't get the same string, your file is corrupt (or illegitimate) and you need to get a new one. In Figure 1, the first ISO checked out okay, because the fingerprints are the same. However, the second one is corrupt—the original fingerprint begins with "fd23", while the fingerprint that MD5SUM calculated from the downloaded ISO file begins with "c8b5". Thus, the second ISO has to be downloaded again.

    Click To expand
    Figure 1: Verifying the MD5 sums for the downloaded ISO files.

To check all the files in one shot, follow these steps.

  2. Download the MD5 SUMS file.

  3. Open a terminal window.

  4. Run the following command:

    md5sum -check MD5SUMS

  5. The command will complain about the SRPMS files not being present (which we didn't download), but that's obviously not an error condition. This command automatically checks the checksums so you don't have to carefully check the output versus one of the lines in the MD5SUMS file yourself.

  6. Here's the sort of output you'll see:

    chrish@malice [510]: dir
total 2049
-rw-r--r--    1 chrish   cygwin        120 Feb 21 10:11 MD5SUMS
-rw-r--r--    1 chrish   cygwin    1048576 Feb 21 10:10 file1
-rw-r--r--    1 chrish   cygwin    1048576 Feb 21 10:10 file2
-rw-r--r--    1 chrish   cygwin    1048576 Feb 21 10:10 file3
chrish@malice [511]: md5sum --check MD5SUMS
file1: OK
file2: OK
file3: OK

Once you have verified your files, via either method, it's time to burn CDs.

Burn a CD

This step causes more questions than using the MD5SUM program. A common mistake is to simply copy the ISO file to a CD—but that's not the goal. The ISO file actually contains a number of other files that are to be placed on the CD so that they are accessible during installation. If you simply copy the ISO file itself (so that doing a directory listing would result in a list of one file of 650 MB), booting with the CD will result in an error. The ISO file is an image of what will go on the CD, and so you'll use a special option in a CD-burning program to convert that image into files that land on the CD.

There are three overall steps to this process: determine which device your CD burner is connected to, do a test burn, and then do the real burn. Here is the detailed procedure:

  1. Open a terminal window and become root:

    su

  2. Enter the cdrecord command to determine which device:

    cdrecord -scanbus

  3. You should see a slew of info, as shown in Figure 2. The info dump includes a string like so:

    0,0,0    0) 'MATSHITA' 'UJDA730 DVD/CDRW' '1.04' Removable CD-ROM

    Click To expand
    Figure 2: Determining the CD-ROM's address via the cdrecord -scanbus command.

  4. Next, issue the cdrecord command to do a test burn, using the three leading numbers from the results of the scanbus info dump, like so:

    cdrecord -dummy -v -eject speed=4 dev=0,0,0 /path/yarrow-i186-disc1.iso

  5. The speed should be set at whatever your CD writer supports. 4x, as used in this example, is pretty slow these days. The results are shown in Figure 3.

    Click To expand
    Figure 3: Results of a test CDRECORD command.

  6. If that goes well, issue the following command to burn the real CD:

    cdrecord -dummy -v -eject speed=4 dev=0,0,0 /path/yarrow-i186-disc1.iso

  7. The results should look like Figure 4.

    Click To expand
    Figure 4: Results of an actual CDRECORD command.

  8. Once you've burned your CD, take a look at the contents using a tool like Nautilus. Figure 5 shows what CD #1 should look like.

    Click To expand
    Figure 5: Contents of CD #1.

    For your convenience, I've also shown the contents of CD #2 in Figure 6, and the contents of CD #3 in Figure 7.

    Click To expand
    Figure 6: Contents of CD #2.

    Click To expand
    Figure 7: Contents of CD #3.

    Now you've got three CDs with images of Fedora Core 1.

Install Fedora Core

If you've installed RH 7, 8, or 9, the process will be very familiar—it's nearly identical to RH9, except the Fedora Core background appears in the installation dialogs. At this point, I'm going to assume you have three CDs with the images burned on them: Fedora Core 1/2/3.

Document Your Hardware

If you're installing Linux on a machine that already has another operating system installed on it, it's a good idea to do one thing before you start the Linux installation itself. You'll want to document your existing hardware settings, in the unlikely case you have a piece of equipment—such as an oddball video card or some sort of device with an old chipset—that Fedora Core doesn't immediately recognize.

The location of these settings varies according to the operating system. On Windows 2000, select Start | Control Panel | System applet | Hardware tab | Device Manager button | View menu | Print menu | All devices and system summary. You'll get an excruciatingly detailed list of the hardware on your computer.

You'll also want to write down your network settings if you're connected to a network and/or the Internet. On Windows 2000, select Start | Settings | Network and Dial-up Connections. Right-click the Local Area Connection icon and select Properties | General tab Internet Protocol (TCP/IP), and then click the Properties button. Write down all of the settings and numbers.

If the option button "Obtain an IP address automatically" is selected, it means your computer is getting IP information via DHCP.

Prepare For Installation

Step 1. Stick the first CD in and boot the box. Feedback from the boot process will appear, as shown in Figure 8. Then the install screen will appear, as shown in Figure 9.

Click To expand
Figure 8: Feedback from the boot process with Fedora Core CD 1 in the disk drive.
Click To expand
Figure 9: The initial Fedora Core boot screen.

Step 1a. The system will wait for you to either press the Enter key if you want to run the installation in graphical mode, or to type in a command at the boot: prompt if you need to do so. Some machines are persnickety when it comes to installing Linux (or maybe it's the other way around), and so require the installation to be run with one or more parameters. This is where you would enter those parameters. Once the installation process begins, you'll see a blank screen, as shown in Figure 10.

Click To expand
Figure 10: Booting takes a few seconds, during which a blank, character-based screen appears.

Step 1b. After a few seconds more, a character-based dialog asks if you want to test the CD media before installing (see Figure 11). The character-based Media Check dialogs aren't mouse-enabled, so you'll need to use the left and right arrow and the Enter keys on your keyboard to select choices.

Click To expand
Figure 11: The CD Found dialog allows you to decide whether you want to check the CDs for errors before installation.

Step 2. If you select OK, continue reading at step 3. Otherwise, skip to step 5. (Hint: You should do the CD test at least once. It is possible that a bad CD will pass this test, but you can cut down the odds of wasting time with a bad CD if you test it.)

Step 3. You'll get a second dialog, as shown in Figure 12, that offers two choices: one to test the CD currently in the drive, and another to eject the current CD and insert a different one to be tested.

Click To expand
Figure 12: The second Media Check dialog offers choices to test the current CD or insert a different CD.

Step 3a. Whether you elect to test the current CD or eject the CD and insert another, you'll soon enough be greeted by the Checking dialog, as shown in Figure 13.

Click To expand
Figure 13: The Checking dialog of the Media Check process displays the progress with a thermometer bar.

Step 3b. Once the media check is complete, the thermometer bar will sit at 100% for another 15–30 seconds, as shown in Figure 14.

Click To expand
Figure 14: The thermometer bar will sit at 100% for a short period of time.

Step 3d. The Media Check dialog will display the results of testing the CD in the drive, as shown in Figure 15.

Click To expand
Figure 15: The results of the media check are displayed in a separate dialog.

Step 4. Click OK. You'll get a chance to test another CD or to continue with the installation process, as shown in Figure 16. Selecting Test will cycle through step 3 again, while selecting Continue will continue the installation process, as described in step 5.

Click To expand
Figure 16: The Media Check process allows you to test additional CDs or continue with installation.

Step 5. After selecting Skip in step lb or Continue in step 5, the character-based screen will scroll off the display as feedback about the installation process starts to appear, as shown in Figures 17 and 18.

Click To expand
Figure 17: Feedback about installation begins with a "Running anaconda" line.
Click To expand
Figure 18: Feedback continues with lines about probing for devices.

After 30 to 60 seconds, a graphical X appears on the screen, followed by the Fedora Core logo as shown in Figure 19. This means that the graphical subsystem has kicked in, and the rest of the installation will be done graphically, and (hopefully) with mouse support. (If your mouse doesn't work, you can manage to get through the GUI with the keyboard, so you can try to select a different mouse during the installation procedure.)

Click To expand
Figure 19: The appearance of the Fedora Core logo means that the graphical part of installation has begun.

Perform Installation

The Welcome screen appears to start off the installation wizard. It consists of a two-pane dialog. Help text is in the left pane, and tasks to perform are displayed in the right pane, as shown in Figure 20.

Click To expand
Figure 20: The "Welcome to Fedora Core" screen starts the installation wizard.
Welcome Screen

Step 6. Click Next to open the first installation screen, Language Selection, as shown in Figure 21 —after carefully reading every word of the Welcome text in the left pane, of course.

Click To expand
Figure 21: The Language Selection screen controls the installation process.
Language Selection

Step 7. Choose the language you want to use during installation, and then click Next to open the Keyboard Configuration screen, as shown in Figure 22.

Click To expand
Figure 22: The Keyboard Configuration screen.
Keyboard Configuration

Step 8. Choose the keyboard layout you want to use on your system, and then click Next to open the Mouse Configuration screen, as shown in Figure 23.

Click To expand
Figure 23: The Mouse Configuration screen.
Mouse Configuration

Step 9. Select your mouse. Mine was detected as a Generic 3 Button Mouse (USB) and I changed it to the right one—a Microsoft IntelliMouse Optical (USB). You may have to experiment a bit if you're using offbeat hardware. If your mouse has only two buttons, select the "Emulate 3 buttons" check box. Doing so enables you to click both buttons at the same time to take the place of clicking the middle button.

Then click Next to open the Monitor Configuration screen, as shown in Figure 24.

Click To expand
Figure 24: The Monitor Configuration screen.
Monitor Configuration

Step 10. Again, depending on your hardware, your monitor may already have been detected and shown as selected in the screen. If not, you can either choose "Generic monitor" at the very top of the list, manually choose your monitor if it's in the list, or choose the closest available choice to your monitor from the list. Then click Next to bring forward the Installation Type dialog, as shown in Figure 25.

Click To expand
Figure 25: The Installation Type dialog.
Installation Type

The Fedora Core distribution comes with literally hundreds of software packages in addition to the basic Linux operating system. The three FC CDs also include Office suites, Web browsers, e-mail clients, drawing packages, PDF viewers, and utilities, as well as tools for administration, programming, and a variety of servers (such as e-mail servers, network file servers, and Web servers). These packages, in toto, represent functionality for a wide variety of users, from power users to programmers to server administrators. Not everyone would use all of these packages. Instead, each type of user would use a subset of packages.

As a result, most users will not install every single package, although that could be done if a user wanted to use a machine for a wide variety of purposes (not advisable unless you know what you're doing). Instead, most users will want to select a subset of packages that would be used for a particular purpose. Installing packages that you have no use for could open your system to security vulnerabilities. Later, if you find a package that you want but didn't install, you can always install it then.

Because there are so many packages, it would be awkward, if not impossible, for most users to identify and install just the packages they want. Fedora Core comes with three predefined configurations of packages—one for power users (called "Desktop"), one for programmers (called "Workstation"), and one for server administrators (called "Server"). In addition, a fourth configuration allows users to customize their choices, but because you can customize the first three configurations too, it's not really necessary.

Step 11. Select the "Personal Desktop" option, because you're installing for an end-user machine. Then click Next to open the Disk Partitioning Setup screen, as shown in Figure 26.

Click To expand
Figure 26: The Disk Partitioning Setup screen.
Disk Partitioning Setup

The Fedora Core installation wizard provides a number of options for partitioning your hard disk. (See Appendix A, "Partitions," for a detailed explanation of how partitions work with respect to Linux.) According to the Disk Partitioning Setup screen, you can have FC automatically create partitions or you can manually partition the hard disk yourself by using FC's Disk Druid tool. If you choose automatic partitioning, FC will create several partitions by default that are good enough for many users. If you choose manual partitioning, you'll have to create every partition yourself. With automatic partitioning, you'll be able to review and modify the default partitions through Disk Druid, so there's no real advantage to selecting manual partitioning.

Step 12. Select "Automatically partition" and click the Next button to open the Automatic Partitioning screen, as shown in Figure 27.

Click To expand
Figure 27: The Automatic Partitioning screen.
Automatic Partitioning

The Automatic Partitioning screen gives you three choices. The first choice is what specific action to take regarding which partition or partitions to use or modify. If your system has more than one operating system installed on it, you can do one of three things.

The first action is to remove just the partitions used by Linux and leave the others (such as those used by games, Windows, and so on) alone.

The second action is to obliterate the entire hard disk, removing every partition on the disk and having it completely at your disposal when installing Linux.

The third action is to leave the existing partitions alone, and use free space (that is, disk space that hasn't been partitioned or formatted at all) for installation of Fedora. Obviously, this choice is applicable only if there is free space available.

Your next choice is which device (in other words, which hard disk) to use for the installation. Again, this choice is applicable only if you have more than one hard disk in the machine.

The third choice to make is whether or not to review the partitions created automatically by the installation routine via the check box at the bottom of the screen. Even if you wouldn't even dream of making changes to the values chosen for you, it's a good idea to review the partitions just to learn more about what's going on under the hood.

Step 13. Select the action appropriate for your installation. (If you're using a box exclusively for Fedora Core, select "Remove all partitions.") Select a device, if necessary. If you select the Review check box, you can find a description of what you'll see in the "Options" section later in this chapter. In the Automatic Partitioning screen, click Next to advance to the Boot Loader Configuration screen, as shown in Figure 28.

Click To expand
Figure 28: The Boot Loader Configuration screen.
Boot Loader Configuration

The Boot Loader Configuration screen is one of the wonderful screens in the installation wizard, because you can click through it with nary a second thought if you don't want to mess with anything, but it also gives you access to all sorts of advanced configuration options in one handy place, should you need them.

Because this is an introduction to installing Fedora Core, I'm going to assume that you're not going to want to mess with the boot loader at this point. The "Options" section, later in this chapter, describes what you'll see if you select some of the Boot Loader options.

Step 14. In the Boot Loader Configuration screen, simply click Next to move to the next step, the Network Configuration screen, as shown in Figure 29.

Click To expand
Figure 29: The Network Configuration screen allows you to determine how IP addresses and hostnames will be assigned.
Network Configuration

The default choice for the network configuration is DHCP (Dynamic Host Configuration Protocol). This means that the IP address that the computer uses is dynamically assigned by another computer. This is the default for many desktop computers, so we're going to go with it. You can use the Edit button in the upper right corner to assign a static IP address. Details are provided in the "Options" section later in this chapter.

Step 15. Click Next to move to the Firewall Configuration screen, as shown in Figure 30.

Click To expand
Figure 30: The Firewall Configuration screen allows you to configure a personal firewall in a number of ways.
Firewall Configuration

A firewall is a vehicle for controlling what types of traffic are allowed to access your machine from the network. Fedora Core includes a software firewall that is turned on by default, via the "Enable firewall" option button. You can optionally permit selected services to pass through the firewall by selecting the appropriate check boxes in the middle of this screen.

Step 16. Leave "Enable firewall" selected, don't check any of the services or device check boxes in the other sections, and click Next to move to the Additional Language Support screen, shown in Figure 31.

Click To expand
Figure 31: The Additional Language Support screen allows you to choose the default language and additional languages for optional use.
Additional Language Support

Every system uses a default language, which is already selected in this screen. If you install additional languages here, they will be available as options to switch to once you're up and running.

Step 17. Select the default language to be used for the system. Select additional languages if you want them to be available as options later. Then click Next to move to the Time Zone Selection screen, as shown in Figure 32.

Click To expand
Figure 32: Use the Time Zone Selection screen to set the system time graphically.
Time Zone Selection

The Time Zone Selection screen allows you to set the system time graphically.

Step 18. Select the dot nearest your locale in the world map. Alternatively, you can scroll through the entries in the drop-down box under the map. Select the "System clock uses UTC" check box if you want your system clock to take Daylight Savings Time into account. Then click Next to move to the Set Root Password screen, as shown in Figure 33.

Click To expand
Figure 33: Use the Set Root Password screen to create a secure password for the system.
Set Root Password

The root password provides access to the root user's account. "Root" is akin to "administrator" on a Windows system, although more powerful, because root on a Linux system can perform more functions than an administrator on a Windows computer. As such, it's important to set a very strong password for the root user.

Step 19. Set the root password, repeat it, and click the Next button. The "Reading packages" dialog appears for a moment, and then is replaced by the Package Installation Defaults screen, as shown in Figure 34.

Click To expand
Figure 34: The Package Installation Defaults screen allows you to accept or modify the default software.
Package Installation Defaults

The selection of one of the four Installation Types in step 10 earlier (see Figure 25) drives the assembly of a list of packages that will be installed. At this step, you have the chance to modify the list of packages.

Step 20. If you want to accept the default set of packages, keep the "Install default software packages" choice selected. If you want to be able to modify the list of packages, select the "Customize software packages to be installed" option button.

In both cases, click Next. If you selected "Install default," continue reading with step 22. Otherwise, continue with the next step, Package Group Selection. If you're customizing the list, you'll see the Package Group Selection screen, as shown in Figure 35.

Click To expand
Figure 35: The Package Group Selection screen displays the selected packages for the Installation Type you selected in Figure 25.
Package Group Selection

The Package Group Selection screen displays the packages that are selected by default based on the Installation Type you selected in step 10 and shown in Figure 25.

The packages you select at this point are purely a matter of personal choice and personality. Some people like to install everything under the sun, finding it handy to have anything they might need at arm's length. Others want to keep things to a minimum, figuring that the less software that's installed means fewer potential security holes, and makes using the system less confusing, due to fewer choices to deal with. It's up to you which way you want to go. A full installation will run about 5 GB, while a minimal installation will be closer to 1 GB. You can even have the installer select a minimal configuration or install everything (including some items not listed in the separate package groups), as shown in Figure 36.

Click To expand
Figure 36: Use the Minimal or Everything check boxes at the bottom of the Package Group Selection screen to quickly make "all or nothing" choices.

That said, I would suggest that you consider including the following items:

  • KDE Desktop Environment—all packages. There are a number of nifty little widgets that come along with KDE.

  • Office/Productivity Packages—GnuCash is similar to Quicken. GPDF and XPDF allow you to view PDF files. (OpenOffice.org should already be selected.)

  • Sound and Video—all packages.

  • Administration Tools—all packages.

  • System Tools—samba client. This enables you to communicate with other computers on your network.

Tip

If you find that you've installed too much (or too little), you can add and remove packages through the System Settings | Add/Remove Packages option later in the installation process, as well as at any time while you're using the system via System Settings | Add/Remove Applications.

Step 21. Once you've selected the packages you want, click Next to move to the About to Install screen, as shown in Figure 37.

Click To expand
Figure 37: The About to Install screen is your last chance to abort the installation.
About to Install

The About to Install screen is the last step in the installation wizard. The wizard claims that this screen is your last chance to make changes to choices you've made so far, as well as to simply cancel the installation completely, but the wizard lies.

Once installation begins, notes regarding the progress are stored in a text file named "install.log" and stored in the /root directory. If anything goes wrong during installation, you can examine this file for clues about what might have happened (or not happened).

Step 22. Click Next to view the Required Install Media dialog, shown in Figure 38.

Click To expand
Figure 38: The Required Install Media dialog describes which CDs will be needed during installation.
Required Install Media

The Required Install Media dialog is your actual last chance to abort the installation. The list of CDs varies according to which Installation Type you selected and which packages you chose in earlier steps.

Step 23. Once you've assembled the CDs you're going to need, click Continue to move to the Installing Packages screen, shown in Figure 39.

Click To expand
Figure 39: The Installing Packages screen is overwritten by a series of progress dialogs. The first dialog indicates the progress of the file system format.
Installing Packages

Once the Installing Packages screen in the wizard appears, a series of dialogs pop up. These dialogs contain progress bars and describe the steps involved in preparing the system for installation of the software packages. Figures 39 through 42 show these dialogs.

Click To expand
Figure 40: The Preparing RPM transaction dialog is second to appear.
Click To expand
Figure 41: The third dialog alerts the user to the start of the software installation itself.
Click To expand
Figure 42: The final progress dialog continues the installation startup alert.

Installation takes between 40 and 90 minutes, depending on the horsepower of your machine and the number of packages being installed. After the progress dialogs disappear, the wizard screen displays another thermometer bar that indicates the progress of the installation, as shown in Figures 43 and 44. Below the thermometer bar, the name and description of each package is listed as it is installed.

Click To expand
Figure 43: After the progress dialogs disappear, a thermometer bar appears in the wizard.
Click To expand
Figure 44: The text below the thermometer bar displays the name and description of the package currently being installed.

Step 24. Eventually you'll be asked to swap in CD #2 and/or CD #3. Once the installation program is done installing all of the software packages, another progress dialog will appear, identifying the post-installation configuration step, as shown in Figure 45.

Click To expand
Figure 45: The progress dialog identifies that post-installation configuration is taking place.

Once the installation of the packages is complete, it's time to perform one more housekeeping task—creating a boot diskette—as shown in Figure 46.

Click To expand
Figure 46: After installation is complete, you are prompted to create a boot diskette.
Boot Diskette Creation

A boot diskette contains the minimum information needed to start your Linux machine in the event that information on the hard disk (such as the Master Boot Record) gets corrupted.

Step 25. Because this is your first Linux machine, it's a good idea to create a boot diskette now. It takes about a minute, and remember that all of the information on the diskette will be overwritten by this process. Once the boot-diskette-creation process is complete, take the diskette out of the drive and label it with today's date, the name of the computer, the name of the distribution (such as "Fedora Core 1"), and the words "Boot Diskette," so you can remember what it's for when you need it three months from now. Store it with your Fedora Core CDs.

Click Next when you're done with the boot diskette and you'll be greeted by the Congratulations screen, shown in Figure 47.

Click To expand
Figure 47: Congrats! You're done!
Congratulations!

You're done! Well, not really. There are a few more housekeeping tasks, but first you have to reboot—your first and only reboot necessary during the entire installation process.

Step 26. Take all removable media out of their drives (floppies and CDs), and click Reboot. The machine will restart, and you'll see prompts during the restart much like you did in Figures 8 and 18. See Figure 48.

Click To expand
Figure 48: After rebooting, prompts track the progress of the restart process.

Final Setup

The rebooting process will switch from a character-based set of prompts to a graphical display, and a thermometer bar will appear on the Fedora Core logo screen, as shown in Figure 49.

Click To expand
Figure 49: The Fedora Core startup screen displays a thermometer bar that indicates its progress.

Unlike previous versions of Red Hat Linux, FC will keep the details hidden from you by default. However, you can see the same character-based progress prompts if you click the "Show Details" hyperlink under the left side of the thermometer bar. Doing so will bring forth a blank screen as shown in Figure 50.

Click To expand
Figure 50: The character-based progress prompts appear on the screen before any results are displayed.

As startup continues, the thermometer bar at the top of the screen will make its way to the right, and prompts will begin to appear, as shown in Figure 51. As each step passes, the installation process displays a green "OK" response. If a startup operation fails, a corresponding red "FAILED" response will appear, as shown in Figure 52. (Note that it's not uncommon for a "FAILED" message to show up. Don't get all bothered about it; once in a while a program or service will get installed that fails during boot but doesn't affect the running of the system.)

Click To expand
Figure 51: Character-based prompts will start to appear below the thermometer bar.
Click To expand
Figure 52: If a startup operation fails, it will display a red error message.

Unless a catastrophic error occurs (in which case you'd examine the install.log file in the root directory for more information), the Welcome screen appears, as shown in Figure 53.

Click To expand
Figure 53: The Welcome screen of the Final Setup process.
Welcome

The Welcome screen is similar to the installation wizard, except that the remaining steps are listed on the left side and all explanatory text is contained on the right.

Step 1. Click Next to move to the License Agreement screen, as shown in Figure 54.

Click To expand
Figure 54: The License Agreement screen asks you to accept or reject the license.
License Agreement

The License Agreement screen, although it looks like lots of other license screens, simply serves to confirm that Fedora Core is developed under the GPL, and to explain Red Hat's role in the process. You'll have to accept the agreement to continue, but you're not signing your life away like you do with proprietary software license agreements.

Step 2. Click Next to move to the Date and Time screen, as shown in Figure 55.

Click To expand
Figure 55: The Date and Time screen allows you to confirm the system time and configure your system to synchronize it with a remote time server.
Date and Time

You can perform three tasks in this screen. First, you can set the system date using the calendar widget on the left. Second, you can set the system time, using the Hour, Minute and Second spinners on the right.

Third, you can configure your system to automatically synchronize with a remote time server by using the Enable Network Time Protocol check box and Server box at the bottom. Selecting the check box will enable the drop-down box as shown in Figure 56, and provide choices for remote servers.

Click To expand
Figure 56: The Server box provides predefined choices for remote time servers.

Step 3. Set the date and time, and, if desired, enable NTP and select a remote server. Then click Next to move to the User Account screen, as shown in Figure 57.

Click To expand
Figure 57: The User Account screen allows you to create day-to-day accounts.
User Account

The root user should be used only when performing administrative duties on the computer that can't be done any other way. For general use, you should have a second account. All other users of the computer should also either use that same account, or, preferably, use their own accounts. This screen is used to create one or more user accounts.

This account is stored on the local machine. If you want to create a network login (for example, to log in to a Linux or Windows server), click the Use Network Login button. I'll cover this in more detail in Appendix B, "Connecting to a Windows Network."

Step 4. Enter a username, the full name of the user (optional, but recommended if more than one person will be using the computer), and a password. Click Next to move to the Sound Card configuration screen as shown in Figure 58.

Click To expand
Figure 58: The Sound Card screen allows you to ensure that the sound card on the machine works properly.
Sound Card

The Sound Card configuration screen allows you to confirm that a sound card, if found, is operating properly. If detected, the sound card is identified, and you are offered the chance to test it.

Step 5. Click the Play Test Sound button. A sound will be played out of each speaker in turn, and then out of both speakers at the same time. Then you are asked if you heard the sounds properly, as shown in Figure 59.

Click To expand
Figure 59: Sound card detection confirmation.

If you heard the sounds properly, click Yes; otherwise, click No. If you click No, you'll be given the chance to configure the sound card manually.

Step 5a. After you are done, click Next to move to the Additional CDs screen, shown in Figure 60.

Click To expand
Figure 60: The Additional CDs screen is an errant holdover from Red Hat 9 days.
Additional CDs

You can giggle now if you like. The Additional CDs screen says, "If you have any of the CDs listed below..." but there aren't any CDs listed. This screen is an errant holdover from the installation routine in Red Hat 9 and earlier.

Step 6. Just click Next to move to the Finish Setup screen, shown in Figure 61.

Click To expand
Figure 61: Final Setup—you're almost done!
Final Setup

The Final Setup screen simply confirms that installation is complete.

Step 7. Click Next to finish installation and move to the login screen, shown in Figure 62.

Click To expand
Figure 62: The Fedora Core login screen.

First Login

The login screen is somewhat different than what you're used to in terms of Windows, because there's only a single text box for entering a username. Once you enter a username and press Enter or tab out of the text box, the Username text box is replaced by a Password text box, as shown in Figure 63.

Click To expand
Figure 63: The Username text box turns into a Password text box.

Step 1. Enter a username and press Enter.

Like the Username text box, the Password text box is longer than most mortals will ever need (ever run into one of those paranoid types who uses a 57-character password?).

Step 2. To log in, enter your password and press Enter. If your username and password are accepted, icons will start appearing at the bottom of the Fedora Core logo screen, as shown in Figure 64.

Click To expand
Figure 64: Upon successful login, the Fedora Core logo screen appears.

The icons represent startup of various services—if you watch carefully, you'll see descriptions of each service displayed underneath the line of icons. Finally, the default Fedora Core desktop appears, as shown in Figure 65.

Click To expand
Figure 65: The default Fedora Core desktop.

To shut down, click the Red Hat icon in the lower left corner of the screen, and select the Log Out menu option. You can choose to simply log out, to reboot the machine, or to shut the machine down completely.

If you log out, the Username login screen will be displayed just as it was in Figure 62. If you either reboot, or start the machine up after shutting it down, you'll be greeted by the boot menu screen, as shown in Figure 66.

Click To expand
Figure 66: The boot menu screen appears upon reboot or machine startup.

If you don't press Enter within 10 seconds, Fedora Core will start automatically, and you'll soon be greeted by the Username login screen as described earlier.

And that's that!


Advanced Topics/Alternatives/Options

Installation doesn't simply consist of a single path, straight and narrow. As you've seen, you can make a number of choices along the way, such as partitioning, setting IP addresses, and so on. In this section, I'll discuss each of these alternatives.

Modifying Automatic Partitioning's Choices

In step 12 of the "Perform installation" section, you had the choice to examine (and modify) the choices made by the installation routine's automatic partitioning mechanism. At the time, you just accepted the defaults and moved on. Now I'll explain how to modify those choices and suggest some alternatives.

If you select the Review Choices check box in Figure 27, Fedora Core's installation routine will create three partitions and then display them when you click the Next button in step 12. This display looks something like Figure 67.

Click To expand
Figure 67: The Disk Setup screen, showing the default partitions created by FC.

There are two parts to the right pane of this screen. The first is the Drive bar across the top of the pane, showing you graphically how the hard disk is divided up into partitions. (If your computer has more than one hard disk, there will be a separate bar for each disk, stacked one above another, with each stretching all the way across the screen.)

The second part is the list of devices, drives, and partitions on each drive, shown in the bottom half of the right pane. Figure 67 shows one hard disk with three partitions. The first row shows the device name, and subsequent rows identify each partition, together with information about that partition.

If there is a second disk, it will be listed after the last partition of the first disk, with rows for each of its partitions and their information under the row for the disk itself.

Selecting a partition in the device list will also highlight the partition in the drive bar, as shown in Figure 68.

Click To expand
Figure 68: Selecting a partition in the Disk Setup screen also highlights the partition in the Drive bar at the top of the screen.

Automatic partitioning creates three partitions by default: one for swap, one for /boot, and one for /, as you can see in Figure 68. If you want to modify this configuration, you can use the buttons between the Drive bar and the partition list. For example, suppose you wanted to create another partition. Assuming there was no available disk space, you would have to resize one of the existing partitions to create some available space, and then create a new partition in that newly freed-up space.

Specifically, here are the steps you would follow to create a fourth partition for /home by taking some of the space used by /. First, highlight the / partition in the device list, as shown in Figure 68. Second, click the Edit button to open the Edit Partition dialog, shown in Figure 69.

Click To expand
Figure 69: The Edit Partition dialog allows you to change the attributes of an existing partition.

The Edit Partition dialog allows you to modify attributes of the partition, including the size, how the size is determined, the mount point, and so on. For the purposes of this example, reduce the size of the 3679 MB / partition by half a gigabyte. This will leave that half gigabyte free, and you can use that to create another partition. (As a matter of practicality, leaving 3179 MB for the / partition may not be enough, depending on how much software you're planning to install on the system.) Click OK and you're returned to the Disk Setup screen.

Next, click the New button to bring forward the Edit Partition dialog again. (Yes, I know you're not editing an existing partition, but that's what the dialog says.) Because you're creating a brand new partition, you should go through each object in the dialog. First, select the mount point from list, as shown in Figure 70. In this example, that's /home.

Click To expand
Figure 70: The Mount Point list allows you to assign a mount point to the partition being edited.

Second, click the Fixed Size option button. Then enter "500" in the "Size (MB)" text box. Third, click OK to return to the Disk Setup screen.

As an aside, remember that you can only have four primary partitions on a single hard disk. If you want to create more than four partitions, you can keep clicking New and adding partitions to your system, assuming you've got the disk space for it. Disk Druid will automatically create an extended partition and logical partitions within that extended partition as needed. If one of the partitions you're creating absolutely has to be a primary partition, select the "Force to be a primary partition" check box in the Edit Partition dialog. One of the existing primary partitions will be converted to a logical partition.

Customizing the Boot Loader Options

The two things I'm going to mention with respect to boot loaders aren't necessary during your first (or even your fifth) installation. However, they're nice to know, and may come in handy as you become more experienced.

Writing to the Master Boot Record

The first item is determining whether or not this installation is going to write the boot loader to the Master Boot Record. This is done during step 14 of the "Perform installation" section. If you don't understand the concept of writing boot loaders now, don't worry—file it away for later. Click the Change Boot Loader button in the upper right of the screen shown in Figure 28 to open the Change Boot Loader dialog, shown in Figure 71.

Click To expand
Figure 71: The Change Boot Loader dialog allows you to prevent the boot loader from being written to the Master Boot Record.

If you want to install GRUB into the Master Boot Record as the boot loader for this installation (which is the default), you'd do nothing in this dialog. However, if you do not want to install a boot loader into the Master Boot Record for this installation of Fedora Core, select the "Do not install a boot loader" option button and then click OK. This option comes in handy if you're installing Fedora Core on a machine that already has an operating system (such as Windows) that has its own boot loader in the Master Boot Record, and you don't want to mess with it.

Editing The Boot Loader's Label

The second item that is useful is editing the label on the current boot loader. When you finish with installation and start up your machine, you'll be presented with a boot menu like that shown in Figure 66 earlier in this chapter. As you can see, there's only one choice available, and the text on it has already been determined.

There are a couple of reasons that you might want to change the text. Perhaps you just want it your own way. A more common reason is that if you install other operating systems, or if you install updates to this Linux installation, there will be multiple choices in this boot menu, like so:

Fedora Core (2.6.08-1.0189.nptl)
Fedora Core (2.4.24-1.2222.nptl)
Fedora Core (2.4.22-1.2115.nptl)

You might want text labels that are more descriptive, which might remind you of the differences between the various choices, like so:

FC 1 - 2nd 2.6 kernel (2.6.08-1.0189.nptl)
FC 1 - new NVIDIA drivers (2.4.24-1.2222.nptl)
FC 1 - original install (2.4.22-1.2115.nptl)

To change the text, highlight the Fedora Core line in the list box in the middle of the right pane, and then click the Edit button immediately to the right of the list box. The Image dialog, as shown in Figure 72, will appear. To change what appears in the boot menu, change the value in the Label text box, and then click OK.

Click To expand
Figure 72: Changing the description of the operating system title in the boot menu.

Assigning Static IP Addresses Instead Of Using DHCP

In step 15 of the "Perform installation" section, you assumed that you were going to use DHCP so that your computer would automatically be assigned an IP address by another box as necessary. What if you want to manually assign an IP address to your computer and keep it the same all the time—in other words, what if you want to use a static IP address?

Technically, the IP address isn't assigned to your computer, but to the Ethernet card inside your computer that connects your machine to the network. If you have more than one Ethernet card in your computer, you would have more than one entry in the Network Devices list box in the top half of Figure 29.

In order to assign a static IP address to a specific Ethernet interface, highlight the interface of interest in the Network Devices list box, and click the Edit button in the upper right corner of Figure 29 to open the Edit Interface dialog, shown in Figure 73.

Click To expand
Figure 73: Use the Edit Interface dialog to assign a static IP address to a computer's Ethernet card.

You can use this dialog to enter data for the specific Ethernet interface that was highlighted in the Network Configuration screen (you can see this behind the Edit Interface dialog in Figure 73). That's why the title bar of the dialog identifies the name of the device.

First, uncheck the "Configure using DHCP" check box. Doing so will enable the IP Address and Netmask text boxes below.

Second, enter the static IP address you want to assign to the Ethernet interface, and the netmask of the device as well. See Figure 74 for an example.

Click To expand
Figure 74: Entering the static IP address for an Ethernet interface.

Finally, click OK to get back to the Network Configuration screen, as shown in Figure 75.

Click To expand
Figure 75: The Network Configuration screen, ready for a manually entered hostname.

The next step is to assign a name to the machine you're working on, instead of letting the machine get a name automatically assigned to it (via DHCP). Click the "manually" option button in the Hostname area. Doing so enables both the Hostname text box and all of the text boxes under the Miscellaneous Settings label.

Enter a hostname for the machine. You can enter simply a label, as shown in Figure 76, or enter a fully qualified hostname—as shown in the example on the screen (host.domain.com).

Click To expand
Figure 76: A manually entered hostname and gateway address.

You can also enter the IP address for the gateway machine on your network (such as the IP address of your router) and the IP addresses for your DNS servers.

Then click the Next button, and you're all done with setting static IP addresses.


Summary

Desktop Linux is ready for power users. Installing Fedora Core on a PC is an easy task in 2004. FC recognizes a great deal of hardware, and the wizard's user interface is as smooth and bug-free as I've encountered in the Linux world. While some of the terminology may need a bit more work before I'd turn it over to a complete novice, the installation is definitely ready for prime time as far as power users go.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 3: Updating Fedora Core

Overview

Unless you're installing a brand-new version of a piece of software, there are bound to be updates available for it, and Fedora Core is no exception. Updating your system with the latest patches, bug fixes, and security updates will keep your system running as smoothly and problem-free as possible. Because Fedora Core is Linux, there's not just one way to update your system. In this chapter, I'll explain how the Fedora Core basic update process works and how to use the various mechanisms available to you.

Updating a piece of software has become a nearly trivial process. In the olden days, many software manufacturers didn't automatically issue patches and updates. Instead, they rolled fixes into an update or upgrade that may or may not have been free. You had to wait for patch disks to show up in the mail, or, worse, had to request the disks after a chance discovery of their availability.

Once bulletin boards became more widespread, and communication software and hardware advanced sufficiently, some manufacturers posted patch files on their boards, or on third-party boards like CompuServe, and posted announcements about their availability on various electronic forums.

After Web sites made their debut in the early '90s, companies began migrating their patches and updates to a company support site, and started using e-mail to notify users of availability as well.

Still, it was up to the user to be proactive enough to get and install the updates. This wasn't always easy, and a combination of lack of sophistication on the part of some users as well as less-than-coherent directions from the software company made this all too often a risky procedure.

Nowadays, it's become common for software to "phone home" to the manufacturer in order to check on whether or not updates are available, and, if so, alert the user. Some software can be configured to look for and install updates automatically, without any user intervention. Whether or not you take advantage of this capability is up to you. Many users of Windows systems configure their anti-virus products to go through automatic updates, but don't let the operating system get patched automatically, due to the irregular quality of service packs and other patches.

Fedora Core does the first part—checking to see if updates are available and notifying the user—via the Red Hat Network Alert Notification Tool, which appears as an icon in the panel, as shown in Figure 1.

Click To expand
Figure 1: Upon startup, the Red Hat Network Alert Notification Tool displays a blue check mark that indicates it is not aware of any new updates.

When the machine can connect to the Internet, it will attempt to query a Web site for information about available updates. When the icon is green, it means that FC is currently querying for updates, as shown in Figure 2.

Click To expand
Figure 2: The Red Hat Network Alert Notification Tool icon's green color means updates are currently being queried.

If there are updates available that have not been applied, the icon turns red, as shown in Figure 3.

Click To expand
Figure 3: The round red icon in the lower right corner of the panel indicates that updates are available.

After all available updates have been applied, the icon turns blue again, meaning that the system is up to date, as shown in Figure 4.

Click To expand
Figure 4: The blue check mark indicates that no updates are available.

If you move your mouse over the icon, a tooltip will display how many updates are available and how many have been ignored during the last update session. If the tooltip in Figure 3 alarms you (nearly 100 updates available), remember that there could be thousands of packages installed on an FC system. Furthermore, the more time that has passed since the time when the ISOs you used to install were made available and the last update session, the more updates will be available. If you install FC (or any distro, for that matter) with old files, there will likely be a lot of updates to install the first time you do an update, but significantly fewer each successive update.


The Big Picture

Fedora Core provides three mechanisms to update your system. Before I get into the specific mechanisms, a word about three items: dependencies, RPMs, and the Red Hat Network.

Dependencies

No man is an island, nor are too many pieces of software. Many applications aren't monolithic files, but instead rely on other files or applications. For example, in order to run application A, application B must be installed as well. This requirement is called a "dependency" (in that A is dependent on B).

The core Linux operating system, as with all operating systems, consists of hundreds and hundreds of files—and if you include the applications that come with most distros, you're looking at thousands of files. Many of them have dependencies—including multiple dependencies. For example, A depends on B and C. B depends on D, which depends on E, and C depends on F. In order to install A, then, you have to install B, C, D, E, and F. Given that other programs also have intertwined dependencies, you can see how the whole situation can get confusing quickly.

In the olden days, you had to resolve these dependencies by hand. Not appealing. What people would do, then, is write scripts (think "batch files" or "macros") that would automate these processes. Much better. But still a nuisance.

So Red Hat created the Red Hat Package Manager, intended to provide a clean front end to the scripts that automated the dependency problem.

RPMs

RPM is short for "Red Hat Package Manager." It's a tool that automates much of the process of installing and uninstalling parts of an FC system. The RPM tool has several pieces.

The first is a database on your own system that contains information about packages and the files required by each package. When you install or uninstall packages, RPM tracks this information in the database. Suppose you install a package that uses File A. Later, you install a second package that also uses File A. Because File A was installed with the first package, it's not installed again. If you later uninstall the first package, File A is not removed, because it's still needed by the second package. All of this is handled by RPM.

The second piece of the RPM tool is software that provides a variety of functions that work with this database, such as installation, uninstallation, and information about in the contents of a package, what is currently installed, and so on.

The third piece is the RPM package itself. Every RPM has two files, a header file and the package file. The header contains a list of all files, descriptions of the packages, requirement and conflict lists, and some other descriptive information. Different update mechanisms use the RPM database on your system and the RPM headers in different ways.

Fedora Core is not the only Linux distribution using the RPM system. Obviously, Red Hat's corporate offerings use it, but so do SuSE and others.

Installing an RPM package is as simple as issuing this command:

rpm -i abc.i386.rpm

If the installation succeeds, no output will be returned. You can use the -ivh parameters to provide verbose feedback on the installation.

If the installation fails, say, because the package has unresolved dependencies, those requirements will be provided in the output returned from the command. The rpm command is actually a rather complex beast; indeed, entire books have been written about RPM, and just the help included with the command to list the various options is well over 100 lines long! It is possible to munge your system beyond recognition with the inappropriate use of rpm, so I suggest you stick with the up2date mechanism described in this chapter until you're considerably more comfortable.

Red Hat Network

Red Hat Corporation used to provide a version of Linux called Red Hat Linux that you could purchase in a box set (either directly from Red Hat, from an online distributor, or from a physical store) or download for free from the Red Hat Web site.

Part of the Red Hat Linux package was a service called the Red Hat Network, which was available as a demo, free for a couple of months. You could then extend your free subscription by filling out a survey every few months. An alternative was to buy a subscription to the Red Hat Network. Such subscriptions started at $60 per year.

Red Hat Linux could be configured to connect to the Red Hat Network, download available updates, and install them—all automatically—without any work on the part of the user. The Red Hat Network used a software tool called up2date that I'll discuss shortly.

With the introduction of Fedora Core, access to the Red Hat Network is restricted to people who purchase Red Hat's enterprise products. Fedora Core can be configured to check for available updates, but the automated update mechanisms of Red Hat Network (whereby the updates are automatically downloaded and installed) are not available to Fedora Core users. More on this in a minute.

With this background in mind, let's look at the specific mechanisms available for Fedora Core users.

up2date

The first update mechanism is the Red Hat Update Agent, referred to as "up2date" in shorthand. up2date is also used by the Red Hat Network for its enterprise products. The difference between Red Hat Network's version of up2date and Fedora Core's implementation is the work that the user has to perform.

Fedora Core still has the Red Hat Network Alert Notification Tool (as shown earlier in Figure 1) that appears red when updates are available. However, in order to use up2date, you'll run the up2date tool to fetch the headers for the available updates. These headers will be displayed in a list, from which you can then pick and choose, depending on which packages you want to install.

After selecting the packages of interest, you'll fetch the actual updates from the Red Hat Web site and download them to your computer. Once downloaded, up2date will verify that the downloaded files are good, and then attempt to install them. You can also manually install packages using the rpm command as mentioned earlier.

The default configuration of up2date suffers from some performance and reliability issues. It attempts to connect to just one server by default, which means that just about every FC user on the planet is trying to get updates from the same server. That server can get overloaded rather easily with all of this traffic, and as a result connections can be very slow, and they often time out, even if you've got a fast connection on your end. The error messages and resulting failures are confusing and frustrating. Dealing with these problems is one of the most popular subjects on the FC mailing lists.

One thing I'll explain is how to change up2date's configuration so that it looks at a different server to fetch updates, resulting in improved performance and fewer confusing error messages.

Yum

Similar to up2date, yum (Yellow Dog Updater, Modified) is an automatic updating tool that runs on the system being updated. Like up2date, it determines dependencies and what needs to be installed or uninstalled. From the point of view of an end user, it is a piece of software installed on one's system. (There is a corresponding piece of software on the server that you only need to be concerned with if you are creating a repository for yum updates.)

yum can be configured to work with any old FTP or HTTP server, which makes it ideal for sites that create custom configurations or that require multiple repositories of RPMs. For example, if you're supporting multiple groups of users, each of whom wants their own custom configuration of packages, you can create separate repositories for each group. Then they update from their own repository, and only those updates applicable to their configuration are available.

Unlike other tools, yum copies the header from the RPMs on the server. The yum client (on the system being updated) then uses those headers to determine what needs to be installed or uninstalled, instead of using a custom library or index of updating information. After determining what will be done, yum relies on RPM to do the actual work.

yum is highly configurable, and is ideal for the scenario mentioned earlier, in which an administrator is supporting multiple groups of users who each are responsible for their own network's administration. I can't even begin to do it justice here, so if this is something that sounds interesting, I'll refer you to the definitive HOWTO here (note that the repeated directory at the end is not a typo): http://www.phy.duke.edu/~rgb/General/yum_HOWTO/yum_HOWTO/

APT

APT (Advanced Packaging Tool) is a third mechanism for updating Fedora Core. It, too, is an automatic updating tool that determines dependencies and handles installation and uninstallation, and was originally created for the Debian distribution. I mention it here because as you become comfortable with updating, you will undoubtedly run into someone who mentions APT. While it is command-based ("apt-get <package name>"), APT users have the option of using a GUI front end called Synaptic.

Like yum, a complete description of how to use APT is beyond the scope of this chapter. If you're interested, you can find the definitive HOWTO here: http://www.debian.org/doc/manuals/apt-howto/index.en.html

Summary

Which to use? Like many things in the computer world, there isn't a clear and simple answer— it's in large part a matter of personal preference and philosophy, and thus advocating one over another is prone to spark another so-called "religious war." Because you're just getting started with Linux, I'll discuss how to use the GUI for up2date in detail in this chapter. After you've gotten comfortable with the process and know your way around the block, you can check out alternatives like yum and APT.


The Details - Step By Step

Team LiB

The Details—Step By Step

In this section, I'll discuss how to use the up2date mechanism in great detail, because it's the mechanism most applicable to a new Fedora Core user.

Are There Updates Available?

When you right-click the Red Hat Network Alert Notification Tool icon, you'll get a menu that offers a variety of update options, as shown in Figure 5.

Click To expand
Figure 5: Right-clicking the Red Hat Network Alert Notification Tool icon displays a number of update options.

Because Fedora Core 1 is a transitional release—from Red Hat Linux to a distribution completely supported by the community—some of the items in the commercial version are still hanging around. The RHN Website option available in the Red Hat Network Alert Notification Tool is one example of commercial remnants. Clicking on it still takes you to the RHN Web site, but the information there doesn't have anything to do with Fedora Core updates.

In order to run up2date properly, you'll want to follow three steps. First, you'll configure up2date with the Red Hat Network Alert Notification tool. Second, you'll point up2date to a mirror different than the default that comes with Fedora Core. Third, you'll launch up2date and run the wizard. After you've done this process once, future up2date episodes will simply involve the third step of checking for (and installing, if any) updates.

Configuration

This menu option allows you to configure the RHN Alert Notification Tool, including proxy settings. Click the Configuration menu option to open the Welcome screen as shown in Figure 6. Click Forward to move to the Terms of Service screen, as shown in Figure 7.

Click To expand
Figure 6: The Welcome screen of the Red Hat Network Alert Notification Tool.
Click To expand
Figure 7: Reading the Terms of Service screen is a good idea, for a change.

Unlike most licenses, this one contains some useful information. You should actually read through the Terms of Service paragraphs. You can also remove the Red Hat Network Alert Notification Tool from the panel by clicking the Remove From Panel button under the edit box. (If you do so, and later want to add the tool back, click System Tools | Red Hat Network Alert Icon.) Then click the Forward button to open the Proxy Configuration screen, as shown in Figure 8.

Click To expand
Figure 8: The Proxy Configuration screen of the Red Hat Network Alert Notification Tool.

If you need to go through a proxy, you undoubtedly have configured settings like these before, and you know what to enter for your particular environment. If not, you can ignore this screen. In either case, when you're done, click Forward to move to the Configuration Complete screen as shown in Figure 9.

Click To expand
Figure 9: The Configuration Complete screen allows you to check for updates immediately.

You can check for available updates simply by clicking the Apply button, or just close the tool by clicking the Close box in the upper right corner of the title bar. For purposes of this chapter, I'll discuss updates in the next section.

This wizard just gets you started. A number of advanced options are available through the Red Hat Network Configuration dialog. To get to this dialog, follow these steps:

  1. Open a terminal window.

  2. Issue the command

    up2date -configuration

    and enter the root password when prompted.

  3. The Red Hat Network Configuration dialog will appear, as shown in Figure 10.

    Click To expand
    Figure 10: The General tab of the Red Hat Network Configuration dialog handles proxy settings.

The General tab of the Red Hat Network Configuration dialog allows you to set which server you want to use, as well as proxy settings for your system, similar to the wizard discussed earlier.

The Retrieval / Installation tab displays a variety of customization capabilities, as shown in Figure 11.

Click To expand
Figure 11: The Retrieval / Installation tab provides a variety of customization capabilities.

Here you can specify whether or not to install packages automatically after downloading them, whether or not you want to upgrade packages after you've modified the configuration file for those packages (because upgrading would typically overwrite the changes you've made), and whether or not to retrieve the source code for the package.

The middle box allows you to automatically run the GNU Privacy Guard (GPG), a free Pretty Good Privacy (PGP) workalike, to verify that the downloaded packages arrived safely and are, in fact, the original packages you intended to download. If you select this option but you haven't already installed the Red Hat public key, the first time you attempt to download and install, you'll be prompted to fetch the key (see Figure 12).

Click To expand
Figure 12: Installation prompts you to download and install Red Hat's public key if you don't have it and want to use GPG.

The third box allows you to delete the RPMs automatically (or not) after installation, and specify whether you want to have rollback capability for the packages you're updating.

Finally, you can choose where you want to store the packages you're downloading— important if your system has limited hard disk space and the default partition in /var doesn't have room.

The third tab, Package Exceptions, allows you to specify which packages you don't want to include in a standard update operation, as shown in Figure 13.

Click To expand
Figure 13: The Package Exceptions tab allows you to choose which packages you don't want to include in a standard update operation.

By default, an update will grab all packages available on the server. You may know about some packages in advance that you aren't going to update regularly. For example, the Linux kernel is updated regularly. But many people don't want to install every single update, preferring to wait for updates that affect them. Thus, the packages that begin with the name "kernel" are by default part of the Package Exceptions group. (The asterisk denotes every package that begins with the six letters "kernel," including the kernel itself, the documentation, and the source code.)

You can use this feature to customize just exactly what shows up during the installation process, but you can also override your default choices in special cases.

When you're done with all your changes, just click OK.

Point up2date to a Local Mirror

As mentioned earlier, Fedora Core up2date is configured to point to a single Web site for fetching updates. As a result, this site is usually overloaded, which results in a couple of common problems. One is an abnormally slow transfer, as shown in Figure 14.

Click To expand
Figure 14: The Retrieving Packages dialog shows you the data transfer rate, among other things.

You'll notice that the data transfer in this screen is 11 KB/sec, which is a little slow given that the receiving end is an unfettered T1 line. Another common error is shown in Figure 15, after the retrieval of a package.

Click To expand
Figure 15: The "invalid GPG signature" error is often a result of an interrupted file download.

What has likely happened is that the file hasn't been tampered with, but that it's simply corrupt, because the download was terminated and wasn't resumed, leaving a bad file.

These two problems are posted on the Fedora Core mailing list on a daily basis. You can avoid them by hitting a different mirror. up2date gets its configuration information from a plain text file called /etc/sysconfig/rhn/sources. In this step, you'll modify this file and change the URL for the Web site to grab files. Here's how, in detail.

First, look for a mirror that is physically close to you. Browse the list of mirrors at http://fedora.redhat.com/download/mirrors.html I'll use http://www.gtlib.cc.gatech.edu/pub/fedora.redhat/linux/core/ in this example, but encourage you to use a different one, so that all of the readers of this book don't overload that server too! When you go to that URL, you won't see a list of files. Instead, you'll see a directory structure similar to that shown in Figure 16.

Click To expand
Figure 16: Drilling down through the updates node of a directory listing.

Navigate through the following directories—updates, 1, and i386—until you arrive at the http://www.gtlib.cc.gatech.edu/pub/fedora.redhat/linux/core/updates/l/i386/ directory, as shown in Figure 17. The URL in the address bar is the information you'll put in the sources file shortly.

Click To expand
Figure 17: The final destination of drilling down through a directory structure is a list of update files.

Yeah, this isn't terribly friendly yet, but it'll get better in future Fedora Core releases.

Second, open up a terminal window and switch to superuser as shown in Figure 18.

Click To expand
Figure 18: Editing the Red Hat Network sources file as superuser.

In the sources file, search for the line that says

yum updates-released http://fedora.redhat.com/updates/released/fedora-core-1

Although the first word is "yum," this works for both up2date and yum. Replace it with a line like so (this line wraps onto two lines for publication in this document):

yum updates-released http://www.gtlib.cc.gatech.edu/pub/fedora.redhat/linux/core/updates/1/i386

You'll note that there are two other lines, one that says

yum fedora-core-1 http://fedora.redhat.com/releases/fedora-core-1

and another that says

yum updates-testing http://fedora.redhat.com/updates/testing/fedora-core-1

You can make similar changes to these lines if you're interested in changing the servers for the core files and for the testing updates files.

In either case, save the file, and you're ready to launch up2date.

Launch Up2date

up2date is the actual mechanism that goes to the mirror site, fetches files, and installs them on your machine, all in one handy interface.

Click the "Launch up2date" menu option from the Red Hat Network Alert Notification Tool. You'll be greeted with the dialog in Figure 19 that requests you to log in as root.

Click To expand
Figure 19: First, log in as root in order to run up2date.

Upon successful login, you'll be greeted with the Welcome screen to the Red Hat Update Agent wizard, as shown in Figure 20.

Click To expand
Figure 20: The Welcome screen to the Red Hat Update Agent.

Nothing to see here. Move along, move along. And click the Forward button to get to the Channels screen, as shown in Figure 21.

Click To expand
Figure 21: The Channels screen in the Update Agent wizard shows you which channels are associated with which type of software update.

A channel is a mechanism that holds a certain type of software. For example, Figure 21 shows two channels in the list in the top half of the screen. The first channel is for the original Fedora Core package, while the second channel is for updates.

In other words, the original ISOs for Fedora Core are found in the fedora-core-1 channel, while updates are found in the updates-released channel. There are other channels as well, such as "beta" builds for testing prospective releases of updates.

Highlighting a channel in the list shows which Web site the channel is associated with. You can see in Figure 21 that the fedora-core-1 files are found at the fedora.redhat.com Web site. Selecting the "updates-released" line in the list displays the gatech.edu Web site that we entered in the sources file earlier, as shown in Figure 22.

Click To expand
Figure 22: The updates-released channel points to the gatech.edu Web site.

Click the Forward button to start the process. The first thing that the Update Agent will do is download headers from the Web site identified in the Channels screen, as shown in Figure 23.

Click To expand
Figure 23: The first Progress Dialog provides feedback on header retrieval.

Once the header info has been brought down, the header for each available update is downloaded. The progress of this operation appears in another Progress Dialog, as shown in Figure 24.

Click To expand
Figure 24: The second Progress Dialog provides feedback on individual header retrieval.

Once all of the headers have been retrieved successfully, one of several screens will appear, depending on how your system is configured.

If you have selected some packages or files in the Package Exceptions tab of the Configuration dialog (see Figure 13), the next screen you see will be similar to Figure 25, which lists the packages that were flagged to be skipped.

Click To expand
Figure 25: The Packages Flagged to be Skipped screen allows you to override the default settings.

In this screen, you can choose to override the default choices and select one or more packages for installation during this run. Whether or not you choose any, click Forward to go to the Available Package Updates screen, as shown in Figure 26.

Click To expand
Figure 26: The Available Package Updates screen allows you to select which packages you want to install.

The Available Package Updates screen will appear in two situations. The first is if no packages were listed in the Package Exceptions tab of the Configuration dialog (Figure 13). In this case, Figure 24 will be skipped completely. The second situation is upon completion of the Packages Flagged to be Skipped screen.

In either case, use this screen to select which packages you want to download and install, and click the Forward button. A progress bar indicating that the package set and dependencies are being dealt with appears next, as shown in Figure 27.

Click To expand
Figure 27: The wizard will display a progress bar while evaluating the package set and determining if any dependencies need to be dealt with.

In short order, this dialog will disappear and be replaced by the Retrieving Packages screen (see Figure 28), which has two thermometer bars. The top bar displays the progress of the download of a single package, while the bottom bar displays the entire download progress.

Click To expand
Figure 28: The Retrieving Packages screen displays progress on each package as well as overall download progress.

Occasionally, in order to solve some sort of complex dependency, other packages need to be fetched and installed even though they were not part of the original set of files. In this situation, you'll see a screen listing those packages, as shown in Figure 29.

Click To expand
Figure 29: If additional packages are needed to solve dependencies, they'll be listed in an interim screen.

If you don't want to install those packages (for example, if you know they would conflict with other packages on your system), you can click the Back button and attempt to deselect other packages that require them.

When all packages are finished downloading, an "All Finished" message appears, as shown in Figure 30.

Click To expand
Figure 30: The Retrieving Packages screen displays an "All finished" message when downloading is complete.

Click the Forward button to start installing packages, as shown in Figure 31.

Click To expand
Figure 31: The Installing Packages screen displays progress similarly to the Retrieving Packages screen.

Once repackaging is complete (what is repackaging? It must be important because they're doing it, but it sure seems like a detail we users don't need to know about, huh?), installation will start, as shown in Figure 32. And finally, the All Finished screen appears (see Figure 33).

Click To expand
Figure 32: After repackaging, the Installing Packages screen displays the progress.
Click To expand
Figure 33: The All Finished screen displays a list of all packages that were installed successfully.

If additional packages were required (refer back to Figure 29), those packages will appear at the bottom of the list (as opposed to being in alphabetical order), as shown in Figure 34.

Click To expand
Figure 34: The foomatic package is listed out of order because it was installed due to a dependency requirement.

In either case, click the Finish button and you're all done!

Unless you're updating the kernel itself, the updates you've applied are immediately available the next time you use the application that was updated. If you've updated the kernel, you'll need to reboot your machine and select the new kernel from the boot menu screen as shown in Figure 35.

Click To expand
Figure 35: After you update your kernel, you will see multiple options in the boot menu.

If you have any servers running, you'll need to restart them by clicking Main Menu | System Settings | Server Settings | Services. Or if you can't bear the thought of going days and weeks without a reboot, rebooting your machine will work too.

The preceding discussion is all based on the various options that occur when you rightclick the Red Hat Network Alert Notification Tool icon and then select one of the menu options. If you simply click the icon, you'll see a pair of dialogs, one overlaid on the other, as shown in Figure 36.

Click To expand
Figure 36: Dialogs that appear when you (left) click the Red Hat Network Alert Notification Tool icon.

The Red Hat Network Registration dialog on top is a funny little beast—a throwback to commercial versions of Red Hat Linux. If you click the "Register with RHN" button, you'll be prompted for the root password, as in Figure 19, and then you'll see the "Welcome to Red Hat Update Agent" screen, as shown in Figure 20.

If, on the other hand, you click Cancel, the Available Updates tab of the Red Hat Network Alert Notification Tool will appear, as shown in Figure 37.

Click To expand
Figure 37: The Red Hat Network Alert Notification Tool is a remnant of the commercial version of Red Hat Linux.

Then, when you click the Launch up2date button, you'll be prompted for the root password, and then you'll see the same "Welcome to Red Hat Update Agent" screen—as if you'd clicked the Register with RHN button in the previous screen. Go figure.


Summary

The mechanisms for updating Fedora Core are possibly one of its best-kept secrets. I've heard Windows users claim superiority despite the security holes constantly found in that operating system—because "Windows is easy to update; just click 'Windows Update' and that's that!"

Fedora Core's mechanism is actually better, both because updates require rebooting only if the kernel is modified, and because the source of updates is distributed across many servers on the Internet. If you take the time to configure up2date for your location, updating couldn't be simpler!

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 4: Getting Help

Overview

Maybe someday in the future we'll have honest-to-goodness self-healing computers that can fix themselves. Until then, we humans will have to get involved when problems occur. As the master of your computer, that job falls on your shoulders, and generally, you're not going to be able to do it yourself. Fedora Core provides several mechanisms for getting help: online help files, Web sites, and the mailing lists and associated archives. Taking advantage of these resources can be daunting for a Windows user who is not used to having a set of community resources to rely on. In this chapter, using live examples, I discuss how to use these resources when you run into a problem.

Back in the '60s, there were two kinds of folks who drove cars: those who could perform some minor maintenance on their own set of wheels, and those who stood by the side of the road helplessly, waiting for someone else to change a flat tire or put water in the radiator.

You're a power user. You aren't going to idly sit by the first time you run into trouble, saying, "Oh my! Helpless me!" You're going to dig in and fix the damn thing yourself. But in order to do so, you need to know where to go for a helping hand.

There are two basic sources of help: static files such as online help, FAQs, Web sites and the like, and interactive forums and mailing lists.


Static Help

Software's Achilles' heel has long been documentation, and open-source projects are no different. Fortunately, there's a cadre of open-source volunteers whose mission is supporting and enhancing the documentation through additional resources. There are several sources for static help files, beginning with the documentation that is installed with the product and ending with the endless multitude of sites on the Web.

Online Help

It may surprise you, but Fedora Core comes with a series of online documents for various components of the GNOME interface. Unfortunately, the help files are uneven, incomplete, and generally not comprehensively useful. Of course, it may also surprise you that Windows has a similar feature, for the little good that their help does one, either.

I hate to jam on help files, because the folks who wrote them spent a lot of time at a difficult and thankless job that is often last on anyone's list of Important Things To Do. Still, being blunt in this respect is important, so that you don't develop unrealistic expectations.

You can access the GNOME help by clicking the Red Hat button in the panel and selecting Help. Doing so will bring forward the main help screen, as shown in Figure 1.

Click To expand
Figure 1: The opening screen in Fedora Core's help system.

Notice how the help is organized by things—which is helpful if you want to reference a specific widget in an interface—not by tasks. Users usually look things up based on the tasks they're trying to accomplish, and just once in a while when trying to figure out what a specific object on the screen is.

You can drill down into specific subject areas, but the help files available in each area are irregularly populated. In addition, even if you've installed KDE-specific files, the help files are unfortunately just provided for GNOME components. You will have to switch to the KDE desktop in order to access KDE help.

Drilling down into, say, Applications, as shown in Figure 2, provides two sets of links: one for Categories and another for Documents—help files specific to individual applications.

Click To expand
Figure 2: Drilling down into the Applications section of Fedora Core's help system.

For example, the complete user guides for Evolution and Balsa (a pair of mail clients) are provided here. However, if you drill down into the Office category, there's only one link, for the Gnumeric spreadsheet application. Help for OpenOffice.org and KOffice are not available. (You have to load those applications in order to get to the help.)

The biggest stumbling block with the Fedora Core Help menu option is that the help only focuses on the GNOME interface. Issues dealing with the operating system itself are not available at all.

With earlier versions of Red Hat Linux, you could install the documentation files separately. That functionality hasn't yet been completed in this first release of FC. An installation guide is planned for a future release.

There is also a set of release notes available for FC 1 at http://fedora.redhat.com/docs/.

If you're interested, consider joining the Fedora documentation project and contributing to the community. A lot of people who don't write code find that writing documentation is one way of giving back to the community. Users like yourself can point out (and contribute to!) sections that they wish they'd been able to find.

The Linux Documentation Project

The Linux Documentation Project (also known as TLDP) was started in the mid-'90s when a number of folks in the Linux community realized that the lack of good documentation was a serious hindrance to the increased acceptance of Linux.

The contributors at TLDP (well into the hundreds) have produced a huge amount of material over the years, and more is still being added on a regular basis. Visit them at http://www.tldp.org/ and be prepared to spend some time looking through the riches available. As a new power user, you may find that some of the help files are beyond you. Some authors assume a moderate level of Linux familiarity, and will say things like "then you can grep for the string in question." Because you're a new Linux user, that won't be helpful now, but don't be dismayed—you'll be surprised at how quickly some of what seems to be Greek becomes understandable in short order.

Fedora Core Web Sites

There are a huge number of Linux-oriented Web sites. Simply doing a search via Google or another search engine will often generate more hits than you can process in a practical manner. Indeed, searching on "Linux tutorials" generated nearly 3 million hits. Because Fedora Core is a popular Linux distribution and adheres to standard Linux practices in most places, you don't have to limit your searches to Fedora Core.

A number of popular Linux Web sites have tutorials and HOWTOs of various sorts. Here is a sampling of some sites that contain lots of additional information:

  • http://www.linuxgazette.com/

  • http://www.linux-tutorial.info/

  • http://www.linux.org/

  • http://www.linuxplanet.com/

  • http://www.linuxbeginner.org/

If you're searching the Web, careful consideration of keywords will help a lot. Vague, generic keywords like "Linux" and "GNOME problems" will generate huge numbers of hits. If you can provide specific text that may be unique to the situation you're working on, you have a much better chance of finding a smaller number of hits that are directly related to the problem you're trying to solve.

For example, suppose you've received a specific error, such as "device driver conflict: no dma available" in response to an operation you're trying. If you search on "Linux device driver problem," you'll get oodles of hits. If you search on the exact error message—using quotes around the message text—you're much more likely to find hits that are applicable, because they'll have at least something to do with that exact error message. Of course, you may end up with a bunch of posts from other mailing lists or electronic forums that are all asking the same question (to which no one has received an answer), but more likely, you'll also find the associated answer, or at least suggestions on dealing with it.

Another great site that is getting more and more traffic is the Unofficial FAQ (Frequently Asked Questions) site at http://fedora.artoo.net/faq/.


Interactive Help

Static help goes only so far, and often it doesn't go far enough. There's really no substitute for being able to ask a question of another human being. A number of electronic forums and mailing lists are dedicated to Linux, including the Fedora Core project's own mailing lists and associated archives.

In this section, I'll discuss how to make best use of the mailing list and archives for Fedora Core.

Mailing Lists

Fedora Core's "official" mailing lists are hosted on the Red Hat Web site at http://www.redhat.com/mailman/listinfo/. Several dozen public mailing lists are available, as shown in Figure 3.

Click To expand
Figure 3: A partial list of public mailing lists supported by Red Hat.

The current lists devoted specifically to Fedora Core include (but are not limited to):

  • fedora-announce-list: Announcements related to the Fedora Project

  • Fedora-config-list: Discussions about configuration tools for Fedora

  • Fedora-de-list: Fedora discussions in German

  • Fedora-desktop-list: Discussions about development for the Fedora desktop

  • fedora-devel-list: Development discussions related to Fedora Core

  • fedora-docs-list: For participants of the docs project

  • fedora-legacy-list: Discussion of the Fedora Legacy Project

  • fedora-list: For users of Fedora Core releases

  • fedora-test-list: For testers of Fedora Core development releases

  • Fedora-trans-list: Fedora Translation Project List

As a power user, the one list you will be most interested in is the "fedora-list" mailing list, although you're certainly welcome to join others as you desire. This list covers subjects that users (as opposed to folks who do programming, administration, testing and quality assurance, or documentation) are interested in. You can ask questions and get help, and offer help to fellow Fedora Core users.

Subscribing

To subscribe, click on the "fedora-list" link in the left column to bring forward the subscription page as shown in Figure 4.

Click To expand
Figure 4: The subscription page for the fedora-list mailing list.

This page contains everything you need to know about managing your subscription to the mailing list. The first link is for the mailing list archives (more on that in a moment). The second link contains instructions to post a message to the list, and the third section allows you to subscribe.

At this writing, the fedora-list mailing list generates between 100 and 250 messages a day. Some people feel that's a lot of messages, while others aren't quite as cowed. (I used to belong to a list that generated close to 1,000 messages a day, so 200 doesn't phase me at all!) Depending on your experience and personality, you may decide to shunt your mailing list messages off into a separate folder in your e-mail client (investigate "filter" options if you've not done this before) so that your inbox isn't continually filled (and you're continually distracted).

Once you've subscribed, you'll receive a confirmation e-mail that you'll need to respond to. (That's so that "friends" of yours don't subscribe you to the list as a prank, much like kids fill out business reply cards in magazines with the address of their school's principal.) As soon as you do, you'll start getting messages from the list.

Oh, and if you've decided that a particular mailing list isn't for you, don't send "Please unsubscribe me" messages to the list. There's a "To unsubscribe" link at the bottom of every message on the list.

Getting Help Effectively

Once you're subscribed, you'll want to read some messages and get the feel of the list. Each mailing list has its own personality, and fedora-list is no exception. If you're not in a terrible rush to get a question answered, read the messages for a few days to get an idea of what questions are being asked, who the knowledgeable people seem to be, and so on.

If you're new (or inexperienced) at using mailing lists for technical support, and you have to post a question right away, you need to know a few rules of the road in order to make best use of the list.

1. Be Nice.

Lists are generally frequented by folks like yourself—volunteers in most part, folks who want to help the community by contributing their time to help others, just as they have been helped in the past.

Unfortunately, two factors serve to cause people in need of help to ask for it in a hostile manner. First, they're under pressure, under stress, and that often makes one irritable. Second, some folks seems to think that the lack of face-to-face contact gives them permission to ignore normal courtesy.

As a result, people will sometimes act impolitely when requesting help. This is a bad idea both because it's wrong, and because you're much less likely to get help if you act that way.

Be courteous, even though you're having a problem, and people will react in kind.

2. Show That You've Done Your Homework First.

People who frequent mailing lists eventually start to see the same questions over and over, and end up getting tired of answering those questions. This results in those questions being ignored or answered in a terse (in other words, less than helpful) manner. The first time someone asks about a problem, someone will likely respond with a long, detailed response, including each step to take, and links to other resources. The 20th time that question is asked, that person isn't nearly as likely to provide the same detailed answer.

Show that you've done your research: You've read the help (if applicable), you've searched the mailing-list archives to see if the question has already been asked (see the next section for instructions and an example of how to do so), and you've done a general Web search on the topic.

3. Provide Detailed Information About The Problem.

This is the classic step that is so infrequently followed, even by folks who should definitely know better. A post that says

"My graphics driver doesn't work. Please help."

is completely useless. There is no way that someone else is going to be able to offer any type of useful assistance in response to this post. What machine? What distribution? What version? What graphics driver? What doesn't work? Are you sure it's the graphics driver to begin with?

How is anyone going to be able to make substantiative suggestions in this scenario? It would be much better to provide a post like so:

After I upgraded my kernel from .2115 to .2160 on my Super Duper Zammobook
4000Z, I'm getting a message "Invalid ShowFast video driver. Load failed."
during boot up. The graphical boot process starts to load and then fails, and
I'm stuck with a character-based "boot:" prompt.
4. More Ideas.

Eric S. Raymond has written an entertaining essay titled "How to Ask Smart Questions." It may seem a little heavy-handed at times, but that's simply because it's a realistic view of what the online world is like. Even experienced online participants will find interesting information here: http://www.catb.org/%7Eesr/faqs/smart-questions.html.

Mailing List Archives

Step 2 in the previous section suggested that you explain what you've already done to try to solve the problem yourself. This assumes, of course, that you have actually done your own homework. One critical step is to search the archives to see if someone else has run into the same problem—which is the case in a startling number of situations.

Doing so—searching the archives first—provides two benefits. First, if you can find the answer, you've saved yourself a bunch of time. You found the answer immediately instead of posting a question and having to wait for an answer. And if the answer is in the archives, it may well be an answer that would have never come, because folks don't want to bother with folks who are too lazy to do a bit of homework on their own.

Second, if you search the archives and don't find the answer, you may still find enough information to help you provide more details when you post your question—which might be the difference between someone else answering the question accurately and solving your problem, or simply making wild guesses or silly suggestions. ("Did you try standing on one foot and pressing Alt-Q during bootup? How about shaking the machine too?")

Where to Search

The Fedora Core archives can be found at http://www.redhat.com/archives/fedora-list/. Navigating to this URL opens the main fedora-list archive screen as shown in Figure 5.

Click To expand
Figure 5: The main screen for the fedora-list mailing list archives.

Can't remember the URL? If you're subscribed to the mailing list, this URL is included in the signature of every posted message, as shown in Figure 6.

Click To expand
Figure 6: The mailing-list URL is included at the bottom of every message posted to the mailing list.

The signature says "To unsubscribe," but the link takes you to the main list page with all of the list's links.

How to Search

So now you've made it to the main screen. What do you do now? Here's a real-life example.

As mentioned in Chapter 3, "Updating Fedora Core," one of the most frequent questions asked on the mailing lists has to do with updates. If a user depends on the default servers for update files, a variety of errors can occur. Searching on the exact text in the error messages is one way to look for messages that relate to this problem. If you can do that, it's a great idea.

However, that's not always possible, either because you just plain forget to copy the message down exactly, or it flashes by the screen too fast to write down, or the message is so generic that it ends up delivering a zillion hits on a Web search.

That doesn't mean that you're out of luck, though. The archives are not so voluminous that searching on generic terms won't result in some likely matches. For example, when I searched on "update" and "strange error," I found the message displayed in Figure 7. This message provides the answer to the problem instantly. It gives instructions on how to configure up2date and yum to connect to mirrors for downloading updates instead of relying on the defaults provided with Fedora Core.

Click To expand
Figure 7: Sample result of searching for "update" and "strange error" text in the fedora-list archives.

Don't assume that a generic-sounding message will automatically generate so many hits that the search results are useless. For example, another common error in the early Fedora Core days had to do with trying to install packages via the RPM tool accessed via System Settings Add/Remove Applications.

The operation would fail, and generate an error message as shown in Figure 8.

Figure 8: At first, a generic error message doesn't offer much hope for targeted searching.

This is a terrible error message—not much better than the classic messages so common on Windows systems, such as "Install failed" and "There was an unexpected error."

Not only is this message wonderfully unhelpful (couldn't the programmer have done something to help the user out a bit?), but it is so generic that there is certainly not enough to search on, wouldn't you say? Surprisingly enough, though, this was enough to go on. Doing a Google search on "Fedora" and "There was an error installing packages." generated 70 hits. The first page of the Google results is shown in Figure 9.

Click To expand
Figure 9: Searching on "Fedora" and a generic error message produced a manageable number of hits.

The fourth link, to a Bugzilla bug report, turned out to have the answer to this seemingly obscure problem.

Bugzilla, you say? Bugzilla is a software tool used by the Fedora Core project to track various issues having to do with FC, including bugs, anomalies, and enhancement requests. Bugzilla's contents are available on the Web and thus are indexed by the major search engines.

The bug report in question is shown in Figure 10.

Click To expand
Figure 10: The Bugzilla bug report solved the mystery of the generic error message "There was an error installing packages."

The contents of the Bugzilla error report are another matter; in this particular case, the solution was to download a new package and install it manually, in order to fix the path problem. This may be too much for some users, who would end up either doing a completely new install or just waiting for the new package to be available for download through the Red Hat Network Alert Notification Tool.

Still, the Bugzilla report provides solace in that the error is now understandable and can be dealt with, instead of leaving users scratching their heads without a clue.


Summary

There are a variety of avenues for obtaining help, but they all require more initiative than the average user would ordinarily be willing to take. As a power user, though, you'll look at finding help with problems you run into as part of the thrill of being ahead of the curve. After people help you out, be sure to return the favor by helping others in the community as well!

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 5: Configuring Your Desktop

Overview

So you've installed Fedora Core, you've logged in, and you're facing a GUI desktop. What next? You've got two choices. Either leave it alone and just learn how to use what's in front of you, or customize it—make it bend to your will. Hey, I know! Let's do both! In this chapter, I'll explain how to use the desktop "out of the box," and then I'll show you how to customize it by showing you how I customize my own desktop.

As mentioned in earlier chapters, what people refer to as "Linux" is actually multiple components that work together.

At the heart of all the software on your computer is the Linux kernel—the software that provides the core services that comprise an operating system.

You can work with the services that the kernel provides in a couple of ways. One way is through a terminal window and a set of text commands to manipulate the machine, much like old-time PC users used DOS to do their work.

But many people don't want to do this. They prefer a graphical user interface on top of the kernel, so they don't have to remember commands or long strings of fussy parameters—indeed, so they don't even have to know how to type!

With Windows, the operating system and the GUI on top of it are bound together so tightly that it's virtually impossible to run the OS without the GUI anymore. Furthermore, with Windows, you don't have a choice of GUIs. This is not the case with Linux.

The X Window System (commonly known simply as "X") is a piece of software that runs on top of the Linux kernel and provides windowing capabilities. X has been through a number of versions, with version 11 finally gaining critical mass and developing widespread acceptance. This version is known as "X11" and you may have already seen references to it.

X11 has been through a number of upgrades, each of which has attempted to maintain backward compatibility. The current release number is 6, so you may also see references to "X11R6." The first time you saw that string—X11R6—it probably seemed obscure to the point of distraction, but now it's not so bad, is it?

X is a foundation upon which people can create software applications that take advantage of those windowing capabilities. One particular breed of applications is known as "window managers"—and a number of people and groups have created them. As a result, there isn't just one GUI available for Linux; there are many—about a dozen, all told. Names of popular window managers that you might have heard of include Enlightenment, Metacity, Sawfish, and WindowMaker. But these are just window drawing packages—they handle how windows are drawn and how they appear, how they interact with each other, and so on. Everything that appears on the screen shows up in a window, and the window manager simply provides the engine to control the windows.

But there's more to a desktop than just windows. As you've already seen, there's a menuing system and a panel, to name a couple of obvious items. And there are tools that provide a GUI interface to the operating system (not just end-user applications). The rise in the number of window managers has brought forth a "super-class" of tools called desktop environments. These provide a complete interface to the operating system, including menus, panels, utilities and applications, and all sorts of other fun stuff. The two most popular desktops are GNOME and KDE, and popular distributions include at least one of these desktops (and usually both).

For example, SuSE ships with KDE "out of the box." Red Hat upset a lot of folks when it released Red Hat Linux 8.0, which presented the user with a combination of GNOME and KDE, using components of both in a theme called "Bluecurve." Fedora Core continues that tradition, using Bluecurve as the default environment and theme.

You can install either GNOME or KDE, or both, during installation. Depending on your choice, you will get the applications that fit with the desktop environment you selected. For example, if you selected GNOME, you'll get OpenOffice.org; if you selected KDE, you'll get KOffice. If you chose both, you'll get all applications from both desktop environments.

I'll concentrate on GNOME and Bluecurve in this book, mentioning KDE when appropriate. If you're interested in other window managers, you can find a central repository at http://www.xwinman.org/.


Using the Desktop As-Is

The first thing you'll notice, regardless of whether you select GNOME or KDE during installation, is that the standard Fedora Core desktop is rather spartan. Because there isn't a profit-oriented company behind any of the various desktop organizations, you won't see a desktop full of icons that have been placed there for a goodly dose of lucre.

Instead, you'll see three default icons: one that leads you to your home directory, one for trash, and one ("Start Here") that gives you a convenient location for the items you typically want to use most often. See Figure 1 for the basic GNOME desktop.

Click To expand
Figure 1: The default Fedora Core desktop with GNOME is rather spartan.

The KDE desktop isn't any more complicated (see Figure 2).

Click To expand
Figure 2: The default Fedora Core desktop with KDE is just as uncluttered as GNOME.

The bar at the bottom of the screen is called the "panel" and works much the same way that the taskbar does in Windows. You may have noticed that the bottom of the screen looks considerably different between Figures 1 and 2, but it's not because GNOME and KDE are that different. Rather, it's because I personally use GNOME as my default environment, and have customized the panel to suit my preferences. Figure 1 shows the panel loaded up with things I like and use on a regular basis. I'm also writing this book using OpenOffice.org on Fedora Core, so many applications appear in the panel because I'm taking screen shots as I write.

Conversely, the KDE panel is less populated because I don't use it all that often, and didn't have a reason to heavily customize it.

Switching Between Desktop Environments

Fedora Core comes with both GNOME and KDE installed, and GNOME is the default environment. If you want to switch from GNOME to KDE, click Main Menu | Preferences | More Preferences | Desktop Switching Tool (see Figure 3).

Figure 3: The Desktop Switcher allows you to change from one desktop environment to another.

Once you've selected another desktop environment and clicked OK, you'll discover that the desktop doesn't change automatically. Instead, you have to perform an operation called "restarting the X window server," or, sometimes more tersely, simply "restarting X." And just how would one do that, you may wonder?

The simplest and most reliable way is to log out and log back in. When you log back in, the desktop you chose will be in charge.

Basic Operation of the Desktop

Because GNOME is the default, I'm going to cover it in fair detail. However, I'll also discuss some KDE applets and features. As a result, this discussion assumes that you've installed all of GNOME and KDE as suggested in Step 21 of the "Installing Fedora Core" section in Chapter 2.

There are four primary components to the GNOME desktop environment:

  • The desktop is the entire area on the screen except for the bar at the bottom.

  • The panel (Linux-speak for the Windows taskbar) is the strip at the bottom that contains a variety of icons and widgets.

  • The Main Menu (the Linux version of the Windows Start menu) is displayed by clicking on the red fedora icon at the far left of the panel.

  • The system applets, which provide a graphical interface to using the OS, are found through various menu options via the Main Menu.

Desktop

The GNOME desktop looks and feels much like other graphical desktops, complete with icons, wallpaper (in Fedora Core, they're called Desktop Backgrounds), screensavers, and, when applications are open, windows. Double-clicking an icon on the desktop runs the program or opens the file associated with the icon. Right-clicking an open area of the desktop displays a context menu from which you can choose a different background.

Screensavers can be configured by clicking Main Menu | Preferences | Screensavers, as shown in Figure 4.

Click To expand
Figure 4: The Screensaver Preferences dialog provides access to dozens of screensavers.

Windows in GNOME work much the same as with Windows. The icons in the upper right serve to minimize, maximize (or revert to original size), and close the window.

The Window menu in the upper left has the typical Minimize, Maximize, Move, Resize, and Close options that you'd expect from using Microsoft Windows. The rollup menu item isn't found in Windows, but is known as "window shade" on Mac OS. The next couple of options in the Window menu, Put on All Workspaces, and Move to Workspace 1/2/3/4, refer to workspaces, a feature of Linux that isn't found in Windows. I'll discuss this in a later section. You can resize windows by using the sides and corners, while clicking and dragging on the title bar moves the window around. GNOME has a couple of nice touches that you don't find in Windows; these can be configured via Main Menu | Preferences | Window Preferences, as shown in Figure 5.

Click To expand
Figure 5: The Window Preferences dialog allows you to configure interaction with standard windows.

You can choose to automatically select a window simply by moving the mouse over it. (I've tried this and it's always driven me crazy because it doesn't bring the selected window to the front, but that's my own personal preference.) Double-clicking the title bar can either roll up the window (like a window shade) or maximize it. And you can move a window by holding down a key of your choice and then dragging the window, and resize the window by holding down the same key while also holding down the middle mouse button. The default key for both of these operations is Alt, but you can change it in the Window Preferences dialog.

Panel

The panel is a wise and marvelous tool. Like the taskbar in Windows, it is divided into a number of areas. Figures 6 and 7 illustrate my panel. I separated it into two halves because one screen shot would end up being so wide and so short that you couldn't see anything in the images.

Click To expand
Figure 6: The left half of my panel in GNOME.
Click To expand
Figure 7: The right half of my panel in GNOME.

On the far left of Figure 6, the Main Menu icon (the red fedora) is used to display a menu that launches a variety of functions and applications. Next to the Main Menu icon is a series of icons for commonly used applications. The panel is automatically populated during installation with some application launchers, such as the Mozilla browser and OpenOffice.org. Figure 6 shows the panel after I've customized it with the icons for the applications I use most often. I'll discuss how to customize the panel later in this chapter.

The right half of my panel, shown in Figure 7, also has some standard items and some customized items. The first icon on the left is the Workspace Switcher applet. Next to it is the System Monitor applet. Continuing to the right are a series of boxes that represent running applications. The area of the panel that contains all of the boxes is called the Taskbar. And finally, the far right of the panel is the Notification Area, where a number of icons display as appropriate. Let's look at each of these in more detail.

The Workspace Switcher (see Figure 8), always placed on the panel during installation, is a mechanism that is new to Windows users, but once you get used to it, you'll wonder how you ever got along without it. You're probably used to the problem of having so many windows open on your desktop that it gets confusing which window does what—and using Alt-Tab to move between windows isn't as handy when you've got 15 or 20 in the list. Imagine if you could create separate desktops for groups of windows. All of the windows related to a single project would be on one desktop, while the windows that you always have open—such as your e-mail client, a Web browser, and perhaps a music jukebox or an IM application—would be contained in a separate window. A workspace is just that: a complete desktop that you can set up for a specific purpose. The Workspace Switcher allows you to switch between one workspace and another.

Figure 8: You can navigate the Workspace Switcher with the keyboard's arrow keys.

If you look closely at the Workspace Switcher in Figure 7, you'll see four squares arranged in a larger square. Each square represents one workspace. You'll see a number of small boxes inside the upper left box; those are individual application windows on the desktop in that workspace. If I'd had applications open in other workspaces, you'd see miniature windows in those workspace boxes as well, as in Figure 8.

You can navigate between workspaces via a mouse click, or you can use the keyboard. To do so, press Ctrl-Alt to bring forward a dialog displaying all of the windows, as shown in Figure 8. Keeping the Ctrl-Alt keys depressed, use the up/down/left/right arrows to move to the window you want to switch to. Note that the focus doesn't automatically move from one row to the next; if you want to move from the upper right to the lower left, you need to press the left arrow and the down arrow, not the right arrow.

The System Monitor applet (see Figure 9), the set of four boxes to the right of the Workspace Switcher, isn't normally placed on the panel; I'll address it in the "Customize the desktop" section later in this chapter.

Figure 9: The System Monitor applet from the panel.

The Taskbar displays a box for each running application, as shown in Figure 10.

Click To expand
Figure 10: The Taskbar displays boxes for each running application.

Depending on the height of the panel (which you can customize), the application boxes in the Taskbar section may show up in one or more rows. The bars shrink as their number increases, to the point that the legend may not be readable anymore. Holding your mouse over a specific box will display a tooltip with the full name.

The Notification Area displays the time and the Red Hat Network Alert Notification Tool by default, as shown in Figure 11. This area also displays other icons during other operations. For example, when you print something, a printer icon will appear; when you gain root authentication (explained later), a key icon will be displayed. You can add other notification-type tools there as well; I'll cover the Weather Report applet later in this chapter.

Figure 11: The Notification Area in the panel.

Main Menu

Clicking the Main Menu icon opens a hierarchical menu bar, as shown in Figure 12. Clicking any of the menu items with an arrow pointing to the right opens a subsidiary menu, and so on. As you can see, menu items are grouped according to functional areas, instead of everything being grouped under one huge Program Files option, or hidden behind rarely used menu pads.

Click To expand
Figure 12: The Main Menu's items cascade into submenus.

However, because it's possible to install a large number of applications in any functional area, the installation program puts the most commonly used programs for the desktop environment you've selected in the Main Menu and moves the rest to a "More... applications" submenu. For example, if your desktop environment is GNOME, but you've installed KDE applications as well, the KDE programs will be placed on the "More..." menu.

Applets

You can control and manage your computer system by using GUI applets that are found under various menu options, similar to the applets found in Windows Control Panel. Here, again, things are a little different: Applets are separated according to function, instead of jamming them all in one place. For example, you can choose how the interface looks on your desktop by changing various options under Main Menu | Preferences. System settings, on the other hand, are found under (gasp) Main Menu | System Settings.

If you open both Main Menu | Preferences, and Main Menu | System Settings, you'll see a number of options that appear to be similar or downright identical. For example, consider the Login Photo option under Preferences and Login Screen under Systems Settings; also Network Proxy under Preferences and Network under Settings. And there are "Keyboard" and "Mouse" options on both. The options, however, lead to dialogs that provide different types of choices. Figure 13 shows the Mouse Preferences, where you see options for using a left-handed mouse and setting the double-click speed.

Click To expand
Figure 13: The Mouse Preferences dialog allows you to configure how the mouse reacts.

In Figure 14, the Mouse Configuration dialog, you can choose which type of mouse is being used with the computer.

Click To expand
Figure 14: The Mouse Configuration dialog allows you to define the type of mouse attached to your computer.

As a power user, you don't need a "This is the ON switch" guide, leading you through the nose on each of these applets. Their usage will be obvious as you look through them. Thus, I suggest that you just spend a few moments scrolling through the various menu options under Preferences, System Settings, and System Tools to get a feel for what's available via a GUI-oriented applet. I'll cover some of them in more detail later on. By the way, it's important to mention again that these applets are simply graphical interfaces to programs that provide the ability to configure and customize the system. Every function you perform via an applet in the menu can also be done via commands. In fact, in many instances, the commands offer additional options that haven't yet migrated to the graphical applets.


Customize the Desktop

Once you're familiar with getting around the basic interface, you're more than likely to want to change things. In some cases the procedure for making changes will be obvious, but in others the process can be obscure.

Desktop

I personally prefer to keep my desktop clear of icons. As you saw in Figures 1 and 2, I keep nothing on the desktop beyond what comes with a standard installation. Other people, however, prefer to keep all sorts of goodies on their desktops.

There are several ways to add a shortcut to an application that's found on a menu. The easiest way is to open the menu (but not the application), and drag the menu item from the menu to the desktop. (You'll want the desktop to be visible when the menu is open; dragging into a document window will cause weird things to happen, but the level of weirdness depends on what type of window is open.)

You can also drag an application's icon from the panel onto the desktop; the original icon in the panel will stay there, and a copy will be placed on the desktop. A third way, although considerably more complex, is to right-click on the desktop and select the Create Launcher option from the resulting context menu. The Create Launcher dialog, as shown in Figure 15, can be tricky to fill out if you don't know the name of the program that launches the application you want on the desktop.

Click To expand
Figure 15: The Create Launcher dialog is similar to the Create Shortcut function in Windows.

The value in the Name field will appear in the tooltip when the mouse hovers over the icon in the panel, but the "Generic name" field isn't used by the default icons installed on the panel.

You can also add an icon for a specific document to the desktop, which can be very handy if you work with a specific file on a regular basis. For example, I have an HTML page that contains dozens of URLs that I use on a regular basis. Whenever I want to open one of those URLs, I click the HTML Page icon on the desktop, and the Web browser opens with that page of URLs already loaded.

The easiest way to add a document shortcut to the desktop is to open your file manager, such as Nautilus or Konqueror, navigate to the document in question, and drag it to the desktop.

You can change the legend under an icon on the desktop as well as change the icon itself. To do so, right-click the icon and then select Properties to open the Properties dialog, as shown in Figure 16. You can change the legend by typing a new value in the Name text box, and select a different icon by clicking the Select Custom Icon button in the lower left corner.

Click To expand
Figure 16: The Calculator Properties dialog allows you to customize the appearance of the Calculator icon on the desktop.

Panel

I prefer to do most of my customization in the panel, because my work windows are usually covering the desktop but the panel is always visible. If you're of like mind, here are a number of tricks.

First, on the left side of the panel, you can add and remove the applications available to launch. To remove, right-click the offending icon, and select the Remove From Panel menu item as shown in Figure 17.

Figure 17: Removing an icon from the panel.

In Figure 17, you'll note two other options: Lock and Move. If you want to rearrange the order of the icons in the panel, you can't simply click and drag them back and forth. If you attempt to do so, you'll find yourself dragging an icon on top of another one, which will actually attempt to load the first icon into the second icon as a document into an application. For example, suppose the icon for The GIMP (a graphics program) is to the right of the Mozilla Web browser icon, but you want it on the other side. If you drag the icon for The GIMP over the Mozilla Web browser icon, expecting the two to switch places, you'll be sorely disappointed. Instead, the system parameters for The GIMP will be displayed in an HTML format in a Mozilla Web browser window—most definitely not the effect you were looking for.

Instead, to move The GIMP icon to the left of Mozilla, right-click The GIMP icon and then select Move. Then move your mouse over The GIMP's icon, and the mouse pointer will turn into a four-headed arrow. As you move the mouse left and right along the panel, The GIMP's icon will move along with it, and other icons will scoot out of the way—this time, precisely the effect you're looking for. Once you've gotten the icon where you want it, click the icon and the move operation will take effect. And for those times you don't want an icon to be moved, select the Lock menu option instead.

You can add an icon to the panel in many different ways. The first is to right-click an empty space in the panel and then select the Add to Panel menu item, as shown in Figure 18.

Click To expand
Figure 18: You can add a launcher for an application to the panel through the panel editing context menu.

Select the "Launcher from menu" menu item, and the entire main menu will appear in a submenu. From there you can select which application you want to add to the panel.

Another way is to open the Main Menu via the red fedora, navigate to the menu item for the program you're interested in, right-click it to open the context menu, and select "Add this launcher to panel" from the context menu, as shown in Figure 19.

Click To expand
Figure 19: You can also add a launcher to the panel through the application's own context menu.

Applications aren't the only things you might want to add to the panel. Another class of items are called "actions," and there are a whole bunch of good ones, as shown in Figure 20.

Figure 20: The Actions context menu has a number of handy options that can be added to the panel.

I always add the Lock and Show Desktop actions to my panel. The Lock action allows you to lock your workstation with a single mouse click—similar to pressing Ctrl-Alt-Del and selecting Lock Computer on a Windows computer. The Show Desktop action minimizes all windows on the desktop with one mouse click—very handy if you want to clear all the clutter away and find just that one window. If you have a lot of icons on your desktop, I imagine Show Desktop would be even handier. I find it handy to use Show Desktop to minimize all of the windows at once: If someone is in my office and I've got stuff on my screen that's none of their business, I can blank the screen with one keystroke.

The menu items in the Accessories menu, shown in Figure 21, can also be handy.

Click To expand
Figure 21: A number of accessories are available to be added to the panel.

As you've probably noticed throughout this chapter, I have the Clock and the Weather Report accessories in my Notification Area. The Weather Report is particularly fun; right-clicking its icon in the panel and selecting Preferences allows you to configure the location of the weather report as well as specify how often to update the display and its appearance, as shown in Figure 22. Yeah, I know—some of you are thinking, "Ummm, look out the window, Whil"—but those bright sunny days in Milwaukee after the first of the year can fool you; it may look gorgeous outside, but in actuality be 10 below zero.

Click To expand
Figure 22: The Weather Preferences dialog provides a number of configuration options.

Every item in the panel has either a Properties or a Preferences menu item. Generally, application launchers have a Properties menu item, through which you can edit the items found in the Create Launcher dialog as shown in Figure 23.

Click To expand
Figure 23: The Launcher Properties dialog allows you to edit properties of existing launchers.

Applets generally have a Preferences menu item, through which you can configure the applet. Of course, the options that can be configured vary according to the applet.

You can customize the panel itself as well. Right-click an open area of the panel and select Properties, as shown in Figure 24. The Panel Properties dialog will appear, as shown in Figure 25.

Figure 24: The panel-editing context menu also has a menu option for editing the panel's own properties.

Figure 25: The Panel Properties dialog allows you to customize the look and operation of the panel.

You can control where the panel shows up (I prefer it at the bottom but I've seen a fair number of other folks who prefer it at the top or at one of the sides), and how tall (or wide) it will be.

Selecting the Expand check box will stretch the panel all the way across the screen, even if there aren't enough icons to fill up all of the space. Not checking Expand causes the panel to be truncated on both sides, an effect I don't particularly care for.

You can cause the panel to disappear when the mouse cursor moves away from the panel and onto the desktop; moving the mouse back to the bottom of the screen (or wherever the panel is positioned) makes the panel appear again.

The "Show hide buttons" menu item causes buttons (optionally, with arrows on them) to appear on both sides of the panel. Clicking one of the buttons causes the panel to disappear— not by scrolling off the bottom, but off to the side.

You can also set a couple of panel preferences via Main Menu | Preferences | More Preferences | Panel, as shown in Figure 26.

Figure 26: The Panel Preferences dialog allows you to control other preferences for the panel.

Now that I've shown you how to operate and customize the panel, what about those tips you get from looking over someone's shoulder? Everybody's work needs and habits are different, but I'll share how I've selected the applications on my panel in the hopes that you'll find some useful applications as well.

Referring back to Figure 6, you see the lock applet immediately to the right of the Main Menu icon. I'm an impatient sort of guy; why spend the time waiting for the Main Menu to display so you can then spend several more seconds trying to select the Lock Screen menu option when simply clicking on the big lock icon does the same thing?

Next is the Text Editor application. While it's fashionable in some circles to carry on with Editor Wars ("The editor I use is much better than the editor you use"), I don't have time for it. GNOME's default graphical editor (gedit) is a simple text editor and that's all I need.

Third is the Show Desktop applet, which I discussed earlier in this section. To the right of that is the Home Folder applet, which loads the Nautilus file manager, shown in Figure 27.

Click To expand
Figure 27: The Home Folder icon launches Nautilus with trees for my home folder and the entire file system.

This is a terrifically handy tool that helps me navigate through the file system. I'm a data-oriented guy, so I want easy access to my data in a graphical fashion, and a file manager is the way to get it. The Home Folder icon opens Nautilus with two folders automatically loaded in the tree view in the left pane: my own home folder, and the entire file system on my computer. I'll have a lot more to say about files, file managers, and file systems in Chapter 6, "Files, Directory Structures, and File Managers."

Next to the Home Folder icon are launchers for two browsers: Mozilla and Konquerer. The World Wide Web is still, in many places, the Wild, Wild Web, and as a result, pages render differently from one browser to another. I've found that if a site I visit doesn't render properly in one browser, it will look fine in the other, so I keep both handy.

There are enough times that it's useful to have a terminal window available, so the next item on my panel is a launcher for one.

The next icon, the manila folder, is another copy of Nautilus that is configured to open to the most recent folder I was working in. As my directory structure can get pretty deep, perhaps five or six levels at times, always starting out at the top level in my home folder means I have to spend time navigating through the folders. This launcher allows me to get right to where I was last working. I just opened Nautilus to the folder in question and dragged the window to the panel.

The next seven icons are all primary applications. GQViewer is an image viewer, which I use all the time for moving between screen shots in a chapter. The two icons with an envelope and a stamp are e-mail clients; one is Evolution and the other is Kmail. The document with the seagulls is OpenOffice.org Writer, which you can guess I use a lot (all my writing is done in OpenOffice.org). Screen shots and other graphic tasks are handled by The GIMP, music is played through XMMS, and the volume control icon allows me to adjust the sound level of the speakers as well.

Menus

You can add your own menu-launching icons to the panel, similar to the way you can add icons for regular applications or applets. Suppose you wanted to create a menu for accessories that you could access right from the panel. To do so, open Main Menu | Accessories, and right-click to open the context menu for the Accessories menu. Then select the "Entire menu" option at the bottom, as shown in Figure 28.

Click To expand
Figure 28: You can add an entire menu as a launcher.

Click "Add this as menu to panel," and you'll have a new icon in the panel. Clicking the new icon displays an Accessories menu that duplicates the Main Menu | Accessories menu, as shown in Figure 29.

Figure 29: The Accessories menu added to the panel as its own launcher.

It is technically possible to edit the menus, both those accessed through the red fedora on the panel as well as those added to the panel. Editing includes adding new items, removing existing items, and changing the order of the items. (The menu options for adding and removing items are displayed in Figure 30.)

Click To expand
Figure 30: Options for editing a menu.

However, as of Fedora Core 1, menus shouldn't be customized due to some unresolved problems with the underlying engine. The details on the bug are found here: http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81215.

A workaround, to be used at your own (great) risk, is here: http://www.wse.jhu.edu/newtnotes/main_file.php/sysadmin/55/.

Applets

Fedora Core comes with a number of handy applets that can be added to the panel. Which ones you find useful is, of course, a matter of personal preference. Here are three that I find indispensable.

Notification Tool

The one applet that everyone should have on their panel is the Red Hat Alert Notification Tool: the red/blue/green icon that indicates whether or not updates to the system are available. The use of this applet is discussed at length in Chapter 3, "Updating Fedora Core."

While goofing around with the menu as you're customizing the various areas, it is possible for the Alert Notification Tool icon to disappear, and that can cause a fair amount of consternation. (For example, clicking the Exit menu item shown in Figure 6 in Chapter 3 will make the icon vanish.) Here's how to bring it back.

First, the Red Hat Network Alert Notification Tool icon resides in an area of the panel called the Notification Area. This entire area can vanish itself, and that is terribly frustrating. To bring the Notification Area back, right-click in a blank area of the panel to open the panel-editing context menu, as shown in Figure 24 earlier in this chapter.

Sometimes it can be tricky to find a blank area. As you can see in Figures 6 and 7, my panel is so jammed up with icons that it's nearly impossible. If you're having trouble finding a blank area that displays a panel-editing context menu, try closing all of your running applications to open an area on the left side of the panel. If that doesn't work, try shrinking the size of the panel (say, from 30 pixels tall to 20 pixels tall). One result of this action will be to shrink the icons in the panel, thus leaving room between them.

Once you've found a blank area in which to right-click, select the "Add to panel" option (the top menu item in the list), and then select Utility | Notification Area. A new area will appear in the left side of the panel.

Once the Notification Area is available, right-click in it, select Add to Panel again Launcher from menu | System Tools | Red Hat Network Alert Icon. This adds a somewhat oversized icon as shown in in Figure 31.

Figure 31: Adding the Red Hat Network Alert icon to the panel.

This, unfortunately, is not yet what you want. What it does do, however, is give you a way to get back the real RHN Alert Notification Tool. Click the Alert icon and you'll get the real Notification Tool icon next to it, as shown in Figure 32.

Click To expand
Figure 32: Adding the Red Hat Network Alert Notification Tool icon to the panel.

The icon will initially be blue, because it hasn't yet connected to find out if there are updates available.

At this point, you can right-click the big green Alert icon, select "Remove from panel," and you're back where you wanted to be. Yeah!

System Monitor

Another applet that I keep open is the System Monitor. To get to it, click Add to panel | Utility | System Monitor. The applet will be added to the panel next to the Workspace Switcher, discussed earlier in this chapter.

First, you'll want to configure the System Monitor. Right-click the applet in the panel and select Preferences to open the System Monitor Preferences dialog, as shown in Figure 33.

Click To expand
Figure 33: Use the System Monitor Preferences dialog to configure the System Monitor applet in the panel.

The check boxes at the top allow you to choose which resources will be displayed in the applet in the panel. When I get a new machine, I check the first four—Processor, Memory, Network, and Swap Space—and watch them for several weeks as I go about my daily work, in order to see how the machine is doing.

The Processor monitor rarely shows much activity, because this workstation with a 2 GHz processor is used primarily for writing, sending e-mail, browsing the Web, and creating an occasional screen shot. No heavy compiles or other computationally demanding activities.

Memory (1 GB) starts out with minimal usage, but as the day goes along, more and more memory starts getting used up. A frequent question on various Linux mailing lists concerns the usage of memory: "I have 512 MB of RAM and Linux is using almost all of it! What is wrong?" The answer is that nothing is wrong! Linux is doing what it is supposed to—taking advantage of the memory it can access to cache programs and data. It's not leaking memory due to poorly behaved programs, or being wasted on unnecessary tasks. If you're still unconvinced, look at it from the opposite point of view. Suppose you had a ton of memory in your computer, and your operating system and applications hardly used any of it. What would have been the point of buying all that memory? It would be like buying an 18,000-square-foot mansion but using only one 250-square-foot room.

The third monitor I keep open watches the network traffic. It's interesting to see when network traffic spikes—and occasionally serves to remind me that a slow file save or other seemingly pokey operation may simply be due to a lot of traffic over the wire all of a sudden.

The fourth monitor looks at swap-space usage, and with 1 GB of memory, swap space is hardly ever used. I'll probably turn that monitor off in a bit, because it's not providing useful information any longer.

At the bottom of the System Monitor Preferences dialog, you can choose which colors you want to use in each monitor. The default values of those colors are so close to each other that I spent a bit of time tweaking them so they'd be more differentiated.

Once you've configured the System Monitor, you'll want to use it. You can hold your mouse cursor over a monitor and it'll give you a tooltip that describes the current load of the resources being monitored. For example, holding the mouse over the Memory monitor results in a "Memory: 100% in use" tooltip, as shown in Figure 34.

Figure 34: The System Monitor applets each have tooltips that provide a quick summary of resource usage.

Right-clicking the System Monitor applet and then selecting Open System Monitor gives you more information about the various resources. The Process Listing tab, as shown in Figure 35, shows you a list of all processes, together with the user, the memory the process is taking, the CPU load, and the process ID.

Click To expand
Figure 35: The System Monitor applet has several views of the running processes on your computer.

You can change which processes are displayed by using the View drop-down list in the upper right corner of the dialog.

Because you could have a lot of processes running on your machine, note that you can expand the window vertically in order to show as many processes as you desire. Also note that you can use the arrows on the left side of the primary processes to expand or contract subprocesses for certain items. For example, The GIMP has subprocesses for script-fu—if you don't want to see that information, click on the arrow and the script-fu line will be rolled up.

The Resource Monitor tab provides graphical displays of CPU load, as well as Memory and Swap history, mapped against time, as shown in Figure 36. The usage of storage devices is shown in the Devices list box; it's the quickest way to see disk space usage at a glance—both for local and networked drives.

Click To expand
Figure 36: The Resource Monitor tab of the System Monitor applet shows a variety of information about your computer.

I found this applet to be very useful to learn more about my machine when I was getting started, and I still use it to keep tabs on unusual circumstances—sort of a "management by exception" approach.

Clock

The panel comes installed with the Clock applet, which displays the time. You can configure this applet by right-clicking it and selecting Preferences to bring forward the Clock Preferences dialog as shown in Figure 37.

Figure 37: The Clock Preferences dialog allows you to configure the Clock applet.

You have four choices for clock type: 12 hour, 24 hour (my favorite), Unix time, and Internet time. The first two are obvious but the last two might not be. Unix time displays the time in seconds that have elapsed since January 1, 1970. Programmers (and other geeks) are primary users of Unix time. It would be reasonable for the phrase "Internet time" to have you envisioning a clock with the hour and minute hands spinning around wildly, and indeed, I'm wondering why someone hasn't done that. The actual definition of Internet time, however, references Biel Mean Time, which is a global time. Biel Mean Time is the same everywhere in the world, and uses the meridian in Biel, Switzerland, the home of Swatch, as its reference. In other words, with Biel Mean Time, it's the same time everywhere in the world. No more time zones or other arbitrary demarcations of time differences. The day is divided into 1000 beats, so that 1 beat is 1 minute, 26.4 seconds. The current Internet time is shown by the symbol @ plus three digits, ranging from @000 to @999. Thus, a person in Switzerland, a person in Florida, and a person in Hawaii could all hold a conference call at 750 Biel Mean Time, which would be 6 p.m. (local) for the first person, noon EST for the second, and 1 a.m. for the third.

You can also configure whether or not to display seconds (if appropriate), the date, and Universal Coordinated Time (Greenwich Mean Time). You can set the date and time via the Adjust Date & Time menu item in the Clock applet's context menu. You'll need to log in as root in order to do so, because you're changing system properties. Doing so brings forward the Date/Time Properties dialog, as shown in Figure 38.

Click To expand
Figure 38: The Date/Time Properties dialog allows you to configure how your Clock applet knows what the date and time is.

You have two choices: either manually set the date and time, and hope your computer keeps time correctly, or have your computer connect to a remote time server to synchronize with an atomic clock. To do this, select the Enable Network Time Protocol check box. You'll need an Internet connection to use this option.

In this day and age, it seems everything has a clock: microwaves, VCRs and DVDs, even refrigerators and your sneakers. And as the saying by Robert Anton Wilson goes, "A man with a watch knows what time it is. A man with two is never quite sure." As a result, knowing that at least my computer is accurate is something I like to know.

You can choose one of the two existing servers in the Server box, or type one of your own choosing. You can find more information about Network Time Servers at http://www.nist.gov/public_affairs/update/upd000103.htm.

Note that if you configuring a medium or high security level during installation (or if you changed it later with the Security Level dialog found under Main Menu | System Settings | Security Level), the firewall rules will by default block the connection to a time server unless you change them manually.

The final applet I keep running is the Weather Report applet, found by clicking Add to panel | Accessories | Weather Report. You can configure it by right-clicking and selecting Preferences. Options in the Preferences dialog, as shown in Figure 39, allow you to automatically fetch the weather update every so often, and display either in Imperial (Fahrenheit) or Metric (Celsius) units. The Location tab of the Preferences dialog contains a large list of locations worldwide, based on airports.

Click To expand
Figure 39: The Weather Preferences dialog has two tabs that allow you to configure aspects of the Weather Report applet.

Once you've configured Weather Report, you'll want to use it. The applet shows a summary of conditions right there in the panel, as seen in Figures 7 and 31 earlier in this chapter. Double-clicking the applet's icon in the panel or right-clicking and selecting the Forecast menu item brings froward the Forecast dialog. Two of the three tabs in the Forecast dialog are shown in Figure 40.

Click To expand
Figure 40: The Weather Report applet has three tabs (two shown) that display information about the weather in a selected locale.

The Current Conditions tab shows a summary of the weather at the location identified in the Preferences, while the Radar Map shows a recent scan of the area in question. The Forecast tab (not shown) is simply a lengthy text description of the weather forecast.

The Weather Report applet is updated as you configured it in the Preferences dialog, but you can force an immediate update by right-clicking the applet's icon and selecting Update from the context menu.


Summary

Fedora Core offers a nearly unlimited number of methods to customize the interface, and I've just touched on a few ways that I've tweaked my system. Plan on spending some time going through the multitude of options in the various preference dialogs to customize your own desktop, and have it your way!

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzeirwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 6: Files, Directory Structures, and File Managers

Overview

It's all about data. Your data. Except for those poor souls who wander around airports with a $5,000 notebook that's used only for Solitaire and the occasional DVD, people use computers to work with data. And oftentimes, that data will be stored on your computer. In this chapter, I'll discuss what you need to know about dealing with data files on your computer—how files are different on Linux, what the directory structure in Linux looks like and what goes where, and how to manipulate files with popular file managers.

Even in 2004, I'm continually amazed at the disregard that most software manufacturers have toward data. Data is the whole reason we use computers, after all. We're not spending our time learning software just to learn software—we want to be able to manipulate data with that software. The definition of data spans a wide variety of uses, from word processing documents like letters and proposals, to spreadsheets with this month's financial projections, to presentations for next week's sales meetings or group laboratory report, to simply e-mail messages, music files, and pictures of the grandkids.

In a perfect world, your data would just be "there," and you wouldn't have to know exactly where "there" was, nor would you have to worry about it; it would always be "there." Indeed, my personal definition of Nirvana is having all my data accessible to me no matter where I am or what device I happen to have with me at the time.

But the world isn't quite perfect—yet, at least. So we have to know where our data is, how it's organized, and how to get to it.

Where to start? This chapter has a "chicken and egg" quandary feeling to it. In order to talk about files, you sort of need to have a context for them, such as a directory (or "folder") structure. But to talk about a directory structure, you sort of need a picture to demonstrate, and what can provide a picture better than a graphical file manager? But a file manager doesn't do much good without files and directories, so we're back where we started. So that means you're going to want to read through this chapter a couple of times. The first time through, I may ask you to take a leap of faith on some things, but the second time through, many of those things will make sense.


Files: The Data Itself

A file on a Linux computer is much like a file on a Windows computer, but not necessarily identical. Let's look at the similarities first.

On Linux, as with Windows, a file can represent a single coherent chunk of data (how's that for a mouthful?), such as a memo, a spreadsheet, a digital image, a music file, or a database table. You use files for storing data from your application programs as well as for storing the programs themselves.

Now about those differences. First, the naming scheme in Linux is different from Windows. Programs—those files that customarily have an EXE extension—generally don't have extensions at all. Text files—TXT files—also usually go extensionless. You can create files with spaces and long file names—these abilities are nothing new since the mid-'90s for Windows users—but Linux users never knew any differently. File extensions for some types of files are different: A compressed archive in Windows has a ZIP extension; in Linux, there are several, including .bzip, .gzip, .tar, and .gz, and sometimes you'll see multiple extensions on one file. That's another thing: In Windows, the period is a separator between the file name and the extension; with Linux files, it's not uncommon to run across a file with multiple periods in it, for any number of reasons.

The second big difference is that case matters. Sometimes. MYFILES.abc.xyz is different than myfiles.ABC.XYZ, much to the consternation of new Linux users.

And the biggest difference is that on Linux, a file also can represent other entities, such as folders, disk drives, printers, processes, memory, the CPU, and everything else. Now wait, you say. How can that be?

The short answer is that a "file" actually consists of two parts: an entry in a table that points to the actual entity, and the actual entity itself—the chunk of data. The table of pointers is stored in one place on the computer's disk, and the actual entity—the data itself—is elsewhere on the disk. So what we think of as a "file" is actually the "pointer." What difference does it make if a pointer points to a bunch of 1's and 0's in a particular place on a disk or if it points to another type of object, like a hard disk?

Symbolic Links

Before I bring this section to a close, I need to mention one more special type of file in Linux called a "symbolic link," or "symlink" for short. You'll run across them all over the place, and while you can get by without knowing much about them, it's best that you don't take that shortcut. You're a power user after all, right?

A symlink is essentially the Linux version of a Windows shortcut. That's all. Nothing terribly magical or obscure.

Why use symlinks? Why not use the original file? One example is a symlink on a desktop that points to another file. Instead of making a second copy of the file and putting it on your desktop (which you certainly wouldn't want to do, because then you've got two copies of a file), a symlink on the desktop allows you to work with the original file, whether that be opening a document or executing a program.

Another example would be when you need a program accessible in one place (say, a certain directory), but there's not enough room in that directory (because the directory is on a partition or disk that's running out of room). So you can create a symlink in the directory where the program has to be accessible, and point the symlink to the program in another location.

Installation programs frequently use symlinks during the process of installing software as well as during upgrades—the symlinks are kept out of your way while the program is working, but they're there.

For example, when you install a new version of the Python programming environment, the old version is left where it was. The new one is not installed on top of the old one. Then, the "python" command is a symbolic link to the last Python interpreter you installed; if you need to run a specific version of Python, say version 2.2 after you've installed 2.3, you can do so by typing "python2.2" instead of just "python."

See Chapter 14, "Under the Hood," for information about how to create and work with symlinks.


Directory Structures

I'll use the Nautilus file manager to demonstrate the directory's structure, but I won't discuss the details of various file managers until later.

When Fedora Core is first installed, it creates a standard set of directories that looks like Figure 1.

Click To expand
Figure 1: Your first look at a Linux directory structure can be overwhelming.

A number of questions spring to mind immediately. First of all, where's the darn C: drive? Second, the folder names are all short and difficult to understand; calling them "obscure" is being kind. What do their names mean? And what goes in each of them? Third—whoa, I got distracted for a moment by the folder names. Where do I find my drives, like I did in Windows? I'll answer each of these questions one at a time.

Where's The C: Drive?

Having grown up with Windows, we've gotten used to a disjointed collection of objects representing our personal computer system, and think that it's the "right way." Back in the olden days before hard drives (or color monitors!), a personal computer usually had two floppy disk drives, and the operating system (MS-DOS or PC-DOS) referred to these drives as Drive A: and Drive B:. When a hard drive was added to a personal computer, it naturally received the moniker of "Drive C:". When other storage devices, such as additional hard disks or removable media (such as tape backups, Bernoulli Boxes, Zip drives, and CD-ROMs) were added, they were also referred to with letters from the alphabet. A packed PC could easily have seven or eight drives, like so:

  • Drive A:—floppy disk

  • Drive B:—second floppy disk

  • Drive C:—hard disk

  • Drive D:—CD-ROM drive

  • Drive E:—second hard disk

  • Drive F:—Zip drive

  • Drive G:—tape drive

In addition, if you're attached to a network, you will probably have randomly assigned network drives.

Computer components are all commonly organized in a tree structure, shown in Figure 2.

Click To expand
Figure 2: The Windows 2000 interface uses a tree structure to display the components of a personal computer.

The additional hard disk starts the schism of the interface to the computer. Some programs and data are stored on Drive C: while other data (and possibly some programs) are stored on Drive D:. However, it's not clear what goes where; thus, a hardware issue that should be hidden from the user now becomes a usability issue for the user.

The tree structure now has two nodes (Drive C: and Drive D:) for data that is stored inside the computer. That distinction is actually an arbitrary choice, which is unnecessary, because it exposes the hardware setup to the user, who generally doesn't care. Imagine if you had separate names for each bank of physical RAM chips or SIMMs, and had to tell the computer which bank to load a program into? Ha!

Furthermore, in order to make things "easier" for the user, Microsoft started adding artificial interfaces to the tree structure. The Desktop node is simply a different view of some information in directories on Drive C:. The Control Panel, presumably an object of the same type as the drives displayed above it, is actually a launcher for a variety of programs. The My Digital Camera and Macromedia FTP and RDS nodes also seem to be objects like the drives, but whether they are or not is suspect. Indeed, I don't even have a digital camera attached to this computer—why is there a node for a nonexistent device?

So, as you can see, the interface that Windows uses for access to the components of a PC kind of falls short.

With Linux, everything on a computer is represented by a file: files, directories (or folders), and even devices such as disks, cameras, printers, and so on. It can take a bit of getting used to—you might think, how can a floppy disk be a file? The intellectual leap you need to take is that files can contain files. Thus, directories can contain files, and you can copy a file to a floppy disk, because the file represented by the floppy disk can contain files too. At best, though, it's probably not worth it to worry about this distinction, any more than worrying about how the electricity passing through the chips in your computer knows where to go. Linux handles the details.

As a result, the tree structure for a Linux computer is considerably cleaner than a corresponding Windows computer. The top-level node, denoted by a single slash (/), is called "root," and the rest of the tree flows out from the root. That's why you don't see separate nodes for Drive C:, Drive D:, and so on. The physical devices on a computer are all represented by files in the tree structure—there are no artificial or uneven interfaces. For example, a machine with two floppy disk drives would have two subdirectories under the /mnt directory: "/mnt/floppy 1" and "/mnt/floppy2". More on this shortly.

Let's look at these files and folders in more depth.

What do the Folder Names Mean?

Underneath root are a series of folders, including /etc, /home, and /usr. Note that the slashes used in Linux are forward-pointing, as opposed to the backslashes in Windows. (I remember which is which by reminding my self that Windows is where I was, back a while ago, while Linux represents where I'm going—forward into the future.)

At first glance, the folder names are hard to understand, but as with anything, it just takes a bit of time to learn something new. It's easiest if you concentrate on the first few folders that you'll use all the time, and then add more to your cache of knowledge as needed. While I've found that any alphabetical listing of these explanations becomes mind-numbing in short order, putting them in any other order is an arbitrary and random practice. Thus, I'll list them alphabetically, and then add a couple of editorial comments at the end about which ones you'll use most often.

/bin

/bin contains programs or symbolic links (think "shortcuts" in Windows) that are used by the system administrator, by regular users, and by scripts (think "batch files"). These programs differ from those in /sbin and /usr/b in that they are required before the rest of the directories are available for use. (You might hear people refer to this requirement in Linux terms as "before any other file systems are mounted.") If you were going to create a floppy disk to boot Linux, these the contents of /bin would be useful.

Examples of programs in /bin include cp (a utility to copy files), mkdir (a utility to make a directory), sh (the Bourne command shell) and su (a utility to change the user ID).

/boot

/boot contains all of the files and data required for the machine to boot, in addition to configuration files not needed during boot-up.

/dev

/dev contains files that map to devices (get it?) that are attached to the computer.

/etc

The /etc folder stores configuration files for the operating system as well as programs on the computer. Some, but not all, configuration files have a ".conf' extension, but, in contrast with Windows, many Linux files do not have extensions at all. For example, the file "/etc/fstab" is a configuration file that contains the file system table (f, s, tab—get it?) Another example is the file "/etc/gimp/1.2/gimprc"—the configuration file for The GIMP (The GNU Image Manipulation Program). The corollary to Windows is the Windows Registry.

/home

The most important folder to you is /home, because it stores regular user data, including yours. It's somewhat like "My Documents" on Windows. Each regular user (as opposed to the root, or administrative, user) on a Linux computer has their own folder under /home, and each user can only get to their own folder under /home when they log on. So, for example, if three regular users—Al, Barb, and Connie—are set up on a Linux computer, there will be three folders under /home, like so:

/home/al
/home/barb
/home/connie

When Al logs on, he can get access to his own folder, but not to /home/barb or /home/connie.

/home is like C:/Documents and Settings, because there's a directory for each user underneath, and each user's directory contains user-specific config files and (usually) users' data.

/initrd

When Linux is booted up, a RAM disk that contains a subset of the operating system is created. The "initrd" file is stored in this RAM disk and acts as a temporary operating system that points the way for the rest of the computer to boot up. You should never have to worry about this directory, nor should you ever mess with it.

/lib

/lib contains library files used to boot the system as well as run commands located in /bin and / sbin. This is a centralized location for these files, somewhat like C:/winnt/system32.

/lost+found

This is where "lost" files and/or directories get dumped during a file-system check.

/misc

/misc is just what it sounds like—a location for miscellaneous items. You may never find a need for it yourself.

/mnt

/mnt is an empty directory provided for the temporary mounting of a file system. This is a fancy way of saying "this is where floppy disks and CD-ROM drives are found." Current mainstream Linux distributions like Fedora Core automatically recognize when floppies and CDs are inserted into drives, and they place a drive icon on the desktop, as shown in Figure 3. Functions such as Open (to display the contents in the default graphical file manager) and Eject (to eject the CD from the drive) are available in the CD's context menu.

Click To expand
Figure 3: Current Linux distributions automatically detect a CD-ROM and place an icon on the desktop.

Floppies and CDs are also recognized in some file managers, such as Nautilus, as shown in Figure 4.

Click To expand
Figure 4: Current file managers automatically detect a CD-ROM and place a node for the device in the folder structure.

You'll also find your removable storage devices under /mnt in the directory tree, as shown in Figure 5.

Click To expand
Figure 5: Removable storage devices are found under the /mnt directory.

Some suggest that entries to mount shares to remote file systems (in other words, mapped network drives) should be placed in /mnt, but I disagree. I argue they go under /home/<user> in order to facilitate easier access to the data. I cover this in more detail in Appendix B, "Connecting to a Windows Network."

/opt

/opt is reserved for applications programs installed by the user.

/proc

/proc is a virtual file system that stores a copy of the system currently in memory. This mechanism provides an easy way to get information about the kernel and currently running processes, instead of having to dig at the memory itself. You will likely never have to mess with this folder.

/root

The /root folder is simply the root user's home folder. It is not put in the /home folder for security reasons—you can have /home on a separate partition but still have the root user's home folder available before that partition is mounted.

/sbin

/sbin contains utilities used for system administration. Programs that are involved with booting the machine as well as repairing broken installations and recovering corrupt files are located here. There is also a /sbin directory under /usr, called /usr/sbin, that contains similar programs that are executed after /usr has been mounted during boot up.

/tmp

/tmp is reserved for programs that create or use temporary files, just like C:\temp (or C:\Documents and Settings\<user>) in Windows. Note that the contents of/tmp are deleted during the boot process, so don't ever expect something in /tmp to be there five minutes later.

/usr

/usr is roughly equivalent to "Program Files" in Windows. It has six major subdirectories, /usr/bin contains programs used by regular users of the system that are not in /bin. /usr/include and /usr/lib contain libraries that aren't found in /lib. /usr/local is empty after initial installation, but eventually gets populated with programs installed by users. /usr/sbin has been covered in the /sbin description, /usr/share is used for data that isn't modified once created. For example, a program that creates a key or other type of fingerprint file might put it in /usr/share/<program>.

/var

By now you're probably getting used to the abbreviations—and so it comes as no surprise that /var is used for variable data files. Examples include mail and print spoolers, log files, lock files, temporary files saved during system reboots, and caches for specific applications.

Which Ones are Important?

These are brief descriptions of these folders. You can find more details, including more precise definitions and detailed information about subdirectories of these folders, at http://www.pathname.com/fhs/.

You'll see that some distributions, such as Fedora Core, include other top-level directories, such as tftpboot. Don't worry about them.

So now that we've been through the definitions, which ones are important? You can use Linux for a long time while dealing with only three directories: /home, /etc, and /usr. If pressed, you might be interested in /bin, /sbin, /tmp, and /var.

If you're using a different distribution, you'll find many of these directories are the same as found in other distributions; in fact, the differences are fairly minor—much like the differences you find between the directory structures of Windows 95 and Windows NT, for example, where the directory "Windows" was changed to "WINNT" (and then back again in Windows XP, ahem!).

About Multiple Drives

During the conversation in the previous section, I quickly skipped past the " Where's my C: drive?" issue and just talked about the folder structure under the "/" folder. If you've got a single hard disk, you can just assume that"/" sits on that hard drive much like "C:" would, and accept that you'll find your floppy and CD-ROM drives under /mnt. But what if you've got more than one hard disk? What does the tree structure of folders look like in that case?

The answer: Exactly the same!

How can that be? For a moment, pretend that your hard disk is rectangular—tall and not so wide. Now picture your file and directory structure laid out one line after another, like so:

/
/bin
/boot
/dev
/etc
/home
/initrd
/lib
/misc
/mnt
/opt
/proc
/root
/sbin
/tmp
/usr
/var

And all of this is on one hard disk. Now let's suppose you had two hard disks. Linux puts some of the directories, in their entirety, on the second hard disk, like so:

Disk 1:
/
/bin
/boot
/dev
/etc
/home
/initrd
/lib
/misc
/mnt
/opt

and

Disk 2:
/proc
/root
/sbin
/tmp
/usr
/var

To you, the user, does it really matter if /tmp is physically on Disk 1 or Disk 2? Of course not. You can still access it all through the folder structure. The arbitrary use of separate drive letters for different disks is due to a lack of planning back in the early days of DOS, and Windows users have been paying for that decision ever since.

In practical terms, which directories are on which disks is actually different. You'll typically find /home (and maybe /tmp and /var) on a second disk if there's one available. But the idea is the same. When you're drilling down into /home, you don't know (or care) whether you're working with hard disk #1, #2, or if there's a tiny little man with grey hair and a beard inside, furiously scribbling down data in a very small book. Linux handles the specifics of getting data from the hardware to you transparently.

If you want to learn more, there's a long and involved description about how this works in Appendix A, "Partitions."


File Managers

Now that you know something about your data and how the disk is structured, how do you go about working with it?

There have long been two schools of thought about using computer programs to work with data. One school of thought relies on the "noun-action" or "applicaton-centric" paradigm, where you open up a program and then use that program to navigate to a piece of data, such as a memo or a spreadsheet. The other school of thought relies on the reverse—an "action-noun" or "document-centric" paradigm—where you navigate to your data, and then rely on the computer system to know which program to use to work with it.

Different kinds of data lends themselves to one approach versus another, so it's actually common to use both methods at the same time. For instance, it's common for an e-mail program to keep its data in a specific place. Thus, you would open your e-mail client and expect it to know where the data is. You wouldn't navigate to a specific e-mail message and then launch your client from that message, because you're probably going to want to work with more than that one message.

The same goes for music jukebox programs. In order to listen to a bunch of music, you'd typically start your music player, and then create a new playlist or point to an existing playlist of music. You ordinarily wouldn't navigate to a specific song and load it, since you're probably going to want to work with (that is, listen to) more than one song.

On the other hand, when you're working with, say, spreadsheets, it's pretty common to navigate through your folders, find the spreadsheet you're interested in, and then launch the computer program associated with that type of file.

In the early days of computers, the ability to associate a program with a type of file didn't exist, but as character-based and graphical file managers became popular (after the introduction of hard disks, when people had more data on their hard disks than in their boxes and boxes of floppies), this technique became more and more common, until it's now a standard technique on both Windows and Linux operating systems.

In the late 1980s, I began using a software tool that provided a graphical view of files and directories (and thus provided the ability to launch applications from within it), and have never looked back. I started with a couple of character-based programs that displayed directory structures in hierarchal diagrams, like so:

C:\
 +—Directory1
 I +fileA
 I +fileB
 I
 +-Directory2
 +-Directory3
 +-filel
 +-file2

Once Windows hit, I started using Windows Explorer to navigate through the files on my system, and then started using PowerDesk as Explorer's replacement once it was released. So I have a long-time bias toward using graphical file managers.

As with any software category, a number of graphical file managers are included with mainstream distributions of Linux. Fedora Core includes three popular file managers. Nautilus is the default graphical file manager for GNOME, Konqueror is the default graphical file manager for KDE, and Midnight Commander is a popular character-based file manager called from the command line.

I'll discuss Nautilus and Midnight Commander briefly, and then spend more time with Konqueror, because it's quickly become my personal favorite.

Midnight Commander

Midnight Commander, or "MC" as it's called by many folks, is a character-based file manager that mimics many of the functions that full-featured graphical file managers have. If you're an old-time DOS user, you may notice a distinct similarity to the DOS Norton Commander, and for good reason.

To run MC, open a terminal window and type "me". MC will appear in a window as shown in Figure 6.

Click To expand
Figure 6: Midnight Commander is a popular character-based file manager.

MC is terrifically robust, and packed with functionality. Because it's not a GUI, it doesn't require a lot of system resources. One could write a small book just on MC, but that's beyond the scope of this discussion. Instead, I'll just give you a quick tour.

Despite it being a character-based tool, MC is accessible via keyboard and mouse, as well as a combination of both, so it will work with you regardless of your own personal style.

The screen is divided into four areas, with the two directory panels taking up most of the real estate. The other two areas are the top line, which contains the menu bar, and the bottom couple of lines, which contain a shell command line and the function key labels.

The current directory is displayed in the left panel; you can scroll through it as well as navigate through higher and lower directories by clicking parent directories (denoted by "/..") and subdirectories (denoted by "/some_subdir"). The right panel is generally used as a target during commands that use one, such as copy and move (don't worry, MC warns you beforehand).

You can configure how the panels display information, both in terms of sort orders as well as the types of information.

As you would expect, you can perform any type of file operation you can think of, including copying, moving, renaming, deleting, finding, zipping and unzipping, comparing, editing, executing, changing ownership or permissions—and you can do so in several different ways. The File menu provides access to all of these functions, as shown in Figure 7, while the function keys perform the more common commands.

Click To expand
Figure 7: You can access many of Midnight Commander's functions through the menu and keyboard shortcuts.

You can also access a "quick menu" by pressing the F2 (user menu) key, and you can customize this menu by editing one of the MC configuration files.

Nautilus

It's almost impossible not to get slightly acquainted with Nautilus (shown in Figure 1 earlier in this chapter), because it's the default file manager used by GNOME, which in turn is the default desktop environment for Fedora Core.

Because many of the menu items and commands use Nautilus as their default engine (for example, opening the Home Folder from the Main Menu), it's a good idea to learn a little bit about it.

Nautilus opens in a two-pane display, with the left pane showing treeview nodes for the current user's home directory, the machine's entire file system, and any removable storage devices. Figure 8 shows the first two standard nodes, plus one for a CD-ROM.

Click To expand
Figure 8: Nautilus automatically displays nodes for your Home Folder, the entire Linux file system, and any available floppies or CD-ROMs.

By default, you can navigate through the treeview on the left side, expanding and contracting nodes in order to show the contents of folders, and navigating through folders and files.

The first thing you'll want to do is investigate the preferences for Nautilus so you can set it up to your own style. Click Edit | Preferences in the Nautilus menu to bring forward the File Management Preferences screen, as shown in Figure 9.

Click To expand
Figure 9: The File Management Preferences dialog allows you to tune Nautilus the way you want it.

My preference is to smash lots and lots of data into the smallest space possible. On the Views tab, I set "View new folders using" to List View, I select the "Sort folders before files" check box, and I uncheck the "Show hidden and backup files" check box. I also make sure that the "Show only folders" check box is selected in the Tree View Defaults section at the bottom of the tab.

On the Behavior tab, I select the "Include a Delete command that bypasses Trash" check box because it's nice to be able to delete a file completely with one keystroke or mouse click without being prompted.

Finally, beware of the "Count number of items" option on the Preview tab. This determines whether or not the row for a folder in the list in the right pane displays the number of files in that folder. Selecting "Local folders" or "Always" may have a negative impact on performance, depending on your hardware and number of files.

Nautilus is an acceptable file manager. Indeed, when I started using Linux, I got by with it fine. However, one day a friend showed me Konqueror, and, as the fairy tale goes, my life has never been the same. Read on and enjoy.

Konqueror

I've saved the best (in my opinion) for last. Konqueror is KDE's combination Web browser and graphical file manager, and it occupies a permanent position on my panel and desktop.

Like Nautilus, it has a dual-pane setup with a treeview on the left side (the "Navigation Panel") and a file listing on the right. Figure 10 shows Konqueror displaying my Home directory, instead of the computer's file system, as shown in Figure 5.

Click To expand
Figure 10: Konqueror displays the current user's home directory, such as /home/whil, by default.

The first thing you may notice is that the Konqueror display is much more compact than in Nautilus, which may seem silly but was a key benefit for me. When I'm trying to navigate to a specific file, I don't want to have to scroll through several pages if I can find a way around it.

The second thing you immediately notice is the summary information at the bottom of the screen: 23 items—14 files (213 MB total)—9 directories. That's one feature that PowerDesk on Windows had, and that I missed in Nautilus.

The next thing I want to point out is a terrifically elegant mechanism that gives Konqueror a number of different faces with just a mouse click. The icons in the column to the left of the Navigation Panel (they're called "tabs") allow you to display different views.

Clicking on the second tab (I'll come back to the first tab in the stack shortly) displays your bookmarks in a treeview, as shown in Figure 11.

Click To expand
Figure 11: The second tab in the Navigation Panel in Konqueror displays your Web bookmarks.

Remember how I said that Konqueror was a combination Web browser and file manager? Clicking on a bookmark in the left pane will open the Web page in the right pane. In Figure 11, I've navigated to the bookmark for the Web page for the Milwaukee Linux Users Group.

The third tab is your browser history; I didn't include a screen shot because I don't want to give away the list of all the Heather Locklear, Space Ghost and KISS shrine sites I regularly visit. Sorry.

The fourth tab in the list, the brown folder with a little house in front of it, is your home folder, as shown in Figure 10.

The fifth tab is the Sidebar Media Player, which I don't bother with, in favor of XMMS (see Chapter 10, "Multimedia: Audio (and Video)"). The sixth tab is the network view, and shows a variety of KDE-oriented Web and FTP sites.

The seventh tab, the red folder, displays the entire file system, starting with the "/" folder, as shown in Figure 5 earlier in this chapter. And, finally, the last tab displays the services running on your computer, as shown in Figure 12.

Click To expand
Figure 12: Konqueror's Services tab displays a variety of nodes.

The first tab in the column, the one that I skipped at the beginning, is the Configuration button. It provides a number of functions, including Add New, Multiple View, and options to control whether to show the Configuration button and where to show the tabs.

Okay, just for this set of views, Konqueror is wonderfully useful to me. But, as they say, wait, there's more! First, you can split the panes (repeatedly) to display multiple views. For instance, suppose you wanted to compare files at the top and bottom of a folder with lots of files. You can click one of the toolbar buttons to create a pair of panes, one above the other, and scroll independently in each of them.

The buttons in the Konqueror toolbars provide such marvelous functionality that they are worth describing briefly. In Figure 10, I placed two toolbars (Main and Extras) on the same level in order to save screen real estate. (I once tried putting the Location toolbar on the same level as the Bookmarks toolbar, but the address box ended up getting truncated shorter than I liked. Compromises, compromises...)

In Figure 13, I show the left half of the Main toolbar. (The Extras toolbar begins with the fifth icon in Figure 15.)

Click To expand
Figure 13: The leftmost buttons in the Main toolbar in Konqueror.

The first three, as you can guess, are navigation buttons similar to the Back and Forward buttons in browsers like Mozilla and Microsoft Internet Explorer, and the fourth pops you back to your Home directory. The fifth simply reloads the contents of the window, whether it's a Web page or a file listing. As with other browsers, pressing the F5 key performs the same function. And the X inside a circle performs a "stop loading" operation.

The next four buttons are Cut, Copy, Paste, and Print—and do pretty much what you would expect.

The button to the right of Print, with a couple of grey folders and a yellow star, is New Tab. Tabbed browsing was made popular by Mozilla a couple of years ago; Konqueror has the same functionality built in, but it works across all of its functions, not just when browsing the Web. For instance, you could have your Home folder on one tab and a subdirectory of the "/" file system on another tab, as shown in Figure 14. Or you could even have Web pages on various tabs. Truly wonderful.

Click To expand
Figure 14: Konqueror fully supports the use of tabs in the right panel for any purpose.

The button next to New Tab is Close Tab, which becomes enabled when there's more than one tab open. The Increase Icon Size button (the magnifying glass with the plus sign) enlarges the font size of the file listing in the right pane, while the Decrease Icon Size button does the reverse.

Figure 15 shows the right half of the Main toolbar and the entire Extras toolbar.

Click To expand
Figure 15: The last few buttons in Konqueror's Main Toolbar, and the entire Extras toolbar.

The first button, Icon View, and the second, Detailed List View, provide different views of the right pane.

Cervisia is a graphical front end for the client software package of CVS, a version-control system that is used in many open-source software projects. The brick wall button opens the currently selected directory in the left pane in Cervisia if that directory is a CVS directory.

The last button in the Main toolbar, the gear with the K in the center, is a progress indicator that provides feedback on the loading of data in Konqueror.

The contents of the Extras toolbar vary according to what's in the right pane. When files are listed in the pane, there are six buttons; when a Web page is displayed in the right pane, additional browser-specific button appear.

The first, Show Navigation Panel, is a toggle that displays or hides the Navigation Panel. The second, Find File, does what it says. The next two, Split View Top/Bottom and Split View Left/Right, divide the right pane into multiple windows as described earlier in this section. The Remove Active View button closes the multiple windows that the other two icons created.

And the last button in the toolbar, Filter (Only Show Files of Type...), displays just selected files in the right panel according to user-provided criteria.

There's a lot more in Konqueror than I have space to cover. The help file is extremely well written, well organized, and just packed with information. Even better is the "What's This?" feature available in the Help menu or just by pressing Shift-F1. When you press Shift-F1, a pointer appears; moving it to a location within the Konqueror window and then clicking will display a lengthy tooltip that explains that particular user interface object. Try it with the small box in the bottom right corner of the Konqueror window.


File Associations

The Windows and Macintosh operating systems come with a number of programs automatically set up to launch when a file with a particular extension is double-clicked in various programs, such as in a file manager like Windows Explorer, on the desktop, and in other places (like Microsoft's e-mail clients, Outlook Express and Outlook).

On the Mac, when someone created a document, information about the program that created that document was stored in the Mac file system. Then, when you double-clicked a document, the operating system knew which program was associated with that document,and automatically opened that document with the proper application. Because this information was stored out of sight, it was difficult to break a file association, but easy and foolproof to use.

Windows, on the other hand, does it differently. It ties a file's file-name extension to a specific application, and stores that relationship in the Windows Registry. As a result, simply changing the extension of a file can break the file association. However, this also means that the user has more control over changing file associations.

Linux, as of kernel 2.2 (many moons ago), has the same general functionality, but implements it slightly differently, using what we might say is the best of both worlds. Linux now supports multiple file formats that can be run at a command prompt, similar to an executable file. For example, you could associate all text files with a specific editor. Typing just the name of a text file would then automatically load that editor and then open the text file in the editor.

You can see how file associations are handled by opening up your favorite file manager and right-clicking a file, as shown in Figure 16.

Click To expand
Figure 16: Right-clicking a file in a file manager displays the primary file associations for that type of file.

In the Open With context menu, you'll find the applications that have automatically been associated with the type of file that you clicked. In Figure 16, the file is an image file (with an extension of .tif), and so the default image-viewing applications were listed. The first application in the list will be used automatically if you simply double-click the file or select any of the Open options at the top of the context menu.

The file association isn't keyed on the extension, though. In Figure 17, I've displayed the context menu and the Open With submenu for a file without an extension.

Click To expand
Figure 17: The Open With submenu for a file without an extension.

As you can see, Konqueror has already identified "deleteme" as a "Plain Text" file with a file size of 9 bytes. (I spare no expense when creating examples!) There are a number of associated programs in the context menu, including gedit (GNOME's graphical text editor), KWrite (KDE's text editor for programmers), and Emacs (one of the classic Linux text editors), to name a few.

What's interesting is that it's not just text files that don't need extensions. If you delete the ".tif' extension from Copper.tif and then right-click, the same options under the Open With submenu will be displayed. How is this possible?

As I mentioned earlier, Linux uses a combination of Windows and Macintosh mechanisms to deal with file associations. Each file on a Linux computer has two attributes: a file type and a file extension. (If the file extension isn't there, then it's an empty file extension.) The file type can be something simple, like "Text Document" or "QuickTime Movie," or it can be something somewhat more obscure, like "H.323 Internet Telephony" or "InterTrust DigiFile."

The first few bytes of most files contain special encoding that specifiy the type of file, regardless of the extension. That's why you can delete the extension from "Copper.tif" and the file associations still show up. "Copper." is identified as a tiff file, and thus the applications for tiff files are still displayed.

However, if you change the extension of "Copper.tif' to ".xls", right-clicking the file will display file associations for.xls files, including Microsoft Excel and OpenOffice.org's Calc.

Now, what if I wanted to open Copper.tif with The GIMP? How would I add that file association? Or what if I wanted the default application to be ImageView instead of Kuickshow?

In Konqueror, select Settings | Configure Konqueror from the menu, and then click the File Associations icon in the left pane to open the "Configure file associations" tab. I suggest you widen the window, as shown in Figure 18, because a lot of info appears in the right pane.

Click To expand
Figure 18: Konqueror provides an easy-to-use graphical interface to manage your file associations.

The file types mentioned a moment ago are all listed in the Known Types treeview on the left side of the tab. They're organized into functional groups, such as image, text, and video. It can be tricky to find which file type you're looking for, because some of the functional groups aren't obvious if you're not already familiar with them.

Here are a couple of hints to find a specific file association. First, most of the file types are listed under "applications." It can take a while to scroll through all of the file types, and not all of them are named what you would think. For example, you might know that OpenOffice.org is the open-source branch of Sun's StarOffice office suite. As a result, you might think it reasonable to find that the OpenOffice.org Writer file type is "vnd.stardivision.writer" as shown in Figure 19.

Click To expand
Figure 19: The vnd.stardivision. writer file type isn't associated with the Open Office. org .sxw extension.

However, that's not the case, as you can see that the native OpenOffice.org Writer file extension, ".sxw", is not listed in the Filename Patterns in the upper right of the tab.

So here's the second hint. You can use the "Find filename pattern" text box above the Known Types treeview in order to look for a file type if you have an idea of at least one of the file extensions. Simply typing "sx" in the text box, as shown in Figure 20, displays all of the file types that are associated with file extensions that begin with "sx'', and you can find and confirm the file type for OpenOffice.org Writer Text Documents.

Click To expand
Figure 20: Searching for the .sxw file extension.

Back to our original quest—associating The GIMP with "Copper.tif" (and all other tiff files).

This task is a bit easier than the myriad in the application node. Click the image node and scroll down to the "tiff" file type. Then click Add to bring forward the "Choose Application for image/tiff' dialog, as shown in Figure 21.

Click To expand
Figure 21: Associating The GIMP with the .tiff file extension.

Now simply navigate through the Known Applications treeview, first selecting the Graphics node, and then The GIMP node, and click OK. The GIMP will now be added to the Application Preference Order list box. Click on the row with The GIMP, then click Move Up a couple of times to maneuver it to be the default application, as shown in Figure 22.

Click To expand
Figure 22: Rearranging the Application Preference Order so that The GIMP is the default application for opening tiff files.

Now, when you double-click a tiff file, or right-click and select one of the Open menu items, The GIMP will be used to open the file.

Finally, what if the program you want to use isn't found in the Known Applications treeview? In that case, you'll have to specify the program itself on disk, using the controls located above the Known Applications treeview in Figure 21. If you know the name of the program, you can just type it in the combo box; otherwise you can use the folder icon to the left of the combo box and navigate through the hard disk's folder structure to find the program executable manually. (I know, that's easier said than done, particularly with Linux and its inscrutable folder and file names. See Chapter 14, "Under the Hood," for some hints.)


Migration of Data From Windows to Linux

This whole chapter has covered various topics relating to data, because, as I said, it's your data. I haven't addressed one topic yet—a subtle, yet important one. What about your existing data? After all, as a power user, you're not going to fire up a Linux computer and just start fresh. You've got loads and loads of data already "out there"—how do you get that data "into Linux," for lack of a better phrase?

The good news is that, generally, you don't have to do a thing!

There are two levels of working with your existing Windows data on a Linux computer. The first is getting the files themselves onto or accessible by your Linux computer. The second is actually opening or working with your files once they're accessible—that means using Linux programs to open your "Windows" data.

Accessing Windows Files on a Linux Computer

There isn't anything magical about a file that restricts itself to reside on a Windows computer. You can copy a file on a Windows computer to a Linux computer without any ill effects or fear of messing up the file. The process isn't like trying to read an Apple II floppy disk in an IBM PC disk drive, for example. There aren't any secret codes in a file that designate it as "Windows-only."

You can copy your Windows data files to your Linux computer over a network connection or via floppy disk, Zip disk, or CD-ROM. Or you can connect your Linux computer to a network that has Windows computers and servers on it, and access your Windows data remotely. Indeed, I still have a Windows file server on my network, and I work with files stored on it from my workstation running Fedora Core. Details on connecting your Linux workstation to a Windows file server are in Appendix B, "Connecting to a Windows Network."

Using Linux Programs to Open Your Windows Files

Once you can "get to" your Windows data, what do you do with it when you're running Linux? After all, you're generally going to be running Linux programs, not Windows programs. You've got files in Microsoft Office format, e-mail in Microsoft Outlook or Outlook Express files, music files stored in MP3 format, and family pictures saved as JPG with the special Windows software that came with your digital camera.

The answer is, as with many things computer-wise, "It depends." Generally, you'll be able to use files created with popular Windows applications "as is" with Linux.

In many cases, Linux programs have been designed to work with the proprietary formats that Microsoft tries to use to continue its monopoly status. For example, OpenOffice.org can open Microsoft Office Word, Excel, and PowerPoint files with ease. In fact, an oft-repeated tip by Microsoft MVPs on the various Office electronic forums is to use OpenOffice.org to repair damaged Office files that Office can't open any longer itself!

In some cases, Windows programs use industry-standard file formats, like HTML, MP3, PDF, and so on, which are also used by Linux programs, and so you can work with those files transparently.

Finally, in a few cases, Windows programs use formats that aren't natively readable by Linux programs. You'll most likely have to export your data into a format that can be read by a similar Linux program. For example, Microsoft Outlook uses a proprietary format for its PST mail and address file. However, you can export your data into a format that can then be read into a Linux mail program such as Evolution, KMail, or Mozilla Mail. Other programs use formats that can be read by other programs. For example, Mozilla's mail client, Thunderbird, can import Outlook Express address books and e-mail absolutely flawlessly.

In each of the following chapters that cover individual applications, I'll discuss specific issues that relate to migrating your data from Windows to Linux.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 7: E-Mail and Web Browsing

Overview

By far, the most common activities that people perform on their personal computers are using the Internet for e-mail and surfing the World Wide Web. In this chapter, I'll introduce a couple of popular tools for both functions and get you started using them.

For years after the "big three" of killer applications—spreadsheets, word processors, and databases—people have been looking for the next "must-have" application, only for it to appear under their noses, and out of the control of any single entity. The Internet, with its ability to exchange e-mail and interface to the World Wide Web, is the killer application of the decade.

This chapter assumes that you already have physical access to the Internet, which you've been using with your Windows computer. I'm not going to help you pick a broadband carrier or sign up with a provider. There are too many options and alternatives to try to identify all of them, or even a significant proportion of them. I also assume that you wrote down your network and ISP settings as instructed in Chapter 2, "Installing Fedora Core."


Network Connections

Both e-mail and Web browsing assume that you have a physical connection to the Internet. In order to take advantage of that connection, you have to configure your computer's settings to recognize it.

This should have been done during installation, in the Network Configuration step (and the "Assigning static IP addresses instead of using DHCP" section) of Chapter 2. But in the event that you skipped that step, because you didn't have the information, you didn't have a connection, or you just didn't want to bother—or if you have to make changes—I'll explain how to change those settings during regular usage.

First, select Main Menu | System Settings | Network to bring forward the Network Configuration dialog (shown in Figure 4 shortly). Before it shows up, though, you'll get the root password dialog, shown in Figure 1.

Click To expand
Figure 1: The root password dialog appears when an operation you are attempting requires root permissions.

Messing with the network configuration of a machine is not a task that an end-user should be doing—it requires root permission because it's affecting the entire machine, not just one user's settings. As a result, you'll be prompted for the root user's password in order to prove that you have root user permissions.

After you successfully enter the password, a set of keys shows up on the panel, as shown in Figure 2.

Figure 2: The keys icon in the panel indicates that you have root authorization.

The icon is a reminder that this application is running as root. It's a good idea to terminate that authorization when you're done with the operation or process that required it. To do so, click the keys icon to open the authorization dialog, shown in Figure 3.

Click To expand
Figure 3: Clicking the keys icon in the panel displays an authorization dialog.

Obviously, clicking Keep Authorization doesn't change anything, while clicking Forget Authorization will remove the authorization and return your permissions to those of a regular user.

Now, back to the network settings. Once you gain root access, the Network Configuration dialog will appear, as shown in Figure 4.

Click To expand
Figure 4: The Network Configuration dialog displays a variety of settings information.

This dialog allows you to manage all of the network devices in your computer. Most of the time you'll have only one network card, but if you had a second one—for example, a second network card or a wireless network card—this is where you'd set it up.

The Devices tab is displayed by default. Select a device in the list box (in Figure 4, there's only one device, eth0, and it's highlighted). Then click the Edit button in the menu at the top of the dialog (or double-click the name of the device) in order to display the Ethernet Device dialog as shown in Figure 5.

Click To expand
Figure 5: The Ethernet Device dialog allows you to edit specific network settings for a device.

The General tab allows you to set a couple of parameters as well as provide a specific IP address that uniquely identifies your computer.

The name of the device is shown in the Nickname text box; if you had several devices, you could give them different names that made more sense than the defaults of "eth0," "eth1," and so on. For example, you might want to call the original Ethernet card "Ethernet card" and your wireless device "Wireless card."

Most of the time you're going to want to activate the device when your computer starts. One time you may not want this to happen is with a wireless device for which you want more control when it's active.

If your computer is connected to a DHCP server (you'd know this because your Windows network settings would have indicated such), select the "Automatically obtain IP address settings with DHCP" option button. DHCP indicates that the IP address is provided by a different machine.

On the other hand, if you want to set the IP address of your machine yourself, select the "Statically set IP addresses" option button. The three text boxes will become enabled; enter the values that you gathered from your Windows network settings.

As a reminder, the Address value is the IP address of the computer you're using, and the Subnet mask also refers to the computer you're using. The Default gateway address is the IP address of the computer that connects directly to the Internet. It may be a server or a router on your network. Again, these settings correspond to similar settings from your Windows network configuration.

The subnet mask also tells your computer which addresses are on the local network; trying to access another address goes through the gateway. For example, a value of 255.255.255.0 means that computers with IP addresses matching the first three numbers (192.168.0) of your IP address are considered part of the local network and can be accessed directly, without going through the gateway.

The Hardware tab, shown in Figure 6, allows you to configure the specific network card you have in your computer.

Click To expand
Figure 6: The Hardware tab of the Network Configuration dialog allows you to identify and configure a specific network card.

Most likely, Fedora Core already identified the card so you won't have any further work to do, but if you need to make a manual tweak, here is where you'd do it.

The third tab, DNS, is used to identify what machines (called "name servers") your computer looks to in order to resolve domain names, as shown in Figure 7.

Click To expand
Figure 7: Use the DNS tab to set up the name servers your computer will use.

You can use the same settings that your Windows computer used for Primary DNS and Secondary DNS. If you have access to a Tertiary (that means "third") DNS, go ahead and enter it as well.

The Hostname field is used to identify your machine—if you entered something here during installation, it'll show up in the lower right corner of the login screen (see Figure 63 in Chapter 2). It's also used in other contexts that aren't important right now, but other people on your network may be able to see it at some point, so some modicum of good taste is probably a good idea.

The Hosts tab contains information about other computers on the network that are recognized by this computer; those settings don't apply if your machine isn't on a network as is presumed here. If you were on a network and wanted to access other machines on the network by their machine names instead of their IP addresses, you'd use the Hosts tab to enter mappings of the names and IP addresses.

Once you're done with the settings, select File | Save, restart the network services, and you're done.


E-mail

Many e-mail clients are available on Linux. I'll cover two popular ones—Evolution and Kmail —to get you started. If you want to explore more, look under Main Menu | Internet | More Internet Applications. Graphical e-mail clients such as Balsa, Mozilla Mail, and Sylpheed, and text-based e-mail clients such as elm, mutt, and pine are included in Fedora Core. (They may not be installed, though. You can check by looking under Main Menu | System Settings Add/Remove Applications.)

Evolution

Evolution, by Ximian (see www.ximian.com), is much more than an e-mail client; it's a complete groupware solution that competes head-on with Microsoft Outlook. Evo (Evolution's nickname by its users) has a calendar, a to-do list, and an address book. There's a separate Ximian component called Connector that makes Evolution work with Microsoft Exchange.

Evo's e-mail client is the default graphical e-mail application for Fedora Core—its icon shows up in the panel after a complete installation, and it's the primary e-mail client in the Internet menu, shown in Figure 8.

Click To expand
Figure 8: Evolution is the default Fedora Core e-mail client.

When you open Evolution, you'll find a common, three-pane interface similar to Microsoft Outlook and other graphical e-mail clients, as shown in Figure 9.

Click To expand
Figure 9: Evolution's e-mail client sports a popular three-pane interface.

The left pane has a treeview that contains a list of all e-mail folders as well as nodes for other groupware-type functions, such as Calendar, Contacts, Tasks, and so on. The top pane on the right displays a list of messages, one line per message. You can customize the columns in terms of which ones appear (right-click a column heading for a context menu that provides this functionality), in what order they show up (just drag a column where you want it to be), how wide they are, and in what order messages are displayed (click on the column heading).

Evolution Setup

It's tough to get your e-mail if you don't set it up first. Click Tools | Settings inside Evolution to open the Evolution Settings dialog, shown in Figure 10.

Click To expand
Figure 10: The Mail Accounts tab of the Evolution Settings dialog.

The icons on the left serve as navigation aids to different screens in the dialog, much like a tabbed dialog. Clicking the Mail Accounts icon displays the list of accounts (shown in Figure 10), while clicking other icons displays entirely different screens.

You can configure Evolution to handle more than one mail account—for example, if you have accounts for yourself at home and at work, Evolution can fetch mail from both accounts—even if the mail is handled by different servers. Another reason you might have multiple mail accounts is if you set up one personal account (such as <"whil-hentzen@hentzenwerke.com">), and another one for use when you have to register on a Web site (such as <"whil_register@hentzenwerke.com">). All of these accounts will be displayed in the list in the center of the Evolution Settings dialog.

Selecting an account and then clicking the Edit button brings forward the Evolution Account Editor dialog, shown in Figure 11.

Click To expand
Figure 11: The Evolution Account Editor displays a set of six tabs for configuring a specific account.

You'll need to fill in values in certain fields in three of the first four tabs in the Evolution Account Editor. The other three tabs have optional fields in them.

The first tab, Identity, is where you fill in the e-mail address you're going to use. You should also include your real name in the "Full name" field; nothing says "13-year-old maladjusted script kiddie" faster than a clever, computer-oriented nom de plume like "deathruler." And fill in your whole name— professionals don't send e-mail as "jim"; and with the amount of spam out there these days, a message from "jim" ends up in the auto-delete folder instantly.

You can enter whatever value you want in the Name field because it will be the identification for this account in Figure 10.

The Receiving Mail tab, as shown in Figure 12, is where you configure the mail server that you connect to, in order to fetch the mail that other people have sent you.

Click To expand
Figure 12: Use the Receiving Mail tab to configure the server for incoming mail.

As requested in Chapter 2, you should have copied down your e-mail settings so that you know what to put in these fields. The key fields are Server Type, Host, and Username.

The Server Type is most likely POP unless you know you're using an IMAP server. The Host can be one of two types of values. It might be an IP address as shown in Figure 12, or it might be a fully qualified domain name. If you're using a third-party ISP, your e-mail host name might be a string like "mail.pop3.pacbell.net," or something similar.

Finally, the Username is the name with which you log on to your mail server. It's not your e-mail address, but in some cases the first part of your e-mail address and your account name might be the same. If you're using a third-party ISP mail account, it's the account name they've given you. When you attempt to connect the first time, you'll be prompted for the password that goes with this account name.

You can skip the third tab, Receiving Options, as shown in Figure 13, but it has useful options for handling your mail.

Click To expand
Figure 13: Use the Receiving Options tab to configure incoming mail.

Some people like incessant interruptions during the day, and so check the "Automatically check for new mail every N minutes" check box. If you travel a lot and use multiple computers, you may also want to check the "Leave messages on server" check box. That way, you can download to your notebook copies of messages while you're on the road and leave the originals on the mail server, and then when you get back to the office (or home), you can download them again, deal with the unread messages, and then have the client on your desktop delete them.

Unless you're terribly shy, you'll probably want to send mail as well as receive it. Use the fourth tab, Sending Mail, as shown in Figure 14, to configure the server that you connect to in order to send mail.

Click To expand
Figure 14: Use the Sending Mail tab to configure outbound e-mail.

There are just two critical fields in this tab: Server Type and Host. Server Type is ordinarily going to be SMTP unless you know specifically that it's different. The Host field should be filled in similarly to the Host field on the Receiving Mail tab. It may have different specific values, though, because some organizations use different e-mail servers to handle incoming and outgoing e-mail, in order to spread out the load.

For example, the Receiving Mail IP address might be 192.168.2.1 and the Sending Mail IP address might be 192.168.2.2, or they might be "mail.pop3.pacbell.net" and "mail.smtp.pacbell.net". Again, the settings from your old Windows machine will help you.

Using Evolution

Although Evo is a multipurpose application, I'm just going to cover its basic e-mail functions: sending and receiving.

Sending e-mail is simply a matter of clicking the New button, filling in the To and Subject fields, typing a note, and clicking the Send button. If you've created multiple accounts, you can choose which account to use by clicking the From combo, shown in Figure 15.

Click To expand
Figure 15: You can choose to send a message from multiple Evo accounts.

Receiving mail is just as simple. Click the Send/Receive button, and messages queued up on the incoming mail server will be brought to the in-box. You can create filters to act on incoming mail and perform the actions you specify. Click Tools | Filters to open the Filters dialog, and then click Add to use the Add Rule dialog, shown in Figure 16.

Click To expand
Figure 16: You can create custom rules to handle incoming or outgoing e-mail.

You'll see that you can create a wide variety of rules that include one or more conditions. The conditions are evaluated against the message, and then one or more actions are executed if the conditions are met. In Figure 16, the incoming condition checks for the string "Linux Thinkpad" in the subject line; if it's found, the message moves to the LTP folder.

Sometimes it can be a pain to create a message condition from scratch; you can create filters based on information in the currently selected message, as shown in Figure 17.

Click To expand
Figure 17: You can create filters based on a specific message.

Right-click an individual message, select Create Rule From Message, and then select one of the "Filter on" menu items. If the message is from a mailing list, there will be a special menu item to handle it.

KMail

KMail is KDE's default graphical e-mail client. Unlike Evolution, KMail does one thing—handle e-mail—and does it well.

KMail Setup

KMail has the same three-pane interface as Evolution and other graphical e-mail clients, but as with Evolution, it doesn't do you much good until you set it up. Click Settings | Configure KMail to open the Configure dialog, shown in Figure 18.

Click To expand
Figure 18: Use the Configure dialog to set up preferences for using KMail.

The interface is similar to that of Evolution, with icons on the left that drive the appearance of various screens in the dialog, and a list box in the middle that displays the e-mail accounts. Click New to create a new account, or highlight an existing account and click Modify to change its attributes. The Rename button simply allows you to edit the value in the Identity Name column.

The first account that you create automatically becomes the default mail account; once you have multiple accounts, you can make another account the default by highlighting it and clicking the Set as Default button on the right side of the dialog.

The Edit Identity dialog provides tabs for basic and advanced features, as shown in Figures 19 and 20. You have to fill in values for the "Your name" and "Email address" fields, pursuant to the same suggestions made for Evolution in the previous section.

Click To expand
Figure 19: You have to fill in a name and e-mail address on the General tab before sending e-mail.
Click To expand
Figure 20: The Advanced tab allows you to specify automatic addresses and default folders.

The Advanced tab, shown in Figure 20, allows you to set some of the same options as in the various optional tabs in Evolution's setup dialog.

You'll notice that there aren't any places for incoming and outgoing server settings in the Edit Identity dialog. Rather, you need to select the Network icon on the left and then work with the items in the list box and the command buttons on the right as shown in Figure 21. You'll see that you can edit common options under the list box. Selecting the highlighted account and clicking the Modify button will open the Modify Transport dialog, as shown in Figure 22.

Click To expand
Figure 21: The Network tab of the Configure dialog allows you to control the settings of the incoming and outgoing mail servers.

Figure 22: The Modify Transport dialog for the incoming e-mail server.

At a minimum, you'll need to enter values for Host and Port. The Host value is the same as described in the configuration section for Evolution—either an IP address or a domain name. The default Port number is 25, but you can change it to suit your specific circumstances.

Clicking the Receiving tab in Figure 21, selecting an account, and then clicking Modify will open the Modify Account dialog for fetching mail, as shown in Figure 23.

Click To expand
Figure 23: The Modify Account dialog for incoming e-mail.

You'll have to supply values for the Login, Password, and Host fields at a minimum, just as for Evolution. And as in Figure 22, you can change the Port number if you need to. There are a number of handy settings in this dialog as well. For example, the "Exclude from 'Check Mail'" check box removes this account from the automatic retrieval of mail—handy when you want to retrieve mail manually from an account.

Using KMail

KMail is just as easy to use as other graphical clients. To send a message, click the New Message icon in the toolbar, or select Message | New Message. Fill in the From, To, and Subject values in the Composer dialog, and then type the message body.

A particularly nice feature of KMail is that it allows you to select e-mail addresses from a list of recently used addresses, even if they're not in your address book. For example, I removed all of the e-mail addresses in my address book and then clicked the ellipsis (the button with the three dots to the right of the To: text box) to open an empty Addressbook dialog, shown in Figure 24.

Click To expand
Figure 24: The Addressbook dialog allows you to select recently used addresses, even if they're not in your address book.

Clicking the "Show recent addresses" check box will display a list of recent addresses that you've used, even if you haven't added those names to your address book.

Receiving mail is just as easy; click the Check Mail icon in the toolbar or select File | Check Mail. Messages queued up on the incoming mail server will be brought into KMail's in-box. You can also create filters that will act on incoming e-mail and perform the actions you specify. Click Tools | Create Filter to open the Filters dialog, or right-click a message and select Create Filter. As with Evolution, there are special menu items to handle easy creation of filters on messages from mailing lists, as shown in Figure 25.

Click To expand
Figure 25: Right-clicking a message in KMail displays a context menu that allows you to easily filter your mailing lists.

One interesting difference between Evolution and KMail is that the latter has a set of Mailing-list-specific options, such as "New Message to Mailing List" and "Reply to Mailing List." These are used in conjunction with folders that you associate with mailing lists by setting those folder's properties.


Web Browsing

In 2004, there's not much to say about setting up or using a Web browser, other than to mention that you have choices with Linux and Fedora Core, unlike with other operating systems that insist "the browser is an integral part of the operating system" and then force a browser down your throat whether you want to use it or not.

While many browsers are available, I'll just cover two of the more popular ones—Mozilla and Konqueror—like I did in the e-mail section in this chapter.

Mozilla

Mozilla is the open-source descendant of Netscape's Navigator Web browser. I actually started using it before I started using Fedora Core because a version of Mozilla has been available for Windows for a couple of years. As a result, it was an easy and natural migration to begin using it with Fedora Core as well, and it's my preferred browser.

Mozilla is the default Web browser for the GNOME desktop, and looks pretty much like any good graphical Web browser, as shown in Figure 26.

Click To expand
Figure 26: Mozilla is the default browser for Fedora Core.

All the standard functions are evident: an address bar for navigating to URLs, Back, Forward, Reload, and Home buttons, and so on. So the first thing you'll want to do is change the preferences so that Mozilla works the way you want it to.

Mozilla Preferences

In order to change your preferences, select Edit | Preferences from the Mozilla menu. The Preferences screen appears, as shown in Figure 27.

Click To expand
Figure 27: The Preferences screen for the Mozilla browser.

The Category treeview on the left provides access to a variety of groups of functions. Work your way through them as your time and desire allows; I'll take just a moment to point out a few preferences that I find myself setting right away.

First, in the Navigator node, you can control what happens when the browser starts up. I set up Mozilla to load a default home page, and then set that home page to an HTML file on my computer that contains a bunch of Web sites that I frequent.

Second, under Internet Search, I set the Default Search Engine to Google, and in Tabbed Browsing, I select the check box "Hide the tab bar when only one tab is open."

If you're unfamiliar with tabbed browsing, it may well be worth your time to learn about it. Many people often have more than one browser window open, which can be annoying and confusing when you suddenly have a half-dozen or more browser windows floating around on your screen. Mozilla pioneered the use of tabbed browsing, in which you can open new Web sites on new tabs in the existing browser window, instead of opening up brand-new windows. See Figure 28.

Click To expand
Figure 28: Tabs in the browser window enable you to move from one Web site to another without leaving the current browser window.

There's a new element in the browser, immediately above the browser window itself. Look for the icon to the left of two wide, rectangular boxes. The "Open a new tab" icon does just what it says. This icon disappears in two cases: when there is only one tab to display, and when the "Hide the tab bar" check box mentioned earlier is selected.

The two wide, rectangular boxes are simply the tabs; in Figure 28, the first is for the hidden Fedora Project tab and the second is for the visible window that is displaying the SuSE home page.

You can create a new browser window by using the File | New | Navigator Window command, or by pressing Ctrl-N. Create a new tab within the existing browser window by using the File | New | Navigator Tab command, or by pressing Ctrl-T.

When more than one tab is displayed, a Close box (X icon) will appear in the far right of the tab bar so that you can close a specific tab without having to close the entire browser window.

In the Privacy and Security node, you'll find a number of useful settings, as shown in Figure 29. For example, under the Cookies node, you can manage your stored cookies and specify how you want to handle the default behavior of new cookies. Use the Popup Windows node to deal with pop-up windows in the manner you choose, and use the Forms and Passwords nodes to specify whether or not Mozilla will remember data and passwords that you enter.

Click To expand
Figure 29: The Cookies tab is where you'll find the Manage Stored Cookies functionality.

Under the Advanced node's Scripts and Plugins node, you control what actions scripts are allowed to perform. For example, you can turn on or off the ability for scripts to:

  • Move or resize existing windows

  • Raise or lower windows

  • Hide the status bar

  • Change the status-bar text

  • Change images

  • Create or change cookies

  • Read cookies

And under the Software Installation node, you can control whether or not software installation will be enabled, and how often—if ever—your machine will look for updates to Mozilla.

One of the handiest tips for using Mozilla (it works in Windows, too) is the pair of keyboard shortcuts, Ctrl-+ and Ctrl--. Holding down the Ctrl key and then pressing the plus key (it's easier on the numeric keyboard since you don't have to hold down the Shift key too) will zoom the text size up one level. Holding down the Ctrl key and pressing the minus key will reduce the size of the text.

Konqueror

Konqueror is the default Web browser and all-around Swiss Army Knife for the KDE desktop. I spent a fair amount of time discussing Konqueror in Chapter 6, but glossed over browser-specific items.

When you open Konqueror, the browser appears automatically, as shown in Figure 30.

Click To expand
Figure 30: The Konqueror Web browser is the default for KDE.

As with Mozilla, the first thing you'll probably want to do is set some preferences. Click Settings | Configure Konqueror, and scroll down the list of icons on the left until you get to the Behavior icon. Here you can start to configure the browser behavior, as shown in Figure 31.

Click To expand
Figure 31: The Konqueror Web browser's Settings tab.

As you can see by scanning through the items, Konqueror also supports multiple tabs. You'll want to look through the items in the other tabs, such as Java & JavaScript, Web Shortcuts, Cookies, and so on. An interesting feature specific to Konqueror is the ability to control how you identify yourself when visiting Web sites, as shown in Figure 32.

Click To expand
Figure 32: The Browser Identification tab allows you to control how you identify yourself when visiting Web sites.

The Browser Identification tab has functions that allow you to mask your identification or even inhibit sending the browser ID at all. And you can customize this functionality per Web site or domain. This is handy for Web sites whose coding requires a specific browser, OS, or browser version.


Summary

One primary benefit of open-source software—and Linux in particular—is that you have choices. And these choices aren't thinly masked options that are frequently trampled by the desired defaults of a specific manufacturer.

Dozens of e-mail clients and Web browsers are available for Linux, and they generally play well with each other. Your biggest challenge will be finding the time to evaluate all of them, should you feel the need.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 8: Office and Productivity Applications

Overview

One of the two primary reasons most people use a computer (the first was discussed in Chapter 7) is to create and manage documents by using "office and productivity applications." These apps include a word processor, a spreadsheet, perhaps presentation software, a note taker, and financial-management software. In this chapter, I'll give you a quick tour through the most popular office and productivity applications available natively on your Fedora Core system.

Everyone knows that Linux is a fine operating system for a variety of needs in the server room—Web servers, file servers, print servers, e-mail servers, DNS servers, and so on. But the experts have said for years that Linux would never make inroads on the desktop. The primary reason: Linux lacked applications that could replace common end-user tools such as the Microsoft Office productivity suite and Intuit's Quicken personal-finance software.

Well, that reason has evaporated. Microsoft Office is facing daunting competition from OpenOffice.org, an open-source software suite that goes head-to-head and often comes out ahead. GnuCash is a worthy replacement for Quicken and QuickBooks.

While this chapter can't possibly do justice to these and other productivity tools, I can introduce them to you and show you that they're prime-time contenders and worthy of your attention.


Editors

Sometimes all you want to do is write a quick little note, and you don't want to fire up a fullblown word processor to do so. Or you want to work with a simple text file, such as a script (see Chapter 14 for more on shell scripts) or another type of program, or an HTML page. Or maybe you've received a mysterious e-mail that looks like spam or a virus, but you're not sure. You don't want to open it in your e-mail client and risk activating the virus or installing spyware or cookies if it ends up being an HTML message. So you can save the e-mail to a file and open that file safely with a text editor.

Another reason for using a simple text editor is to automatically remove unnecessary formatting from a chunk of text. For example, I often open an editing window as a temporary work area. I'll grab a small chunk of something from another application, such as a word-processing file, Web page, or PDF file, so I can print it or pop it into an e-mail, but the data will be formatted with control codes, HTML formatting, or other extraneous and distracting information. That special formatting automatically disappears when I paste the block into a text-only editor, and then cut from the editor and paste it into another application's file.

Windows comes with two basic editors: Notepad, which is still my tool of choice, even though it took Microsoft nearly a decade to add the keyboard shortcut "Ctrl-S" to save a file; and WordPad, which has more formatting features, but also can mess up your data because it can apply its own formatting to files.

Linux comes with a variety of text-file editors, as shown in Figure 1; indeed, the choice of editor is one of the most popular "religious wars" the Linux community engages in (next to the "which distribution" and "which desktop manager" arguments).

Click To expand
Figure 1: Fedora Core provides a number of potential text-file editors through the context menu's Open With command.

Two general classes of editors come with Fedora Core.

The first class includes classic Unix-style editors, such as emacs and vi, which are tools that have been used by programmers for ages. These editors are incredibly powerful, flexible, customizable, and ... can be rather difficult to learn, because they don't rely on keystroke commands common to software that Windows users are accustomed to, such as Ctrl-S to save a file, Ctrl-C and Ctrl-V to copy and paste an object, and so on. If you're a hard-core Windows programmer or administrator and want to delve deeply into the traditional Linux world, you may find yourself inextricably drawn to one of these tools. But for the regular Windows power user, these editors are simply too arcane for me to recommend them, and thus I won't cover them here.

The second class includes the new graphical style of editors, much like Notepad and Wordpad on Windows.

My personal preference is gedit, GNOME's graphical editor, which you can open by clicking Main Menu | Accessories | Text Editor, as well as from the context menu when right-clicking a text file.

Although it's a simple text editor, gedit works like a simple word processor. After starting up, an editing window appears, and the gedit menu above the typing area displays essential text-editing functions in a familiar fashion, as shown in Figure 2.

Click To expand
Figure 2: The gedit menu has common functions arranged in a familiar manner.

Open, Save, and Print are found under the File menu; Cut, Copy, Paste, and Preferences show up under Edit; configuration options (such as turning the toolbar and status line on and off) are found under View; a variety of search mechanisms are under Search; and the Documents menu acts similarly to the Window menu in many other GUI applications.

It has a number of basic, but useful, features that make it my tool of choice for day-to-day scribbling. In fact, I use gedit to quickly scratch out drafts of longer pieces when I don't want to be bothered by (that's polite talk for "distracted by") all of the features of a full-blown word processor. One particularly useful feature is how gedit handles multiple files: Instead of opening multiple windows, it opens each file under a tab in the same main editing window, as shown in Figure 3.

Click To expand
Figure 3: gedit opens multiple files under separate tabs in the same window.

Another handy feature is the asterisk that shows up to the right of the file name in the tab; this happens when the file has been edited and changes haven't been saved. I can never remember the last time I've hit Ctrl-S.

The Tools menu can be a bit confusing at first, because there's nothing there when you first fire up gedit. You can add items to the Tools menu by turning them on in the Edit Preferences | Plugins Manager, as shown in Figure 4.

Click To expand
Figure 4: The Plugins Manager in the Preferences dialog allows you to add functionality to gedit.

Once you select the appropriate plugin, functionality will be available in the Tools menu, as shown in Figure 5. Selecting the Document Statistics plugin adds a Document Statistics menu option, while selecting the Spell Checker plugin adds several items to the Tools menu.

Click To expand
Figure 5: Options in the Tools menu are displayed after you select their respective plugins.

In addition, some of the plugins affect other menus. Selecting the Username and Insert Date/Time plugins causes new menu options to be placed in the Edit menu itself, as shown in Figure 6.

Click To expand
Figure 6: Insert options on the Edit menu are displayed after you select their respective plugins.

Gedit is actually much more than a simple note-taking tool, with a number of configuration options that optimize it to work with formats such as Java, Latex, HTML, XML, and Perl, but those are beyond the purview of this book.

You'll note that while there are nine editors in the list of options in the Open With menu in Figure 1, not all of them are available via the Main Menu. If you want to use one of the other editors, you need to do a couple of things to make it available as an icon on your desktop or your panel.

First, you need to know the command to run the editor, and that may require a bit of spelunking. Generally, the command will be the name of the editor, such as "nedit" or "kate." Then you'll have to find the location of the program itself (the file with that name). It's often in /usr/bin, but if not, there are instructions on how to find a file in Chapter 14, "Under the Hood." Finally, you'll just create an icon on your desktop or panel as described in Chapter 6, "Files, Directory Structures, and File Managers."


OpenOffice.org

Until about two years ago, the major impediment to considering Linux as a desktop operating system was probably the lack of a replacement for Microsoft Office. With the introduction of OpenOffice.org 1.0 at that time, this hurdle was removed.

OpenOffice.org (or "OOo," as it's known) has quickly become the standard open-source office suite around the world (and I don't just say that because we publish several OOo books ourselves!). It's part of every popular Linux distribution, and has the backing of Sun Microsystems, which funded OOo's predecessor, StarOffice, and still provides a great deal of programming support.

The OOo suite consists of several major applications, including a word processor (Writer), a spreadsheet (Calc), and a presentation manager (Impress). In addition, OOo has a drawing package (Draw), a formula editor (Math), and an extremely powerful macro editor and database-access capability. Because there are a number of excellent e-mail clients available on various platforms, OOo doesn't include an e-mail client of its own.

As with text editors, it'd be impossible to cover OOo thoroughly in just this chapter. Indeed, there are a number of books dedicated just to OOo. Solveig Haugland's 1040-page OpenOffice.org Resource Guide (Prentice-Hall) is the ultimate exhaustive resource for using OpenOffice.org, while Tamar Granor's OOoSwitch: 501 Things You Wanted to Know About Switching to OpenOffice.org from Microsoft Office (Hentzenwerke Publishing) addresses OOo in detail from the perspective of an experienced Office user.

However, I can give you a brief tour and point out some of the highlights.

There are several key benefits to using OOo that you need to know right away.

First, OOo is completely cross-platform. And that means truly cross-platform—it works on Windows, Linux, and Macintosh—unlike Microsoft, which uses the term "cross-platform" to mean Windows ME and Windows XP. Because OOo is cross-platform, you can use it on a Linux machine and on a Windows or Macintosh, and the software will read and write the same data files. This is a great feature when you've got a variety of operating systems in your organization, or different OSs at home and at work.

The second key feature is just that—data files. OOo can save files in two different formats —its own native, openly documented file format, as well as the proprietary Microsoft Office formats. And these file formats can be exchanged across platforms too. This means that you have a huge amount of flexibility.

For example, you can write a document in OpenOffice.org Writer on a Linux machine, save the file in OpenOffice.org's .sxw file format, and someone using OpenOffice.org on a Windows or Macintosh computer can open and edit that file. In addition, because the .sxw file format is well documented, other applications can open and reliably work with these documents as well.

The same applies to OpenOffice.org's other file formats—spreadsheets (.sxc), presentations (.sxi), and drawings (.sxd).

OpenOffice.org can also read and write files that were saved in Microsoft's proprietary file formats, so that OpenOffice.org users can exchange files with people using Microsoft Office. For example, you can create a presentation in OpenOffice.org Impress on either a Linux or Windows computer, and someone using Microsoft PowerPoint (on a Windows computer, of course) can open and edit that file.

At Hentzenwerke Publishing, we rely on both of these capabilities. Authors write their original drafts using the tool and platform of their choice—either Microsoft Word or OpenOffice.org, and either Windows or Linux. Chapters then go back and forth through technical editing, and the tech editors use whichever tool and platform they're most comfortable with. The same process is repeated with copy editing and layout; most of our copy editors and layout personnel use OpenOffice.org (on either platform), but occasionally we'll have a freelancer who uses Microsoft Word.

A third benefit to using OpenOffice.org is that you can generate a PDF directly from a Writer document, Calc spreadsheet, or Impress presentation. Starting with version 1.1, OOo has an "Export to PDF" button on the Function toolbar that generates PDF files. These files are good enough that we at Hentzenwerke Publishing generate PDFs that are sent directly to our book printer electronically, and that don't require any manual pre-press work before printing the book.

A similar feature is the ability to export Impress presentations as Macromedia Flash (.swf) files, which you can then run inside a browser without having a separate runtime engine of any sort (except the Flash player plugin).

With these items in mind, let's take a quick tour of OpenOffice.org.

Installation

OpenOffice.org is installed by default with a desktop installation of Fedora Core. If you neglected to install it for some reason, use the Add/Remove Applications menu item under System Settings. Once it's installed, menu items for each of the OpenOffice.org tools will be available under Main Menu | Office, as shown in Figure 7.

Click To expand
Figure 7: The Office menu displays all of the OpenOffice.org tools by default.

Icons for each of the OOo applications are also available in the panel; I've removed all of them except for Writer, because I don't use the others that much, and the real estate on my panel is valuable.

Configuration and Options

As soon as you start creating documents, you're going to want to perform operations—and some of these can be configured to your liking. So before I talk about working with documents, let's spend a moment setting up OOo so that it behaves the way you want.

There are two places to bend OOo's behavior to your will—one is under Tools | Options, where you can control how OOo functions. And it's here that we'll spend our time first.

As soon as you create a document, you're gong to want to save it. The default save path for OpenOffice.org documents is your home directory (for example, /home/whil on my machine). If you're on a network, you might want to change this path to a network drive. Regardless of whether you keep your save path intact, you'll probably want to change a number of other settings immediately. Here are the ones I change every time I install OOo on a new machine.

First, and this is really important, you'll want to set the default file format in which you'll save new documents. During installation, OpenOffice.org asks you which file format (OpenOffice.org or Microsoft Office) should be default, but based on the questions on the OpenOffice.org mailing lists, a lot of people skip by that choice, only to be puzzled by OOo's behavior later.

In the Options dialog, select the Load/Save node and the General subnode, as shown in Figure 8.

Click To expand
Figure 8: Use the Options dialog to choose the default file format for each type of OpenOffice.org document.

Direct your attention to the "Standard file format" controls at the bottom of the General page. You need to specify the default file format for each document type—it's not an all-or-nothing type of choice. Select "Text document" in the list and then choose which type of file format to save new text documents in, using the "Always save as" box. Be sure to read the choices in this box carefully, because some of them look similar, such as "OpenOffice.org Text Document" and "OpenOffice.org Text Document Template."

Once you've chosen the default file format for text documents, highlight the next item in the "Document type" list, change its file format in the "Always save as" box, and continue on for the rest of the document types.

If you choose to save files originally created in Microsoft Office in OpenOffice.org, but using a Microsoft Office file format, you may get a warning the first time you actually perform a save. This warning alerts you to the possibility that some formatting may be lost. This warning appears because the Microsoft Office format is proprietary, and so the OpenOffice.org developers have had to reverse-engineer the file formats in order to create Microsoft Office-compatible files. As a practical matter, you can ignore the warning; it's there "just in case," to warn you about the one-in-a-thousand situation, rather than because you should worry. In practice, I've found that Microsoft Office-formatted files are more compatible with OpenOffice.org than they are with other versions of Microsoft Office!

If you are going to be using the revision-tracking feature of OpenOffice.org (found under Edit | Changes), you might want to set some preferences under the OpenOffice.org node, User Data subnode. If you don't at least enter your name and initials, your changes will appear to other users to have been made by Unknown User, which may or may not be what you intended.

Also under the OpenOffice.org node is the Paths subnode. In this screen you can define where OOo looks for files. You may want to tweak some of these paths depending on your particular needs. I already discussed the default save path—the My Documents type. If you use your own document templates, you may not want to store them in the default location of /usr/lib/openoffice/share/template/english. I don't, because it's a bad idea to keep your own data buried in the bowels of program directories. I keep all of my own templates in a directory on the file server where everyone can access them, and where I can easily back them up.

There are already some templates in the default directory, supplied by the OOo installation. You don't necessarily want to lose access to those; conveniently, you can add your own template path to the existing path. Select the Templates type from the list, click Edit to display the Select Paths dialog, and then click Add. Use the file drill-down box to select the folder you want to add to the path. See Figure 9.

Click To expand
Figure 9: You can add your own template directory to the template path.

I tend not to mess with the rest of the options because they're generally set to the way I work. You should scan through them to see if there are specific settings that you want to change to your preferences.

Configure

The other mechanism you can use to configure OOo is located under Tools | Configure. Here you can customize the appearance of the OOo screen interface and how the keyboard works. You can determine what toolbars are visible, what buttons they have on them, what keyboard shortcuts do what, and even customize the existing menus and create your own menus.

Again, I try not to spend too much time customizing, because that fine-tuning becomes an impediment if I have to work on someone else's machine. There are only two changes I make. The first is to modify the Function toolbar (it's the one with the icons for New, Save, Print, and so on—you know, commonly used functions) at the top of the OpenOffice.org desktop. I add buttons for Document Properties and Insert Graphics because when I'm writing, I use those functions a lot. I also change the mapping of a couple of keyboard shortcuts to represent operations I do a lot.

To add a button to the Function toolbar, select Tools | Configure (or right-click anywhere on a toolbar and select Configure). Select the Toolbars tab of the Configuration dialog, highlight the Function Bar item, and click the Customize button on the right to open the Customize Toolbars dialog. Scroll down through the "Available buttons" list on the left to the Insert node, and then highlight Insert Graphics as shown in Figure 10.

Click To expand
Figure 10: Adding a button to a toolbar.

Note that you can also remove a button from a toolbar in two ways. The first is to simply uncheck the check box. The button will stay in the list but won't appear on the toolbar. This technique is handy for temporarily hiding a button. If you're darn sure you don't want the button again, you can highlight the button label in the "Buttons in use" list and then click the Remove button. (You can get it back by adding it from scratch, as I described earlier when discussing the Insert Graphics button.)

I use the Edit | Repeat command a lot, but I don't like using the keyboard or mouse to do it. I'd rather just hit a function key. So I reassigned F12 to execute the Edit | Repeat command. The interface for reassigning keys is a little awkward. In order to modify a keyboard shortcut like this, open the Configuration dialog via the Tools | Configure menu option, and then select the Keyboard tab.

Next, in the "Shortcut keys" list, highlight the key you want to assign to a command. On the right side of the list, you may see a command already assigned to the key. Use the Functions area in the bottom half of the Keyboard tab to select the command you want to assign. First, select a category from the Category list (in this example, that would be Edit). The choices that appear in the Function list change according to which category you select. Then select a function (in this example, that would be Repeat). The Configuration dialog looks like Figure 11 at this point.

Click To expand
Figure 11: Assigning the Edit | Repeat command to the F12 key.

Finally, click the Modify button, and you'll see two things. First, the key you selected (in this example, F12) will appear in the Keys list. Second, the F12 key will have a command associated with it in the "Shortcut keys" list in the top half of the Keyboard tab. See Figure 12.

Click To expand
Figure 12: The newly assigned F12 key now will execute the Edit | Repeat command.

You can perform similar modifications to the menu and to the status bar by using other tabs in the Configuration dialog.

The OpenOffice.org Interface

The OpenOffice.org interface looks pretty much like any other graphical office suite, with a menu and one or more toolbars above the work area, whether that space is a writing area, a grid of spreadsheet cells, or a presentation or drawing canvas.

OpenOffice.org features an additional toolbar, called Main, which resides to the left of the work area. Its specific functions vary according to which kind of application you're working in. In Calc, the icons in the Main toolbar provide one-click access to functions such as Insert, Insert Cells, Insert Object, Spell Check, Find, Filter, and Sort. In Writer, however, the icons represent different functions, such as Insert Table, Insert Auto Text, Spell Check, Find, Show Nonprinting Characters, Show Graphics, and Show Online Layout.

Some menu items are disabled depending on which functions are selected in the various toolbars. For example, if you have selected Show Online Layout, your document will appear as one long document without page breaks—as if you were typing on a roll of towels. In this mode, you can't do a print preview.

While there seems to be a zillion (plus or minus a couple) icons, menu options, functions, and other goodies in the OpenOffice.org suite, implementations of two specific functions bear special mention.

The last two icons in the standard Function bar are the Navigator (a spiral-shaped star) and the Stylist (a finger pushing one of two buttons). I'll cover the Stylist first because one of its features is used with the Navigator.

The Stylist

If you're not familiar with styles and templates, a brief sojourn is in order, and will be well worth your while. A paragraph style is a collection of formatting attributes that are given a single, specific name. For example, you could create a custom look for a paragraph that specified a 28-point font, bold, and left-aligned. Instead of manually applying those attributes to each paragraph that you wanted to look like that, you just apply the style to a paragraph, and voila! The paragraph now has all those attributes. Even better, should you decide that all of those paragraphs should really be 30 points instead of 28, you only have to change the style, and the paragraphs themselves will automatically inherit the new attributes. The name of each chapter in this book has a style called "_chaptertitle" that has those attributes.

You can create a special type of document called a template that contains a group of styles—for example, the template used for this book has styles for various levels of headings, paragraphs that directly follow a heading, body paragraphs, figure captions, and so on. Using a template makes it a lot easier to create a long document (or multiple documents) because you can simply apply a style to a paragraph and you know it will be consistent with all of the other paragraphs formatted with the same style.

The Stylist is a tool that helps you use styles (either native OpenOffice.org styles or your own) in your documents. Clicking the Stylist button (or selecting Format | Stylist, or pressing F11) displays a list, as shown in Figure 13.

Click To expand
Figure 13: The OpenOffice.org Stylist displays a list of available styles.

The first time you look at the Stylist, you might think it has an unusual interface. It displays the styles native to OpenOffice.org in a collection called "Automatic" in the list box that makes up the majority of the window. At the bottom of the window is a drop-down box that contains a list of all style collections, including one called "Custom Styles."

If you have applied a template (which works much like a Microsoft Office template) to the document, the Custom Styles collection lists all of the styles in that template. You can use the drop-down box to switch to the Custom Styles collection and see all of those styles. Then you can select a paragraph in your document and apply a custom style to it by double-clicking the style name, as shown in Figure 14.

Click To expand
Figure 14: You can apply a specific style to a paragraph by using the Stylist.

Once a style is applied to a paragraph in the document, the style name shows up in the Apply Style box at the far left of the Object toolbar. In Figure 14, "_chaptertitle" is the name of the style applied to the "Chapter 7" paragraph in the document.

The Applied Styles collection shown in Figure 13 is a handy reminder—it shows you just the styles that are being used in the current document. These styles are also the only ones that appear in the Apply Style box in the Object toolbar, by the way.

The Navigator

Now on to the Navigator, possibly my favorite writing aid in OpenOffice.org. Clicking the Navigator button (or selecting Edit | Navigator, or pressing F5) displays a dialog as shown in Figure 15.

Click To expand
Figure 15: The OpenOffice.org Navigator displays an outline of a variety of objects in a document.

The Navigator is a separate window that displays an outline of a variety of objects in a document. For example, every image inserted into a document is listed under the Graphics node, while each URL is listed under the Hyperlinks node. Of particular usefulness to me is the Headings node. Each object marked with a heading style (as identified in the Outline Numbering dialog) will be displayed in an indented outline format under the Headings node.

This can be a bit tricky to implement, so let me explain a bit further. An OpenOffice.org document can have up to 10 levels of numbering, and you can assign a particular style to a level of numbering. By default, an OpenOffice.org document uses its own styles for headings, "Heading 1" through "Heading 10," and these headings are also assigned to a level in the Outline Numbering dialog. Thus, assigning one of these styles to an object (typically a paragraph heading) will cause that object to be displayed and indented to the appropriate level in the Navigator. The document in Figure 16 uses several native OpenOffice.org styles.

Click To expand
Figure 16: The Navigator shows paragraphs assigned to an outline numbering level in an indented fashion.

The heading "Paragraph 1 Heading" uses the "Heading 1" style, as you can see in the Apply Style box at the far left of the Object toolbar. The heading "Subparagraph 2 Heading" uses the "Heading 2" style. In the Navigator, then, you can see "Paragraph 1 Heading" is not indented under the Headings node, while "Subparagraph 2 Heading" is indented one level.

You may want to use your own styles instead of relying just on the native OpenOffice.org styles. You assign these styles to outline numbering levels in the Outline Numbering dialog (select Tools | Outline Numbering) as shown in Figure 17.

Click To expand
Figure 17: Use the Outline Numbering dialog to map outline numbering levels to specific paragraph styles.

Clicking a number in the Level list on the left side of the dialog displays the attributes assigned to that level. In Figure 17, Level 1 is assigned to Paragraph Style "_subhead 1," the style we use for major headings in our chapters. You can see that we assign styles "_subhead 2" through "_subhead 4" to levels 2 through 4 in the list on the right side of the dialog.

The result is that you can see an outline of your document via the indented headings under the Headings node in the Navigator. This is much like the Outliner tool in Microsoft Word, although as I've used it, I've decided it's actually more flexible than Word.

In addition to seeing the big picture of your document, you can actually move to a spot in your document simply by double-clicking the desired item in the Navigator. This works not only for items under the Headings node, but for items under any node—graphics, URLs, bookmarks, and so on. Very handy.

You can control how many levels of outline are displayed by right-clicking in the Navigator and selecting Outline Level, and then choosing how many levels you want to view, as shown in Figure 18.

Click To expand
Figure 18: You can choose how many levels of headings to display in the Navigator.

There is much more to the Navigator than I've covered in this short discussion, but I hope I've whetted your appetite enough to prod you to explore further on your own.

Creating, Printing, and Saving Documents

You can start a new document, spreadsheet, presentation, or other OOo file by clicking the appropriate menu item in the Main Menu. A subtle trick is that once you have any type of OOo document open, you can create a new document of any type through the File | New menu. See Figure 19.

Click To expand
Figure 19: The File | New menu in all OOo applications provides the ability to create any type of OOo document.

Creating a document, whether it be a word-processing document, a spreadsheet, or a presentation, works pretty much as in other office suites. Some of the functions are in different places, and some of the processes work somewhat differently. But the basics—typing in text, making it bold, changing the font and the size, building formulas, spell-checking, inserting graphics, and so on—can be figured out by anyone who can read the tooltips on the toolbar buttons.

Once you've created a document, you might want to print it. And you're definitely going to want to save it. File | Print (Ctrl-P) and File | Save (Ctrl-S) work just like you'd expect them to.

As I said earlier, there isn't enough room in even a thousand-page book to completely do justice to OpenOffice.org. The purpose of this section, rather, was just to show you that Linux offers a viable competitor to Microsoft Office.


KOffice

The KDE desktop environment has long been accompanied by its own desktop suite, KOffice. Comprised of a half-dozen tools, similar to OpenOffice.org, KOffice also sports a "control center" called the KOffice Workspace, which acts as a launching pad for all of the KOffice applications, as shown in Figure 20.

Click To expand
Figure 20: The KOffice Workspace acts as a launcher for the KOffice applications.

The menu and toolbars change according to the type of document you're working on. For example, when you've got a KWord document open, the menu choices include Format, Frames, and Table; when you've got a Kontour drawing document open, the menu choices change to Layout and Style. Under the Settings menu, you can choose which objects you want to display, and that list of objects again changes according to which type of document you're working on. KWord settings include the Table, Insert, Paragraph, Format, Borders, and Formula toolbars, while Kontour includes a few of the same toolbars but also panels for Layer, Outline, Paint, and Transformation.

At the same time, common functions such as Save, Print, Edit, and View are all located in the same place in the menu regardless of which application you're using.

A nice feature of the KOffice Workspace is that once you have opened at least one document, all of the KOffice documents appear in the Documents work area, as shown in Figure 21.

Click To expand
Figure 21: Clicking the Documents bar in the KOffice Workspace displays a list of open documents across all of the KOffice applications.

If you want to switch back to the applications, click the Parts bar above the Documents bar on the left side of the workspace.

Probably the biggest impediment to widespread adoption of KOffice is that, while it can read Microsoft Office files, it can't save in Microsoft Office formats. Funny enough, it will save in many other formats, including WordPerfect, Lotus AmiPro, Rich Text, AbiWord, and a variety of plain-text formats. As a result, KOffice isn't a good choice if you exchange documents with folks using files formatted with Microsoft Office file formats (which is nearly everyone).

The KOffice documentation is generally excellent, although there are a couple of places where it's missing from the original distribution. In those cases, the help file presents a page that directs you to the KDE Web site for documentation updates.


Gnumeric

Gnumeric is a widely popular, open-source spreadsheet application that is found on many Linux distributions—including, of course, Fedora Core. To load Gnumeric, select Main Menu | Office | More Office Applications | Gnumeric Spreadsheet (see Figure 22).

Click To expand
Figure 22: Gnumeric is a popular open-source spreadsheet application.

Not as functionally rich as OpenOffice.org's Calc or even KOffice's KSpread, Gnumric has nonetheless won a wide following for its no-nonsense, "just the important stuff" design. And Gnumeric's development team has won kudos for responsiveness; when their implementation of important statistical functions was found to be buggy, the team fixed them within a few weeks; contrast that with Microsoft Excel, which has carried the same bugs through several major releases over half a decade. (See http://www.csdassn.org/software_reports/gnumeric.pdf for details.)

As with other applications, one of the first things you're going to want to do is set up some preferences. Select Format | Gnumeric to open the Gnumeric Preferences dialog (Figure 23).

Click To expand
Figure 23: You can set a variety of preferences to customize Gnumeric spreadsheets.

Personally, I like to see lots of data on the screen at once, so I change both the size of the sheet and the fonts for the default, so that I don't have to change them for each new spreadsheet I create.


GnuCash

After questions about running Microsoft Office on Linux, the next question many people have is "Can I run Quicken on Linux?" The strict answer is "no," because Quicken is a Windows product. However, that doesn't mean that you're out of luck, any more than you're out of luck buying a car because the General Motors dealership you're visiting doesn't sell Ford Escorts. If you're looking for automotive transportation, that GM dealership still has plenty of options.

Similarly, the personal finance software option on Linux is the highly regarded GnuCash, which you can find under Main Menu | Office | More Office Applications.

The first time you run GnuCash, you'll be offered the opportunity to import your personal finance files in QIF format, as shown in Figure 24.

Figure 24: You can import your QIF files the first time you run GnuCash.

Quicken Interchange Format files, used by Quicken, QuickBooks, Microsoft Money, and a number of competing personal finance programs, can be imported by GnuCash either during the initial setup or later, by using the File | Import | Import QIF menu option.

If you're new to GnuCash, or if you'd like to learn how it works, and how it differs from the personal finance program you're currently using in Windows, you may decide to (gasp!) read the instructions. While open-source software routinely gets a bum rap with respect to its documentation, you'll find GnuCash to be a breath of fresh air—the online documentation is well written and chock full of help, as shown in Figure 25.

Click To expand
Figure 25: The GnuCash help file is well written and packed with information.

At the same time, the program is wonderfully laid out and well designed. For example, the New Account Wizard walks you through the tasks of creating accounts (similar to "Categories" in Quicken), as shown in Figure 26.

Click To expand
Figure 26: The New Account Wizard walks you through the creation of new accounts.

For example, Figure 26 shows the selection of two sets of accounts. The first set, "A Simple Checkbook," contains the minimal set of accounts required to use GnuCash, such as a checking account. The second set, "Common Accounts," includes a fairly wide variety of typical household accounts. Figure 26 shows a few of the accounts, including typical household utility expenses. Once your accounts are set up, you'll probably want to assign initial values to them, and the Wizard's last step prompts you to do so, as shown in Figure 27.

Click To expand
Figure 27: The last step in the New Account Wizard prompts you to set up initial balances.

For the sake of example, I skipped down to the very bottom of the list of accounts and entered a checking account balance of $1,425.00.

Once you're done with the New Account Wizard, the main window of GnuCash opens—the one you'll be working with most of the time. As you can see in Figure 28, it lists your accounts and the current balance.

Click To expand
Figure 28: The main screen of GnuCash lists your accounts.

From there, you'll enter scheduled transactions through options under the Actions menu, and generate reports via options under the Reports menu. To work with the register for a particular account, select the account in the main screen, as shown in Figure 29.

Click To expand
Figure 29: Opening a specific account in the main screen.

You can then open the register for that account, either by double-clicking the item, or right-clicking and selecting Open Account. You'll then work with transactions in the register, as shown in Figure 30.

Click To expand
Figure 30: The register screen for an account displays the details for that account.

Of course, you'll want to read the documentation for the details. It's your money, after all.


Summary

Usable desktop applications have been the sticking points that have kept people from using Linux as a day-to-day computing environment. Fedora Core includes a wide variety of common office and productivity applications that enable a typical Windows power user to move from their Windows applications to compatible Linux tools with a minimum of fuss and bother. Linux is now truly ready for the desktop.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 9: Fedora Core Utilities

Overview

There is a breed of human being that insists on collecting tools that can only be used for the most arcane and specialized of purposes. Some folks have a workshop, garage, or kitchen that holds tools that were used only once, seven years ago, for one particular project. These are the people who insist on a quid pro quo—if you're going to make me do another home repair project, my price is that I get to visit the hardware store with our joint checkbook. For these types of folks, a popular Linux distribution like Fedora Core is a veritable paradise, because it includes more software tools than they'd ever be able to use in one lifetime. This chapter takes a look at some of the more popular tools available with Fedora Core.

Some Windows zealots point to the variety and abundance of programs as a significant reason for using Windows over another operating system. While in some situations this claim has merit—for example, there are more vertical market applications such as dentist office billing software or freight rate calculation tools—in the area of utilities and system tools, there's really no point. There may be 250 utilities to edit an icon on Windows and only a dozen for Linux. Do you really need 250 "me-too" programs to sort through? At some point, the time-consumingness of monotonous redundancy overrides the usefulness of choice and variety.

Linux is entering a stage where Windows was a number of years ago: There's enough critical mass and a growing body of ordinary users that people find it rewarding to write end-user software and distribute it for public use. We're now at that exciting stage in which power users will become a louder and louder voice, expecting and demanding software to be well designed, easy to install, and reliable. Many of these tools have become part of popular distributions: Consider File Roller (the Linux equivalent to WinZip), and xpdf (an open-source replacement for Adobe Reader).

Let's take a look.


File Roller

File Roller is a GUI tool that performs file-compression and archiving functions.

In the olden days, file-compression software was a required utility if you were sending files electronically via modems in order to reduce the time (and money) spent online. While file compression isn't quite as important as it used to be, due to the increased pervasiveness of high-speed connections, it's still useful, particularly if you've graduated to sending huge files across the Internet.

An archive is a collection of files put into one file. The files can all be in one directory, or they can span multiple directories and subdirectories. Archives are probably more useful now than in the past, as it seems that everyone has a hard disk full of files that they rarely use, but don't dare delete altogether. An archive doesn't have to be compressed, but it often is.

Linux has long had a number of command-line tools that perform these functions, such as tar, zip, gzip, and bzip2. However, each of these requires its own syntax, and a misstep can end up ruining files. File Roller provides a friendly and more foolproof front end for these utilities.

Unlike Windows, where compressed and archived files all end up as ZIP files, each of these Linux functions has its own file format. In addition, when you combine the two functions, the result ends up with either a combination of the two inputs, or a third file format altogether.

Formats

Archive file extensions generally end in "ar". For example, the most common Linux archive format, a tar archive, has an extension of ".tar". ZIP files created on a Windows machine have a ".zip" extension (and can be read by File Roller), while tar archives compressed with gzip carry either a ".tgz" extension or a double extension of ".tar.gz". The File Roller help file lists the archive file formats and matching extensions, which are shown in Table 1.

Table 1: Formats of common Linux archive and compressed files.
Format | File Name Extension
ARJ archive | .arj
Enterprise archive | .ear
Java archive | .jar
LHA archive | .lzh
Resource Adapter archive | .rar
Uncompressed tar archive | .tar
Tar archive compressed with bzip | .tar.bz .tbz
Tar archive compressed with bzip2 | .tar.bz2 .tbz2
Tar archive compressed with gzip | .tar.gz .tgz
Tar archive compressed with Izop | .tar.lzo .tzo
Tar archive compressed with compress | .tar.z .taz
Web archive | .war
PKZIP or WinZip archive | .zip

Note that the Java archive "formats" (JAR, WAR, and EAR) are just ZIP files with different names. You don't need special tools to work with them.

In other words, you can create an archive without compressing the files in it. The result would be simply an archive file, such as YourArchive.tar. Or you can also compress the files by using a tool such as gzip, in which case the result would be a compressed archive, such as YourCompressedArchive.tar.gz. But you can't just compress a file without creating an archive with File Roller (but you can do it with a compression tool using the command line, of course).

Using File Roller

You can use File Roller to perform two opposite functions. The first is to create an archive, optionally compressing the files during the archive process. Naturally, the second is to extract files from an archive.

Creating Archives

Run File Roller by clicking Main Menu | Accessories | File Roller (see Figure 1).

Click To expand
Figure 1: The main File Roller screen before adding files to an archive.

To create an archive, the first thing you do is create an archive. Ho, ho, ho. Just love saying that. With WinZip, you can create archives on the fly after selecting a bunch of files, or by creating an archive file, sort of as an empty shell. With File Roller, you don't have both options; you need to create the archive file first. Then you add files to it.

To create the archive file, first click the New button on the toolbar (select Archive | New from the menu, or press Ctrl-N) to open the New Archive dialog. Enter a name for the archive file, and then select the type of archive by opening the Archive Type combo box, shown in Figure 2.

Click To expand
Figure 2: You can select the type of archive to create via the Archive Type combo box in the New Archive dialog.

If you enter an extension with the name of the archive, keep Archive Type set to "Automatic," and File Roller will automatically determine the archive type from the extension you're using. If you choose an archive type, don't include an extension with the file name, and the appropriate extension will be added to the archive once it's created. In either case, click OK to return to the main File Roller dialog, as shown in Figure 3.

Click To expand
Figure 3: A newly created archive file before files are added to it.

You can see the name of the archive in the title bar. In Figure 3, the archive is named "SampleArchive.tar.gz". If you decide to abandon the archive process before adding files to the archive file, File Roller will delete the newly created archive file.

Now that you've got an archive file started, add files to it. Click the Add button in the toolbar (or use the menu, or a keystroke combination) to open the Add Files dialog, shown in Figure 4. You can also drag files from Nautilus into File Roller.

Click To expand
Figure 4: Selecting files to add to an archive.

In Figure 4, I've highlighted three of four files in the directory /home/whil/RollerStuff. Clicking the OK button will add those files to the archive, resulting in a main File Roller dialog, shown in Figure 5.

Click To expand
Figure 5: An archive after files have been added to it.

Note that in Figure 2 you could have selected a simple archive, without compression, such as the "tar uncompressed (.tar)" option. Doing so would have resulted in a file named SampleArchive.tar.

Once you've added files to an archive, the disabled options in Figure 4 become available. You can choose from a variety of advanced options. For example, you can choose just certain files, according to file name masks (such as *.txt to add just files with a .txt extension) that you enter in the Selection text box. Another option is to add files only if there isn't a newer version already in the archive.

You can also choose to exclude files that match a file name mask (for example, *.zip, in order to exclude other compressed archives), and direct File Roller to ignore case when dealing with file masks.

File Roller will drill down through a subdirectory structure if you select the "Include subfolders" check box. If you do this, the resulting display can be confusing. For example, suppose there was a directory under "/home/whil/RollerStuff" named "RollerSubdirectory." If you create an archive and include that subdirectory, the File Roller window will look like Figure 6.

Click To expand
Figure 6: The default view for archives that contain subdirectories is to display the folder itself, not the contents.

When an archive includes subdirectories, its main window displays the folder itself, not the contents (the files) of the folder. This is File Roller's default behavior. I don't care for this, because I rarely care about folders more than I care about their contents. You can change the view by selecting View | View All Files. Doing so will change the display of the File Roller window, as shown in Figure 7.

Click To expand
Figure 7: Selecting View | View All Files displays them in an archive, regardless of directory location.

The nice thing about the view in Figure 7 is that you get the best of both worlds. You can see the files themselves, but you also see the directory location in the last column in the window. In Figure 7, you can see that the file "EvenMoreImportantDataFile.txt" is in the "RollerSubdirectory" directory, as expected. Note that the "/" in the Location column indicates that a file is in the root of the archive, not the root directory of the file system.

Extracting Files

Now, how about the reverse—extracting files from an archive?

If the archive file was created with File Roller, regardless of which type of archive and/or compression, you can use File Roller to extract one or more files. Run File Roller by clicking Main Menu | Accessories | File Roller, and you'll see the main screen as shown in Figure 1.

Next, click the Open button (or select Archive | Open, or type Ctrl-O), and select the archive file you want to work with. File Roller will show the archived files, similar to Figure 5.

Select the files you want to extract, and then click the Extract button (or Edit | Extract To, or Ctrl-X, or right-click and select Extract To) to see the Extract dialog, shown in Figure 8.

Click To expand
Figure 8: The Extract dialog allows you to specify where and how to extract files from an archive.

The first thing is to specify where you want to extract the files. Note that the default action is "Re-create folders." This means that if you're working with an archive including files that were originally archived with a directory structure, that folder structure will be re-created when you extract the files.

You may want to consider whether or not you want to re-create that structure. For example, I often get files from authors who have included the original path to their files with the archive. I don't want to dig through a directory structure four or five levels deep, so I uncheck the "Recreate folders" check box before extracting the files. How do you know if someone has included the directory structure? If you have selected the "View | View All Files" menu option in the File Roller main window, you'll quickly see if there are any directories to deal with.

You are not limited to using File Roller on archives that were created using Linux programs. You can extract files from a PKZIP or WinZip compressed archive using File Roller, and you can usually use those (and other) Windows programs to extract files from File Roller archives.


KAlarm

Not all Linux utilities are as involved as File Roller. KAlarm is a simple alarm-clock utility that comes with the KDE desktop environment. It runs in its own window on the desktop. To open it, select Main Menu | Accessories | More Accessories | KAlarm (see Figure 9). Selecting the Actions | New menu option (or pressing the Insert key) opens the New Alarm dialog, shown in Figure 10.

Click To expand
Figure 9: The KAlarm main window.
Click To expand
Figure 10: Creating a new alarm so I don't leave the laundry in the washing machine overnight.

In Figure 10, I have created an item that will pop up a window in an hour and five minutes, reminding me to throw the current load of wet laundry into the dryer. Once an alarm has been created, the alarm list looks like Figure 11.

Click To expand
Figure 11: The KAlarm window with an activated alarm.

A number of customization options are available. You can specify a file to open or a command to run instead of just displaying a window; you can require an acknowledgment to be entered before the alarm is dismissed; and you can control the repetition (or lack thereof) in a variety of ways. The controls on the Recurrence tab are enabled if you select the Recur option button in the Repetition option group; these controls allow you to determine how often the alarm is repeated as well as when the recurrence will end.


KArm

As a software developer, I think that probably every one of my friends and acquaintances has created their own custom time and billing package so that they can track their time and then send accurate invoices to their customers.

In the same batch of utilities as KAlarm is KArm, a simple time tracker. Before you drive yourself crazy trying to figure out what acronym or hidden meaning is behind the name, relax—the word "karm" means "work" in the native language, Punjabi, of the author, Sirtaj Singh Kang. You can start KArm by clicking Main Menu | Accessories | More Accessories | KArm. Figure 12 shows the KArm window with several tasks entered.

Figure 12: The KArm window with several tasks and subtasks.

You can enter a combination of top-level tasks (such as "Linux Transfer for Power Users"), subtasks, such as "Chapter 8—Productivity," and then cascade subtasks (such as the File Roller, KAlarm, and KArm tasks) under the "Chapter 9—Utilities" task.

To create a task, select a menu option under Task—"New" or "New Subtask" as appropriate. You can create subtasks under the currently highlighted task in the KArm window. The same dialog allows you to edit the task name as well as get a running start on the time spent on the task. For example, selecting Task | Edit will open the dialog shown in Figure 13.

Figure 13: Use the same dialog to enter and edit a task or subtask.

The two option buttons, "Edit absolute" and "Edit relative," can be confusing. They're used for adding time that has already elapsed to a task that you've just created. "Edit absolute" allows you to replace whatever values are already there with values you enter, while "Edit relative" allows you to add more time to an existing amount. For example, in order to create Figure 12, I created a task for Chapter 8, and then entered an absolute time, 23:51, into the task. However, I had turned on the KArm task about seven minutes after I started working. Thus, to get the 12-minute value in Figure 12, I entered 5 minutes in the "Edit relative" boxes.

Once you've set up a task, you'll want to start the timer against a specific task. . The easiest way is to simply click the task or subtask. When you do so, a little clock will appear to the left of the elapsed time, as shown in Figure 14.

Figure 14: A clock face appears next to the currently active task.

When you want to switch from one task to another, just click that new task—you can't have the timer running on more than one task at a time.


PDF Viewers

Adobe Acrobat's PDF (Portable Document Format) file format has become a de facto standard in the world of exchanging read-only documents. With hidden information problems that can accompany Microsoft Word coming to light over the past year, people have been turning to PDFs as a means of providing information in a safe, non-alterable format.

I've already mentioned that OpenOffice.org has a built-in PDF-creation capability that's accessed by a button on the main toolbar. But that's for creating PDFs. Once you have a PDF, how do you read it?

Fedora Core ships with not one, not two, but four different PDF viewers. Although the PDF file format has been published so that third parties (like OpenOffice.org) can create PDF files as well as read them, the format continues to evolve; as of this writing, version 6 is the most recent. And even earlier versions have a variety of features that may not work in a specific reader. In addition, not all of the readers that come with Fedora Core have been kept up to date.

As a result, different readers may have better luck with different PDF files. If you have trouble with one PDF viewer, you may want to try a different one for better results.

The four viewers are Ghostview, Kghostview (KDE's PDF viewer based on Ghostview), xpdf, and GNOME PDF Viewer, which is based on xpdf. The Ghostview viewers that ship with Fedora Core are a little long in the tooth and often don't display recent PDFs correctly, if they can open them at all.

The xpdf-based viewers are much more robust, handling PDFs created with Adobe Acrobat and OpenOffice.org perfectly. Figure 15 shows GNOME PDF Viewer with a 300-page PDF created with Adobe Acrobat, while Figure 16 shows xpdf displaying a PDF created with OpenOffice.org running on Linux.

Click To expand
Figure 15: A PDF created with Adobe Acrobat and viewed with GNOME PDF Viewer.
Click To expand
Figure 16: xpdf displays PDF files in a rather sparse interface.

Both GNOME PDF Viewer and xpdf are available through the Main Menu | Graphics menu on Fedora Core, as well as through the "Open with..." context menu in Konqueror. Nautilus displays only the GNOME PDF Viewer choice on its "Open with..." context menu.


Preference Applets

The Preferences menu has a number of handy applets that help you customize your system. Here are four that I find useful: Control Center and Keyboard Shortcuts (under the Preferences menu) and CD Database, and Sessions (under the More Preferences menu).

The Control Center (see Figure 17) is somewhat similar to the Windows Control Panel; it provides a one-window point of access for user preferences. If you're spending a bunch of time tuning your preferences, use this window instead of opening the Main Menu over and over.

Click To expand
Figure 17: The Control Center provides one-stop shopping for all user preferences.

The Keyboard Shortcuts applet is great. With it, you can configure a variety of keyboard shortcuts for specific Desktop and Window Management actions, as shown in Figure 18.

Click To expand
Figure 18: With the Keyboard Shortcuts applet, you can define your own accelerations for actions you perform often.

For example, scroll through the Window Management actions until you get to the "Switch to workspace 1" action, which is undefined by default. Simply press the keyboard shortcut you want to use for this action; I use <Control>1 and <Control>2 for switching between the two workspaces I have defined on my desktop.

The CD Database applet, shown in Figure 19, allows you to point your machine to a database for fetching song information that is used by Grip and other CD rippers. (See the Config | DiscDB | Primary Server tab to see where it's used.)

Click To expand
Figure 19: The CD Database applet allows you to point to your preferred online music database.

The fourth applet is the Sessions preference tool. It allows you to specify which applications to start when you start a session, and whether or not you want to save and restore the state of the currently open applications on your desktop the next time you start up.

The Session Options tab, shown in Figure 20, has several useful options. The first is "Prompt on logout," which means that you'll be greeted with a confirmation dialog when you end a session. This dialog has a "Save current setup" check box that allows you to manually save the current session's settings, subject to the "Automatically save changes to session" option discussed next.

Click To expand
Figure 20: The Session Options tab allows you to control a number of attributes about system startup and shutdown.

Another option on the Session Options tab, "Automatically save changes to session," saves the state of the session when you log out, without you needing to do anything. If this option is selected, the "Save current setup" option on the logout confirmation dialog isn't displayed.

The Current Session tab, shown in Figure 21, allows you to specify the order in which various applications are started, as well as additional properties. This is an advanced tab and you probably don't want to mess with it while you're getting started.

Click To expand
Figure 21: The Current Session tab contains advanced options; come back to this after you've gotten more seasoned with Linux.

The Startup Programs tab, shown in Figure 22, allows you to list what programs are started up automatically. Figure 22 shows what the list looks like after The GIMP has been added. The one downside of this dialog is that you aren't given a friendly navigation tree through the Main Menu, as with other tools. Instead, you have to know the name of the program you want to add, and then navigate to its location (probably in /usr/bin.)

Click To expand
Figure 22: The GIMP has been added to start up automatically.


System Tools Applets

The Preferences menu isn't the only place where Fedora Core keeps its goodies. The System Tools menu has several as well.

The Hardware Browser allows you to look through the hardware on your system. To do so, select Main Menu | System Tools | Hardware Browser. You'll be asked for the root password, and then the Hardware Browser dialog will appear with a list of hardware and drivers. Some screens have additional information. The Hard Drives screen also shows you the amount of disk space used, as shown in Figure 23.

Click To expand
Figure 23: The Hardware Browser provides information about hardware and drivers.

When posting a query for help on various electronic forums and lists, one frequent suggestion is to "check the logs." So where are these "logs" and how does one "check" them? The System Logs viewer, accessible via Main Menu | System Tools | System Logs (you'll need to enter the root password) provides access to logs that are created by various applications on your system, as shown in Figure 24.

Click To expand
Figure 24: The System Logs viewer shows details for the last seven days.

The System Logs viewer shows only the logs that exist on your system; if your system doesn't have the same applications as mine, the logs available on your system may vary.

You can set your own preferences for the log files through the Edit | Preferences menu option in the System Log viewer. The Log Files tab, as shown in Figure 25, allows you to point the System Logs viewer to a specific path and file name for each log.

Click To expand
Figure 25: The System Logs Preferences dialog allows you to add your own logs and point to different locations for existing logs.

Suppose you have another application that generates log files. You can add those to the System Logs viewer by clicking the Add button in the Log Files tab of the Preferences dialog.

When a log file becomes large, it can be easy to miss a line that points out a specific alert or warning. The Alerts and Warnings tabs of the Preferences dialog allow you to specify an icon beside log file lines that contain words or phrases of your choice. Thus, a line in a log that contains a specific user name or module name could be easily spotted.

Back in Chapter 5, I discussed the System Monitor that comes with GNOME. There is another system monitor that displays much of the same information, but in a different interface that's pretty interesting. Find it under Main Menu | System Tools | More System Tools | GKrellM System Monitor; it looks like Figure 26.

Figure 26: The GKrellM System Monitor.

Despite its minuscule size, the GKrellM monitor has a lot of information packed into it. It's actually a combination of many monitors all stacked on top of each other, and you can choose which monitors you want to display. Right-click on the title bar (where it says "freedom" in Figure 26) or press F1 when the monitor window is active, and you'll see the GKrellM Configuration screen, as shown in Figure 27.

Click To expand
Figure 27: The GKrellM Configuration screen allows you to control which monitors are included, as well as to set additional parameters for them.

You can also configure the appearance of each monitor that has a graphical display by right-clicking the monitor in question. For example, right-clicking above the "Disk" label in Figure 26 opens the GKrellM Chart Config dialog, shown in Figure 28.

Figure 28: The GKrellM Chart Config dialog is used to configure the display attributes of the monitor.

Note that you can also configure the display of the entire monitor by selecting the General option in the Monitors list in the GKrellM Configuration dialog.

With today's hard disks ranging from 40 GB to 120 GB or more, one would think that running out of disk space would be the last thing on one's mind. However, one advantage of Linux is the ability to run on older machines that have small hard disks where disk space is at a premium. The KDiskFree monitor allows you to see at a glance how your disk space is faring. Open the monitor via Main Menu | System Tools | More System Tools | KDiskFree, and you'll see the monitor as shown in Figure 29.

Click To expand
Figure 29: The KDiskFree monitor displays space usage for each storage device attached to the system.

There are separate displays for each storage device attached to the system, including mounted drives. You can configure the update frequency and the mount commands by clicking Settings | Configure.


Summary

This list doesn't even scratch the surface—a quick look at the /usr/bin directory shows hundreds of programs. However, many handy Linux utilities don't have a GUI interface. In Chapter 14, "Under the Hood," I'll discuss how to use a shell window and run more utilities from the command line.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 10: Digital Images

Overview

Working with digital images is the newest mainstream application for the personal computer, and Linux has a variety of tools to help you do so. In this chapter, I cover a range of applications that will help you download pictures from your digital camera, capture screen shots of your computer's monitor, or draw freehand (should that be "freemouse"?). Then I'll show you how to modify the results to suit your needs, and finally, view those images either one at a time or in a slide show.

I love my digital camera. With a houseful of kids who are involved in three zillion activities, I could never afford the film bill that would show up every month if I tried to work with silver halide film like I did in the olden days. With a digital camera and a 512 MB flash card, I can shoot hundreds of pictures during an event, knowing that my only costs are a few errant electrons and the minuscule degradation of a rechargeable battery.

When the camera manufacturers finally packed this capability into a very small, yet feature-complete camera about two-thirds the size of a deck of cards, I could carry a camera around with me everywhere—and I do. I never leave the house without my keys, my cell phone, and my camera. This way, I've always got the camera—and that means I can always take that one shot, whereas before I would have said to myself, "Boy, if I just had a camera..."

However, hooking up a digital camera to a Linux computer wasn't always the easiest. Between immature software and hardware incompatibilities, one had to go through significant work to connect to a digital camera, and then run the software necessary to download its pictures. With Fedora Core, however, digital photography on Linux is ready for prime time. In fact, I've found that it's actually easier and more reliable than using Windows.

But photos aren't the only digital images I work with on a computer. As you can imagine, I spend a lot of time capturing screen shots of my computer monitor to accompany what I've written, and once in a while I even doodle by hand.

And once images are on a computer, there are oodles of things to do with them—modify and tweak them, for sure, as well as set them up for viewing by others. Here's how to get started with digital images on Linux.


Connecting and Downloading Images from Your Digital Camera

One tool that comes with Fedora Core—called gtkam—is a simple and straightforward application that allows you to download images from a digital camera to a computer. Using it takes only a few steps.

First, open the tool by selecting Main Menu | Graphics | Digital Camera Tool. The bare gtkam window appears, shown in Figure 1.

Click To expand
Figure 1: The gtkam window before adding a camera to it.

Next, plug your camera into your computer, and turn the camera on, making sure it's set to download pictures. The exact settings, of course, will depend on the specific model of camera. Most recent digital cameras come with a cable that plugs straight into a USB port, and mine, although a couple of years old, was no different. I did have trouble getting the computer to recognize my camera when I tried to plug it into the USB port of my notebook docking station; when I undocked the computer, the computer recognized the camera just fine. Interestingly enough, the same thing happens with a Windows-based notebook from the same manufacturer: The docking station for that computer (a slightly different model) doesn't have a functional USB port, but plugging the camera directly into the computer's USB port works fine.

In gtkam, select Camera | Add Camera to open the Select Camera dialog ( Figure 2). The Select Camera dialog gives you two options. You can select your camera from a pre-populated list, or have gtkam try to detect your camera itself.

Click To expand
Figure 2: You can select your camera from a pre-populated list, or gtkam can try to detect it.

The list that gtkam provides is extensive—several hundred models at least—so I figured I'd just grab my version if I could find it. Not surprisingly, my camera—a Canon Powershot S400—was in the list, but when I tried to manually select it, gtkam told me it couldn't find that model physically attached to the computer. Mmmmm, bummer, bummer. My heart sank, of course. However, when I asked gtkam to detect my camera, it found the physical device and identified it as a Canon Digital IXUS 400 model, as shown in Figure 3. Go figure.

Click To expand
Figure 3: gtkam's Detect feature identified my camera as a slightly different model, but it worked.

After clicking the Apply button in the Select Camera dialog, the model shows up in the camera list, shown in Figure 4.

Click To expand
Figure 4: Once a camera is found and identified, it's displayed in the camera list in the gtkam window.

As soon as the camera is identified, gtkam will look for pictures on the camera and download the thumbnail images. Drill down through the treeview control as shown in Figure 5 to see the thumbnails.

Click To expand
Figure 5: The thumbnails for your pictures are available as soon as the camera is successfully connected.

Select the pictures you want to actually download from the camera. You can either highlight selected pictures in the right pane, or, if you want all of the pictures, open the Select menu and click All. The selected images are identified by highlighted file names (see Figure 6).

Click To expand
Figure 6: Selected pictures in the right pane are displayed with highlighted file names.

The next step is to initiate the downloading itself. To do so, click File | Save Selected Photos (see Figure 7). This dialog provides several capabilities. First, you can navigate to the folder you want to save the files in, and if the folder in question doesn't exist, you can create a new one without leaving the dialog.

Click To expand
Figure 7: The "Save photos..." dialog allows you to determine what attributes to save as well as how to name the files on your hard disk.

Second, you can decide what attributes you want to save. I just save the photos themselves, but you may choose to save other stuff as well.

Finally, you can choose how you want the files to be named. The files on disk are named IMG_nnnn.JPG, where nnnn runs from 0001 through 9999. I use a custom naming scheme where the first characters are the date in CCYYMMD format, as shown in Figure 8.

Click To expand
Figure 8: I precede camera file names with the date.

If I didn't do it this way, I'd end up with a file named IMG_0001.JPG (and so on) every time I downloaded pictures. With a custom naming scheme, I don't have to keep files in separate folders just to avoid naming incompatibilities.

As soon as you click the OK button in the "Save photos..." dialog, gtkam will start the downloading process, as shown in Figure 9.

Click To expand
Figure 9: The gtkam window displays the download progress of each file as well as the overall download progress.

The thermometer bars at the bottom of the gtkam window display the progress downloading each file as well as the progress of the whole collection. An indicator showing which file is being downloaded is also displayed in the status bar, and this indicator can be misleading at first. It shows you the name of the file on the camera, not the file name that is being saved on the computer. Thus, if you have chosen a custom file-naming scheme in the "Save photos..." dialog, those custom names won't show up in the gtkam window's status bar, but the files on your computer's hard disk will be named as you desired.

The gtkam tool has a couple of other interesting menu options. The Camera | Summary menu item displays an informational dialog about your camera, including the amount of space on its storage media. The 256 MB flash card in my Powershot had eight pictures on it when I made a screen shot for Figure 10.

Figure 10: The gtkam Summary dialog shows the amount of space on the storage media for your camera.

Somewhat disappointingly, the Camera |Preferences menu item doesn't provide a screen full of customization goodies like we're used to in many software applications. Instead, it just shows information about the camera and driver (see Figure 11)—not much to select, actually.

Figure 11: The gtkam Camera and Driver Configuration dialog doesn't actually provide much to select.

Once the images are downloaded from the camera, you can choose to delete them from the camera by clicking File | Delete Photos, but I never use this function. Rather, I first disconnect the camera from the computer. Then I open up GQView and make sure the photos are safely saved. Once I'm satisfied that I've downloaded my photos properly, I delete them from the camera using the camera's own delete functionality. This may be unnecessary, but I figure it's just too easy to make a mistake and accidentally delete photos from the camera that for some reason didn't get downloaded successfully.


Capturing Screen Shots

A common task for many power users is copying something you see on your computer screen so that you can manipulate it, such as placing it in a document or on a Web page. This operation is called capturing screen shots, and you can do it a couple of ways.

The easiest way is to simply use one of two key combinations to grab the contents of a single window or the entire screen.

Pressing the <PrtScn> key on your keyboard (it's usually in a group next to the ScrLk and Pause keys) will cause an hourglass to appear briefly, and then a dialog asking what you want to do with the resulting image, as shown in Figure 12.

Click To expand
Figure 12: Pressing the PrtScn key on your keyboard captures the entire screen.

You can save the image (it's currently just in the computer's memory) to a file on disk or directly to your desktop. The default file name is, cleverly, "Screenshot", and the default file format is PNG (Portable Network Graphics). You can navigate to another location on your hard disk if you like.

Sometimes you don't want a "screen shot" per se; rather, you want a "window shot" —an image of just one window on your screen. Press Alt-PrtScn to capture the active window, as shown in Figure 13.

Click To expand
Figure 13: Alt-PrtScn captures just the active window.

When you capture just a window, the name of the file defaults to "Screenshot-" and then adds the name of the window to the file name. The default file format is still PNG. The default file name for the screen captured in Figure 13 was "Screenshot-Gnome-keybinding-properties.png".

The GIMP, an image manipulation program that comes with all popular Linux distros, has a more advanced screen-shot-capture feature. It's discussed later in this chapter.


Draw Freehand Images with KPaint

Another avenue for creating images is to draw them yourself. Fedora Core comes with an open-source tool called KPaint, which mimics the Windows painting programs that you might have used. To open KPaint, select Graphics | More Graphics Applications | Paint Program. Figure 14 shows the resulting KPaint window.

Click To expand
Figure 14: KPaint is an open-source painting program that comes with Fedora Core.

Once you've opened an empty canvas, the first thing you'll probably want to do is change the size. The default canvas size is 320 pixels wide by 200 pixels tall (you can find this out by looking in the far left of the status bar or via the Image | Information menu command if the status bar isn't visible). Select Image |Resize to open the New Canvas Size dialog, shown in Figure 15.

Figure 15: The New Canvas Size dialog allows you to change the dimensions of the canvas.

If you don't check the "Keep picture ratio" check box, you can enter values in either or both of the Width and Height text boxes independently, creating a new canvas with a different proportion than 320 x 200. If you check the check box, the Height text box becomes disabled and you can enter a new value in the Width text box. The height will automatically be adjusted.

The second thing you'll want to do is select what color you want to draw with. The default color is displayed in the left of the two color boxes in the upper half of the screen. You can choose your own color by using the multipurpose color-chooser control in the upper right quadrant of the dialog. Click the Recent Colors box to display a set of choices for populating the box underneath it with color selections, as shown in Figure 16.

Click To expand
Figure 16: The combo box in the upper right quadrant allows you to fill the control with predefined color choices.

Each item in the combo box has its own set of color choices, ranging from 40 basic colors to "Web-safe" color choices to your own set of custom-selected colors.

The third step is to select a tool to work with. The toolbar in the second row, immediately above the drawing canvas, contains a variety of simple drawing tools, ranging from line, ellipse, circle, rectangle and rounded angle to pen, spray can, and text.

The last tool in the row is the Area Select tool; it allows you to select an area on the canvas that you can copy or cut.

You can set line attributes for all tools except the Text and Area Select tools. If you're using a tool that encompasses an area, such as the circle or rectangle, you can click the Tool Properties button to set properties for the way the object will be filled as well. Figure 17 shows the Tool Properties dialog for both sets of attributes.

Click To expand
Figure 17: The Line Properties and Fill Properties tabs of the Tool Properties dialog allow you to set the attributes for the currently selected tool.

You can set the viewing size of the canvas from 10% to 1000% by using the Zoom box in the main toolbar. A nice feature of KPaint is that the entire image snapshot of the canvas appears in the upper left quadrant, regardless of what zoom percentage is active.

You can save your drawing in a number of popular formats, including BMPs, JPGs, Windows Icons, X pixmaps, and PNG files. It isn't straightforward how to do this, however. Most graphics programs ask what type of file format you want to save in, but KPaint has a non-standard Save As dialog that determines the file type. Select File | Save As, and then navigate to the directory where you want to save your image. Then select the type of file format in the Filter box at the bottom of the dialog. Finally, type a file name and click Save.

You can also use KPaint to convert images from one file format to another by opening the file in KPaint and then saving the file in a different format.


Draw Icons With KIconEdit

One type of very specialized graphic file is the icon—the picture that is attached to a program shortcut on the desktop or panel. Icons have certain properties that make it awkward (and in some cases impossible) to use some drawing programs. For example, you can create an icon with KPaint as described in the previous section, but you need to know that an icon is either 16 or 32 pixels square, and you have to know what file format to use for Linux (PNG is best). And you have to be able to eyeball your drawing, because KPaint doesn't have a grid overlay that allows you to count pixel by pixel.

Fedora Core comes with KIconEdit, a program designed specifically for creating and manipulating icon files, and not only solves these issues but also provides additional features.

Open the editor window by clicking Graphics | More Graphics Applications | Icon Editor. You'll see the empty Icon Editor window, shown in Figure 18.

Click To expand
Figure 18: The KIconEdit window provides an empty, 32-pixel-square editing window.

Icons are simple bitmaps of a certain size; KIconEdit comes preconfigured as a 32-pixel-square drawing area. You can toggle the grid on and off by clicking the Grid button in the toolbar or by selecting Settings | Show Grid. This is handy—it's easier to count pixels with the grid on, but then view the final result with the grid off.

The toolbar on the side provides the ability to draw freehand or create predefined shapes such as rectangles, circles, and ellipses (all either filled or empty), and straight or diagonal lines. You can also use a spray can or a flood fill, and erase through an area that had been drawn on.

The color pickers on the side provide a fixed set of colors but also allow you to create a palette of custom colors; double-clicking one of the squares in the "Custom colors" picker opens the KDE standard Select Color dialog, shown in Figure 19.

Click To expand
Figure 19: The Select Color dialog is a standard widget used by many KDE tools.

The Preview box in the upper right corner above the "System colors" picker shows you a 1:1 display of what your icon will look like. You can change the background of the Preview box by clicking Settings | Configure KIconEdit to provide a higher contrast if you like.

Finally, you can save your icon by clicking File | Save As. The Save As dialog has the PNG filter already selected, but you can choose a different file format if you desire.


Modifying Images With the GIMP

The GIMP (The GNU Image Manipulation Program) is an application somewhat comparable to PC Paintbrush, Paint Shop Pro, and Photoshop. It provides a wide variety of image- and photograph-manipulation capabilities. For example, many of my authors use it on Linux to capture and modify screen shots for their books.

But The GIMP'S capabilities go far beyond that; indeed, there are 900-page books that cover all of The GIMP'S nooks and crannies. Some of its general image-manipulation capabilities (beyond screen-shot work) include a variety of tools, such as sharp and fuzzy drawing tools, airbrushes, fills, reverses, transparencies, and stamping; and selection tools such as freeform, rectangular, elliptical, fuzzy, and intelligent scissors. You can rotate, scale, shear, flip, resize, resample, feather, and magnify images, and use a number of alternatives to crop them.

The GIMP also supports advanced scripting via Perl, Python, and others; you can use these scripts to access internal GIMP functions. In addition, a comprehensive plug-in system allows you to extend The GIMP with new functions, filters, file formats, and other additions.

As you're starting to see, The GIMP is tremendously powerful, but its interface causes it to be one of those classic open-source tools that one either loves or hates; actually, many people love it and hate it at the same time.

Many people open The GIMP, struggle with it for a bit and give up, completely frustrated. In this section, I'll show you how to get started with The GIMP.

The GIMP Interface

Load The GIMP by selecting Main Menu | Graphics | The GIMP. One of the two main GIMP windows (the Toolbox) appears, as shown in Figure 20.

Figure 20: The GIMP Toolbox window.

The other main GIMP window (Image) appears once you have an image to work with. Select File | Open and navigate to the image you're interested in. You'll then see the image in the Image window, shown in Figure 21.

Click To expand
Figure 21: The second main window in The GIMP is the Image window.

The Image window is where the action occurs—it's where you'll do most of your work. Figure 21 shows a screen shot of my desktop while I was writing this chapter; OpenOffice.org Writer takes up most of the left side, while The GIMP'S Toolbox window is in the lower right, and a partially obscured window of a picture in GQView is in the upper right.

Even as you're just getting started with The GIMP, you'll occasionally use two other windows: Color Selection and Brush Selection, as shown in Figure 22.

Click To expand
Figure 22: The Color Selection and Brush Selection windows are important parts of The GIMP's interface.

Open the Color Selection window by clicking on either of the large, colored rectangles in the lower left corner of the Toolbox window. Open the Brush Selection window by clicking the round dot in the lower right area of the Toolbox window. Clicking the colored square to the right of the dot will open the Pattern Selection window, and clicking the rectangle under the Brush Selection dot or the Patterns square will open the Gradient Selection window, shown in Figure 23.

Click To expand
Figure 23: The Pattern Selection and Gradient Selection windows in The GIMP.

The last primary piece of The GIMP'S interface is the Image window's menu. With the Image window open, right-click anywhere in the image to display a context menu, shown in Figure 24.

Click To expand
Figure 24: Right-clicking in the Image window displays a context menu.

The main context menu in the Image window has typical "main menu" choices, such as File, Edit, Select, and View. Selecting any of the menu items opens a second, subsidiary context menu, which in some cases can lead to a third context menu, as you can see in

Figure 24. A lot of people have trouble with this interface design—it took me weeks to remember that a whole other level of functionality was available in the Image window.

To make an overly general statement about working with The GIMP, you'll follow three steps to manipulate an image. First, you'll load an image in the Image window. Second, you'll choose your tools, and possibly make Color, Brush, Pattern, and Gradient selections, in the Toolbox window. Finally, you'll perform operations on the image itself via context-menu commands in the Image window.

Let's take a look at some common tasks.

Capturing a Screen Shot

As I mentioned at the beginning of this chapter, getting a copy of something you see on your computer screen to place in a document is a common task for many power users. The GIMP has the ability to acquire a copy of either the entire screen or a specific window.

In the Toolbox menu, select File | Acquire | Screen Shot to bring forward the Screen Shot dialog, shown in Figure 25. (Yes, I'm using The GIMP to capture its own screens. Self-referential documentation!)

Figure 25: You can capture a single window or the entire screen.

If you want to capture just a single window, select the Single Window option button. If you deselect the With Decorations check box, the title bar and buttons in the upper left and right corners will not be captured along with the contents of the window.

If you want to grab the whole screen, select the Whole Screen option button. I often use this feature when I want to capture more than one window at a time. First, I open an application that has an empty, white background, such as the gedit editor window. Then I position the windows in question adjacent to each other, on top of the empty window, so that they're on top of a white background. Finally, I do a Whole Screen screen shot and crop the area I'm interested in. That's how I created Figures 22 and 23. You could also create those figures by capturing each separately, and then joining them in a third file, but often that's more work than simply moving the windows around and grabbing one screen shot.

If you want to capture a window that has a selected menu item (see Figure 24) or an open combo box (see Figure 16), you'll need to do a Whole Screen capture, even if you're just working with one window.

You can choose how long to wait before the capture actually happens by using the "after NN Seconds Delay" spinner control—if you have to open menus or manipulate controls in windows, this gives you the required delay. You'll hear a pair of beeps about a second and a half before the capture occurs.

Once the window or screen has been captured, it is displayed in the Image window (see Figure 24). Because computers are computers, the first thing you'll want to do is save the file. Right-click in the Image window to bring up the context menu; then select File | Save to bring forward the Save Image dialog, shown in Figure 26.

Click To expand
Figure 26: Saving a file from the Image window.

The first thing you'll do is navigate to the location where you want to save the file. Then, in the Determine File Type box, you'll select what type of file you want to create. The GIMP can save in just about any format you can imagine. Finally, you'll want to give the file a name. The file should have an extension automatically assigned based on the file type you selected in the Determine File Type box, but if it doesn't, add the extension yourself.

Cropping an Image

Whether you've captured an entire desktop or just want to whittle down part of a screen, cropping an image is a common (but not necessarily intuitive) task.

First, click in the Image window. At this point, you may want to zoom in on the image so you can crop more closely and not leave a lot of extra space on the sides. To do so, either right-click the Image window and select View | Zoom In, or press the Equal Sign key (=) on the row of number keys (probably next to the Backspace key). If you want to see more of the image, albeit in a smaller view, select View | Zoom Out or press the Minus Sign key (-) next to the Equal Sign key.

Once you've sized the image so that the part you want to crop fills as much of the screen as desired, right-click the Image window and select Tools | Transform Tools | Crop and Resize. The cursor will appear as a crosshair, as shown in Figure 27.

Click To expand
Figure 27: The crosshair represents one corner of the area to be cropped.

The crosshair represents one corner of the area to be cropped. Click and drag the mouse to create a rectangle around the area to be cropped. Everything inside the rectangle will be included in the newly cropped picture, while everything outside the rectangle will disappear. For example, suppose you wanted to create an image that consisted of the words "appears once you have an image to" in Figure 27. Keeping the crosshair where it's shown in Figure 27, drag the mouse down and to the right to create a rectangle, as shown in Figure 28.

Click To expand
Figure 28: Cropping an image inside the rectangular area.

As you start to drag the mouse, the Crop and Resize Information dialog will appear—and hopefully won't be in the way of the area you're cropping. Once you've selected the area that you want to crop, click the Crop button in the dialog, and the contents of the Image window will change to display only the area you selected.

Note that this new image is only in memory, so you can revert your changes by right-clicking and selecting Edit | Undo, or simply by calling up the image you saved on disk. If you like the cropped version, be sure to save it.

Editing an Image, Pixel by Pixel

Once in a while, the image is just about perfect, except for one small thing. You don't necessarily want to reshoot the image, or perhaps you can't—maybe you need to add, remove, or modify a feature in a way that can't be done simply by capturing another screen shot. One way to make a change like this is to alter the image, pixel by pixel, with The GIMP.

Open the image you want to modify in the Image window, and then zoom in (via the Edit | Zoom In menu item as described earlier). Zoom in enough so you can see the individual pixels in the image, as shown in Figure 29.

Click To expand
Figure 29: Zooming in to an image so that individual pixels are visible.

The next step is to activate the pixel editing tool. In the Toolbox window, select the pencil tool (third row, fourth from the left in Figure 15, with a tooltip of "Draw sharp pencil strokes"). Then choose what size brush you want to use. The smallest brush size will give you the ability to draw single pixels.

Once you move your cursor over the Image window, you'll be able to start drawing pixels, either one by one by clicking, or in a line by clicking and dragging. Because The GIMP won't natively capture the mouse cursor, I used this feature to draw the crosshair in Figure 27.


View Images Individually or as a Slide Show

Once you've put together your images, you'll probably want to show them off. Fedora Core comes with several image-viewing programs, including the Eye of Gnome, KView, and Kuickshow, all available from Main Menu | Graphics | More Graphics Applications. My two favorites, however, are GQView for viewing and arranging static images, and gThumb Image Viewer for creating slide shows. Note that these two programs aren't mutually exclusive—GQView has a slide-show mechanism, and gThumb Image Viewer has a number of image-manipulation fucntions as well.

GQView

As you saw earlier, I use GQView enough that I keep it on my panel. It's an image-viewing program that I find terrifically useful while creating documentation and trying to decide what screen shots will go into a document, and in what order. It includes zoom, thumbnail, slide-show, full-screen, image-comparison, and file-manipulation functions.

Open GQView by clicking Main Menu | Graphics | GQView. Select the directory containing your files by using the folder navigation treeview in the top left pane. The files themselves will appear in the lower left pane, shown in Figure 30.

Click To expand
Figure 30: GQView allows you to scroll through and view a list of image files.

As I work with a set of images in a directory, I often rearrange them as I make edits. Pressing Ctrl-R opens a renaming dialog so that I can change the file names to match the figure numbers in the chapter. Similar key combinations allow you to copy, move, and delete files.

The buttons in the toolbar provide all sorts of useful, one-click functionality. The first button switches the list of files in the lower left to thumbnails, so that you can see the big picture quickly. Note that if you have a lot of large images, the first switch to thumbnails can take a couple of minutes.

The next button (with the house on it) switches you to your home directory (duh!) and the green circular arrow in the third position refreshes the file list, which is handy if you do a lot of renaming.

The two magnifying-glass buttons zoom in and out, and the next two to the right will either fit the image to the right pane or set it back to its actual proportions. The last two buttons give you access to preferences, and float the left side panes away from the image pane.

Additional features are available under the Edit menu, such as rotating, mirroring, and flipping an image, and editing in a variety of programs such as The GIMP and Electric Eye. The View menu also has lots of handy stuff, such as changing the top left pane to a treeview of the folder structure, viewing the image in full-screen mode, toggling a slide show, and hiding or showing the various interface components.

I've found GQView to be extremely fast even with huge (40 MB) files, although occasionally an image will suffer as it renders with jaggy lines across it until you refresh the screen. Can't live without it.

gThumb Image Viewer

To open this image-viewing program, select Main Menu | Graphics | gThumb Image Viewer. You'll see in Figure 31 that it comes configured with three panes. The upper left pane shows you a treeview of your hard disk, which you can use to navigate through your directories. The right pane shows you thumbnails of all images in the currently selected directory, and the lower-left pane shows you a larger version of the thumbnail selected in the right pane.

Click To expand
Figure 31: gThumb contains three panes that provide different views of your images.

gThumb has a number of typical thumbnail-viewer-type features. Right-clicking any image in the right pane opens a context menu with options that allow you to annotate an image with a comment, search for duplicates, create catalogs, or attach a picture to a category, including your own custom categories, as shown in Figure 32.

Click To expand
Figure 32: Adding a custom category to gThumb Image Viewer.

The toolbar in gThumb has buttons for changing the view shown in the panes. The Catalogs button, for example, switches the view so that only pictures belonging to a selected catalog are displayed.

Other buttons in the toolbar (and, of course, in the View menu) allow you to see pictures in full-screen mode, and to spin through a series of pictures as a slide show.

gThumb also has the ability to work with individual images via functions in the Image menu. You can rotate an image to the left or right, flip (spin on a horizontal axis) or mirror (spin on a vertical axis), resize, and change the color, hue, and brightness/contrast attributes, just to name a few.

You can also convert images from one format to another with the Tools | Convert Format menu option, which opens the Convert Format dialog, shown in Figure 33.

Figure 33: The Convert Format function allows you to convert an image to another format and then decide what to do with the original file.

The Convert Format function has a lot of versatility, in that it not only provides for converting between four popular formats, but also offers several options for what to do with the original file.


Summary

Digital imagery is an area that continues to get more popular. The advances in hardware are part of the reason: Digital, pocket-size cameras are rapidly approaching the quality of silver halide film, and the computer processing power needed to handle the huge amounts of data required continues to grow. The other part of the picture is increasingly sophisticated and powerful software. I've just touched on the possibilities here, but as you've seen, a Linux desktop can more than hold its own in this area.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 11: Multimedia: Audio (and Video)

Overview

The classic examples of multimedia applications are listening to music (audio) and watching movies (video). Multimedia, unlike other popular end-user applications like word processing, spreadsheets, and e-mail, puts a strain on hardware and requires software that's more sophisticated and powerful than a simple office suite or Web browser. As a result, Linux hasn't always kept up with Windows in this arena. In this chapter, I'll explore what a power user can do with multimedia today.

The media has been abuzz over the last year about how Hollywood is moving toward Linux in a big way: Every month brings another report about how a major studio or project has moved to a farm of off-the-shelf Linux machines to replace their previous (that's spelled "expensive") workstations for digital media. Indeed, 2003 saw animation studios such as Pixar, Industrial Light and Magic, and Dreamworks all move to Intel-based computers running Linux. However, these installations aren't for the faint-hearted; for example, the Pixar move involved eight blade servers containing 1024 2.8 GHz Xeon processors. In many cases, bucketloads of custom software are also involved.

This detail—the level of sophistication involved in these moves—is sometimes overlooked in the enthusiasm of those reporting the stories, and thus leads to unrealistic expectations on the part of regular computer users.

Deploying multimedia functions on the Linux desktop is still a mixed bag. Sound—listening to your favorite Led Zeppelin tune, downloading the latest Enya demo, or reminiscing to an ancient Firesign Theatre bootleg that a friend just ripped for you—is ready for prime time no matter where you are. But video capabilities are erratic and immature. Between beta-quality software, competing formats, and inept digital rights management (or, as some refer to it, "digital restriction management") techniques, it's a tossup whether you'll be able to properly play an MPEG of your cousin's wedding in Fiji that he posted on his Web site before leaving on his honeymoon, or if the new Matrix Regurgitated DVD will display at all.

But we're getting there. Remember, a couple of years ago, the experts all stated that Linux would never be usable on the desktop.


Audio

Listening to music or other audio files is nearly a prerequisite with a computer these days; indeed, I haven't played music on a stereo system in years. Naturally, you'll want to be able to use audio on your Fedora Core system. Here's what you have to do.

Testing the Sound Card

The first thing you'll want to do is make sure your sound card works and is recognized by Fedora Core. I'm making this sound like a bigger deal than it really is; normally you'll do the sound-card detection during installation and won't have any problems. If you skipped that step during installation, or if you've since changed your sound card and need to check it out again, here's how.

Select Main Menu | System Settings | Soundcard Detection. You'll be prompted for the root password, because you're messing with the system in general, and not just your own settings. Once you enter the password, you'll be greeted by the Audio Devices screen, shown in Figure 1.

Figure 1: The Fedora Core Audio Devices dialog allows you to test your sound card.

If a physical device was found in the computer, it'll be identified and you can click the "Play test sound" button to see if Fedora Core can send sounds through it. You should hear a tone in the right speaker, then a tone in the left speaker, and then a tone in both speakers at the same time.

Then you'll be asked, "Did you hear the sample sound?"

If yes, you're all set; if not, you'll get a message that says, "Automatic detection of the sound card did not work. Audio will not be available on the system. Please click OK to continue."

I've only had the sound-card detection fail on one machine in two years, and that was on an old, old box with a terribly antiquated sound card. I went to the local computer store and picked up a new Sound Blaster for $30 and all was good again.

Playing A CD With CD Player

Playing a CD on Fedora Core is essentially a trivial process. Stick the CD into the CD-ROM drive, wait a few seconds for the drive to spin up, and the CD Player applet will appear, as shown in Figure 2.

Click To expand
Figure 2: The CD Player applet that comes with Fedora Core.

If you've used a CD player or VCR before, you'll be able to understand the controls in short order. The CD-style controls at the bottom of the screen provide standard functionality: previous track, rewind, play/pause, stop, fast forward, next track, and eject. Above the controls are the Track Editor button, which opens the CDDB Track Editor screen shown in Figure 3; the Preferences button; and a drop-down combo box that allows you to select and play a specific track on the CD.

Click To expand
Figure 3: The CDDB Track Editor that's part of the CD Player.

The slider above these three buttons is a progress bar that shows you how far through the song the player has moved. The slider in the upper right corner is the volume control, and the display screen shows you information about the current track.

If you forget any of these, you can noodle them again by moving your mouse over the control and reading the tooltip.

If you close CD Player while a CD is in the drive, you can open it again via Main Menu Sound and Video | CD Player.

Moving CDs to Disk, So You Can Keep Them With You

While some folks are content to pop CDs in and out of the drive, others prefer to copy the contents of their CDs to a hard disk. Doing so not only saves you from lugging a bunch of CDs around (I know some folks who have hundreds of CDs on a hard disk), but also saves wear and tear on the drive. Getting a track (I don't call them "songs" because all this applies to other types of digital audio, such as recordings of the Boston Pops and George Carlin comedy routines) from a CD to a hard disk is not simply a matter of copying a file from the CD, as it is with other types of data files.

Files on an audio CD are commonly stored in a format called CDDA, with an extension of CDA. If you view the contents of an audio CD, you'll see a list of files with names like Track01.cda, Track02.cda, and so forth, and the file size is typically 44 bytes. The rest of the data is hidden from view. Copying the .cda file, if you could, wouldn't result in a "satisfactory user experience," and so another vehicle is required.

Instead, one uses a piece of software called a "ripper" that extracts the raw digital audio files on the CD and creates a new type of audio file, a Wave file (WAV), which is usually stored on a hard disk. These WAV files are great for a number of reasons, including sound quality and ubiquitous acceptance, but they're also huge. As an example, Bob Seger's live rendition of "Nutbush City Limits," a 4:37 track, becomes a 49 MB WAV file. That's a lot of ones and zeros. Most people will then convert the WAV file to a different format that sounds just as good but takes considerably less space, such as MP3 or OGG. "Nutbush" in OGG format only takes 4.3 MB. However, some rippers will bypass creating the WAV file and generate an MP3 or OGG file immediately.

Audio Formats

Before I discuss the ripping process, I need to discuss file formats in more detail.

As mentioned, audio files can be saved in a variety of formats—in fact, a quick search on the Web will generate a list of more than 100. Popular formats include CDA (CD Audio Track), MP3 (Moving Picture Experts Group Audio Layout), OGG (Ogg Vorbis), RA, RAM, and RPM (varieties of RealNetworks Real Audio compressed streaming data), WAV (WAVEform audio format from Microsoft and IBM), and WMA (Windows Media Audio). Here's a little more information about these formats:

  • CDA is the native format found on a CD and is transparent to file management programs such as Nautilus and Konqueror.

  • MP3 is a compressed format with very good sound quality. It requires a plugin or helper application. A proprietary format, MP3 requires royalty payments and can't be used by open-source projects.

  • RA, RAM, and RPM: These formats are very highly compressed, with poorer quality sound. They require a plugin, and they're proprietary.

  • WAV format has very good sound quality, is widely supported, but results in very large file sizes. The sound quality is so good because the file is an exact 1:1 copy of the digital data on the CD itself.

  • OGG offers very good sound quality in a compressed format. Vorbis is unpatented, and doesn't have the licensing issues of proprietary formats such as MP3 or WMA.

  • WMA is a very good quality, proprietary format from Microsoft, and recent versions feature digital rights management. The WMA file extension (as opposed to ASF) indicates that the file contains only audio.

Which Format Should You Choose?

With so many to pick from, which should you choose? MP3 is the established leader because it was the first to market, but it's a proprietary technology, which means it can't be included in open-source projects. A similar issue restricts the use of the WMA format. Many open-source users have gravitated to the Ogg Vorbis format, which offers similar (and in some cases, superior) performance without the licensing issues associated with proprietary formats.

The downside of using Ogg Vorbis files is that the manufacturers of many portable audio players (such as the Apple iPOD and the Creative line of USB players) do not support OGG files—yet, at least.

I'll use the Ogg Vorbis format in this chapter; if you choose to use a different open-source format, the concepts and processes are similar. If you choose to use a proprietary format, you'll probably need to pay for a product because the owner of the format requires royalty payments.

Using Grip to Rip

Fedora Core comes with a CD-ripping program called Grip, which provides the ability to rip a CD to a number of popular formats, including WAV and OGG. Here's how to use Grip.

  1. Pop an audio CD into your drive, and close the CD Player window if it automatically appears.

  2. Start Grip by selecting Main Menu | Sound and Video | More Sound and Video Applications | Grip. The Grip window will appear, as shown in Figure 4.

    Click To expand
    Figure 4: The main Grip screen, with a Rolling Stones CD loaded in the drive.

  3. Configure Grip. By default, Grip will create WAV files and store them in the "ogg" directory under your home directory, such as /home/whil/ogg. (This is the default directory regardless of what file format you select.) I'll accept the defaults for now and come back to this step later, once you've gone through the basic process.

  4. On the Tracks tab of the main screen, select the track (or tracks) you want to rip by right-clicking them, as shown in Figure 5.

    Click To expand
    Figure 5: Right-click the Tracks tab to select the tracks to rip.

    If you do not select any tracks when you start to rip (discussed in the next step), you'll be prompted as to whether or not you want to rip the entire CD, as shown in Figure 6.

    Figure 6: If you don't select any tracks, you can rip the entire CD at once.

  5. Once you're ready to rip (ahem!), click the Rip tab. You have two choices. If you simply want to rip the CD, automatically creating WAV files (remember, they're about 10 MB per minute of playback time), click the Rip Only button. If you want to rip and convert the default WAV file to a different format, click the Rip+Encode button instead. The drive may take a few seconds to spin up, and then the process will begin. The two sets of thermometer bars in the bottom half of the Rip tab will display the progress. The top bar in each pair will scroll first, as shown in Figure 7, as the track is ripped.

    Click To expand
    Figure 7: The top and bottom bars display per-track and overall progress.

Once a track has been ripped, the bottom bar will scroll as the track is encoded. The ripping process creates a WAV file regardless of whether you're encoding the track as well. The default behavior of Grip is to delete the WAV file after it has been encoded to another format so your hard disk doesn't get filled up.

However, note that the WAV files are all ripped first. With a CD that's packed full of music (some can hold over 70 minutes), you might end up with 500 to 700 MB of temporary WAV files before they're all encoded into a different, smaller format.

If you create a WAV file, and then later decide to Rip+Encode the same track, Grip will use the WAV file already on disk instead of creating the WAV file all over again.

Grip Configuration Options

Grip acts as a front end to a number of ripping and encoding programs, and as a result, there are a lot of possible configuration options. Clicking the Config tab in the main Grip screen displays a set of seven subtabs, some of which have their own subtabs. All told, there are more than 60 options to choose from. Here are a few options that I've found useful.

The default settings on the CD tab and both of the subtabs under the Rip tab are well chosen and I've never had a reason to change them. The Rip | Options tab has one option (Delay before ripping) that you might find useful if you're experiencing errors. Sometimes the ripping process starts before the CD-ROM drive has had a chance to get spinning at full speed.

The Encode tab, on the other hand, has a variety of choices. The Encoder tab allows you to choose which encoding program to use—I've left it at "oggenc" but if you want to change to a different one, you may need to find the encoder program (called a "codec") that goes along with it. If you want your files to land in a location other than the default "ogg" directory under your home directory, use the "Encode file format" text box to change it. The label says "file format" but it includes the directory as well, such as: "~/ogg/%A/%d/%n.ogg".

If you wanted to store your files in the "music" drive under your home directory, you would change this to "~/music/%A/%d/%n.ogg".

What do the funny-looking parameters mean? These are detailed in the help file, but to spare you the busywork of looking them up, the %A parameter is replaced by the artist's name, the %d is replaced by the album name, and, of course, the %n is replaced by the track name.

Where does Grip find out this information? Grip looks it up on the Internet, using a signature contained in most audio tracks. The DiscDB tab has a link to an online database that Grip uses by default.

The ID3 and Proxy tabs contain specialized options that I've never had to worry about, but you might need to check them out if you've got particular needs. The Misc tab contains two options that I like a lot: "Do not lowercase filenames" and "Do not change spaces to underscores." Of course, your preferences may vary.

Tools to Convert Formats

What if you've already ripped your entire Barry Manilow and John Tesh collection in a format such as MP3 or WMA? The cynic in me might suggest that you press Delete and acquire some Bruce Springsteen and Rush, but then my wife would have me sleeping on the couch for the next decade or so.

As with images, many tools are available for converting your audio files from one format to another. However, this idea is generally frowned upon. The reason is that compressed formats such as MP3 and OGG achieve much of their benefit by eliminating parts of the track that are either redundant or that human beings won't hear. However, the MP3 and OGG people use different algorithms, so, in essence, they're each getting rid of different parts of the data. Thus, converting from one of these formats to another will result in a "double dip" of data loss, to the extent that it could very well harm the eventual playback of the track.

If you insist, however, the following Web site lists some third-party tools: http://freshmeat.net/search/?q=convert%20ogg%20mp3

You're on your own, of course, from here.

Playing a Ripped Track From the Hard Disk

Once you have a track on your hard disk, how do you play it? Yes, you can use Grip to play tracks, but that's not its primary purpose, so its features are rather limited. The playback functionality is there primarily so you can verify that the ripping process is working properly.

Fedora Core comes with several music players that provide functionality way beyond simple playback; the one you choose will depend primarily on your personal likes and dislikes.

Rhythmbox is a file and radio-station music player written for GNOME, and is available through Main Menu | Sound and Video | Music Player, while XMMS is a cross-platform multimedia player that handles music (as well as videos) quite nicely. XMMS is available through Main Menu | Sound and Video | Audio Player.

Both players have the capability to act as a jukebox. You add tracks to a master library, and then create playlists by selecting individual tracks from the library. You could create one playlist to act as background music while you're working, and another to use during your Friday lunchtime table-tennis match.

Rhythmbox

Rhythmbox has two distinct capabilities—that of a jukebox and of an Internet radio-station player. Actually, it's got a third capability as a CD ripper but its capabilities are limited and I've had mixed luck getting it to work.

Using Rhythmbox as a jukebox, you first add tracks to the Library by selecting File | Add to Library, and then navigating to the location where your tracks are stored. Once you've added certain tracks, they'll appear in the browser window, as shown in Figure 8.

Click To expand
Figure 8: The Rhythmbox jukebox, loaded with tracks.

The steps for creating a playlist are somewhat counterintuitive. First select the Library source, so that the tracks are displayed in the browser window, as in Figure 8. Second, select the tracks you want to add to your playlist, as shown Figure 9.

Click To expand
Figure 9: Select tracks before creating a playlist.

Third, select File | New Playlist to open the New Playlist dialog. Type a name for the playlist, and then select the "Add the selected songs to the new playlist" check box, as shown in Figure 10.

Click To expand
Figure 10: The New Playlist dialog, ready to add tracks to the playlist.

The new playlist will be added to the Source list on the left. Highlighting the playlist will display the tracks in the browser, as shown in Figure 11.

Click To expand
Figure 11: Highlighting a playlist will display the tracks in the playlist.

What if you forget a track and want to add it to a playlist later? Or what if your library is so big that you just can't scroll to every item and keep them all selected before creating a playlist? You can add tracks to an existing playlist, but again, it's not exactly intuitive.

Select the Library in the source list, and scroll to the desired item. Then highlight the track and drag it to the desired playlist, as shown in Figure 12.

Click To expand
Figure 12: Adding (dragging) a track to an existing playlist.

You can delete items from a playlist (or from the Library, for that matter) by right-clicking the offending track in the browser and selecting Delete from the context menu.

The radio-station capability works much like the Library without playlists. To add an Internet radio station, select Radio from the Source list, which will show the list of radio stations. In Figure 13, there is already a radio station in the College genre.

Click To expand
Figure 13: The Internet Radio Station source after the first station has been added.

Adding a radio station isn't quite as easy as adding tracks to your Library. First, you'll need to know the URL of a radio station that is broadcasting on the Internet. There's a good-sized list at http://www.radio-locator.com/. If that doesn't suit you, try searching on "Internet radio station" on the Web. Once you've found a station, go to its page. You'll need to find a link on the site that says something like "Listen now" or "Streaming" or "Live broadcast."

Under the link, you'll find a URL that looks like this:

http://35.8.90.127:8080/ramgen/encoder/thefix.rm

With that in hand, select File | New Internet Radio Station to display the New Internet Radio Station dialog. Enter the name of the station, a genre if you want, and the URL, as shown in Figure 14. Click OK and the radio station will be added to the list. To play, just select the radio station and click the Play button. A dialog with a "Loading" thermometer bar will appear for a few seconds. Once the audio stream from the radio station catches up, Rhythmbox will start broadcasting.

Figure 14: Properties of an Internet radio station before adding it to Rhythmbox.

XMMS

Ever been in a situation where you had to choose which of two pretty girls to ask out? (Or been asked out by two hunky guys for the same night?) Well, I never have, but I've heard it's happened to others. And I can imagine what it's like, because having to choose between Rhythmbox and XMMS is probably pretty similar.

I've used XMMS ever since I put Linux on a desktop machine, but recently started using Rhythmbox because of its radio-station capabilities. Still, like that first girlfriend, I keep coming back to XMMS.

XMMS has three primary windows in the interface. The Main window contains the controls for the player, the Playlist Editor window displays track names and times, and the Equalizer window provides the controls similar to a stereo equalizer (and eye candy for those attracted to bright and shiny things). Figure 15 shows all three windows. The Main window is on the upper left, the Equalizer is under the main window, and the Playlist Editor occupies the entire right side.

Click To expand
Figure 15: The XMMS windows— Main, Playlist Editor, and Equalizer.

The Main window consists of several sections, much like the Rhythmbox interface. The upper left displays the time the current track has played, as well as a nifty little visualization of the sounds themselves. To the right is information about the track being played, including the artist name, track name and total track time, and the sampling rate (how many bits per second the track is playing back at). Under the title window are, from left to right, the volume and speaker slider controls, and buttons that display or hide the Equalizer and Playlist Editor windows. If you've used WinAmp, you'll find a lot of similarities.

The long slider that spans the entire width of the window displays how much of the track has played. And the VCR controls under the slider allow you to go to the previous song, play, pause, stop, and go to the next song. The RAND button will mix up the order in which the tracks in the Playlist window are played, and the REP button will repeat playback when the end of the playlist is reached.

The five letters to the left of the time display don't seem to spell anything or form a recognizable acronym. Instead, they each provide functionality that would usually be represented by a button.

Clicking the O displays the Options menu, which I'll get to in a moment.

Clicking the A toggles "Always on top" functionality for the windows. If the A is highlighted, the windows will always display on top of all other windows, even if one of those other windows has focus.

Clicking the I will show the File Info box for the current track, as in Figure 16.

Click To expand
Figure 16: The File Info dialog in XMMS.

The D acts as another toggle, this time for the size of the windows. Figure 16 shows all windows as "double-sized"; this toggle reduces the size of the window if you've got good eyes or a big monitor.

Finally, clicking the V will display the Visualizations menu, which I'll also discuss in a moment.

You can also open the XMMS main menu by clicking the upper left corner of the window or right-clicking most anywhere else in the main window. The main menu, as well as my complete lack of taste in music, is shown in Figure 17.

Click To expand
Figure 17: The XMMS main menu and Options menu.

As you can see, the main menu provides keyboard equivalents to a number of common functions that are available through the Main window. The Options menu item expands to provide access to a large number of additional functions; this second menu is the same Options menu that is displayed via the O button on the Main window. The Playback and Visualization menu items provide similar secondary menus; the Visualization menu is identical to that displayed via the V button on the Main window.

A visualization is a graphical representation of the audio file being played. First, open the Visualization menu, and select a Visualization Mode (the first menu item)—either Analyzer or Scope. From there, cruise through the other menu options as desired. Note that some of the plugins can really chew up CPU power!

The Playlist Editor window simply displays a list of tracks that are currently playing, but also provides controls to manipulate the tracks and run the player in "mini-mode."

The +FILE button in the lower left corner allows you to add tracks to the current playlist, either one file at a time, one directory at a time, or via a URL. The -FILE button to its right does the same thing, except in reverse. Continuing on to the right, the SEL ALL button provides the ability to select various combinations of the items in the playlist, in order to then perform other operations, such as removing them from the playlist. Finally, the MISC OPT button has options for displaying the file information, just like the I button in the Main window, and for sorting the playlist, as shown in Figure 18.

Click To expand
Figure 18: The MISC OPT button provides access to a context menu that can sort the playlist in a variety of orders.

To the right of these four buttons is a miniature version of the VCR controls found in the Main window. Finally, the LOAD LIST button provides the ability to create a new playlist, save an existing list of files as a playlist, or load an existing playlist.

The Playlist Editor window also provides the ability to save a collection of tracks for playback later, just like Rhythmbox. You can right-click the window and manipulate playlists via a context menu, as shown in Figure 19.

Click To expand
Figure 19: The Playlist Editor context menu allows you to manipulate playlists.

Menu items allow you to perform the same functions as with the buttons in the lower left corner of the Playlist window, as discussed earlier.

A playlist is simply a text file stored on your hard disk that contains identifying information about the list, as well as the list of tracks themselves. You can then load this text file for replaying later via any of the multitude of Load List options.

When you create a playlist, you are given the option to save it in M3U or PLS format. M3U format looks like this:

#EXTM3U
#EXTINF:301,B.B. King - Ain't Nobody's Bizness
/home/whil/ogg/bb_king/live_at_san_quentin/aint_nobodys_bizness.ogg
#EXTINF:281,B.B. King - Every Day I Have The Blues
/home/whil/ogg/bb_king/live_at_san_quentin/every_day_i_have_the_blues.ogg
#EXTINF:272,B.B. King - Into The Night
/home/whil/ogg/bb_king/live_at_san_quentin/into_the_night.ogg

And PLS format looks like this:

[playlist]
NumberOfEntries=4
File1=/home/whil/ogg/acdc/live/dirty_deeds_done_dirt_cheap.ogg
File2=/home/whil/ogg/acdc/live/thunderstruck.ogg
File3=/home/whil/ogg/acdc/live/tnt.ogg
File4=/home/whil/ogg/acdc/live/who_made_who.ogg

These are compatible with WinAmp, so you may already have some playlists on your Windows computer that you can use immediately with XMMS. Neat, eh? The Playlist Editor and Equalizer windows can float separately from the Main window or they can be docked next to or below the window. When they are docked, moving the Main window will cause the docked window to be dragged along. However, moving the docked window undocks it from the Main window. To dock either the Playlist Editor or Equalizer window, just drag it next to the Main window. Figure 15 shows the playlist docked to the right, while the equalizer is undocked.

You can also cause any of the three windows to roll up (like a window shade) by double-clicking the title bar. Doing so causes a minimal number of controls to appear in the title bar of the Main and Equalizer windows, while the Playlist Editor window just displays the title and time of the current track. Double-clicking the title bar again unrolls the window.

XMMS has long been known for providing the ability to change the appearance of the interface through add-ins known as "skins." A skin is simply a file that changes the player's appearance by overlaying the windows and controls, and altering their colors, shapes, and locations. Figure 20 shows the XMMS Main window with the "Arctic" and "Marble" skins applied, respectively.

Click To expand
Figure 20: XMMS with two different skins.

So where do you get skins? Pop on over to www.xmms.org and click the Skins link on the left side. Scroll through the list (there are hundreds) and click Download for a few that you find attractive. Download them into /usr/share/xmms/Skins if you can get root permission on your machine, and then they'll be available to every user on the computer. If you just want them available to you, or if you don't have root permission, download them to the .xmms/Skins directory under your home folder, such as /home/whil/.xmms/Skins. The "." in front of "xmms" means that it's a hidden folder, so you'll have to display hidden folders in order to navigate all the way in.

Skins come in a couple of formats, including .zip and .tar.gz. Interestingly enough, XMMS can read these file formats "as is"—you don't have to perform another step, that of unpacking the archive.

To open the Skin Selector window, click Options | Skin Browser (or press Alt-S). From there you can pick and choose an available skin to display on XMMS.


Video

Unfortunately, while working with audio files has matured on Linux, video hasn't made the same progress. There are no GUI-based tools in the Fedora Core distribution. Rather silly, considering the Main Menu option says Sound and Video, eh?

There are a number of open-source tools (and a few proprietary ones as well) that provide various CD, DVD, and VCD playback capabilities. Unfortunately, they suffer from the same basic problem. Because they aren't available on the FC distribution (for the same reason that Fedora Core doesn't come with an MP3 codec—proprietary licensing restrictions), you have to install them in addition to the FC installation. That by itself isn't the problem; rather, what makes them unusable for the regular Windows power user moving to Linux is that they all require a fair level of user involvement simply to install and configure. If you're interested in some adventure and have more than the average amount of patience, here are a couple of players worth investigating.

xine (http://www.xinehq.de) is a free multimedia player that plays back CDs, DVDs, and VCDs; decodes formats including AVI, WMV, and MP3; and can display multimedia streamed over the Internet.

No binaries are available for Fedora Core, so xine requires you to download and install xine-lib, which requires you to download a number of tarballs (ZIP files in Windows parlance), and then issue a series of export/configure/make commands for the various files. Once you've compiled xine, you'll need to download and install a front end. Which front end you choose depends on what you're going to use xine for—straight media players, or inside browsers or other file manager plugins.

MPlayer (http://www.mplayerhq.hu) is another open-source tool that has developed quite a following, but again, using it isn't as simple as just downloading a file and installing it. You need to figure out what files to download and then install them, taking care of all the dependencies as well as wrestling with the appropriate codecs (software that allows you to play selected types of files, such as MPG, QuickTime, Real, and so on).

A search on the Web will turn up a number of other tools. Be careful before throwing your lot in with one; some are rather old and haven't been maintained, while others have onerous licensing issues. And, of course, there's always the chance that you'll find the perfect tool, only to discover that Linus Torvalds himself couldn't install it successfully without losing handfuls of hair.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 12: Devices: Printers, Scanners, CD Burners

While the majority of this book has focused on what comes as part of the standard Fedora Core package, there's one thing that you're undoubtedly going to use that doesn't come with Fedora Core: devices. Some devices have already been covered elsewhere in this book: I discussed a quick, step-by-step procedure for burning a CD-ROM in Chapter 2, and a similar procedure for downloading files from a digital camera in Chapter 10. In this chapter, I continue to show you how to use various common devices with your Linux desktop. I'll show you how to hook up a local printer and how to configure a print queue, how to use a Fedora Core GUI application to burn CDs, and how to connect a scanner.

As a software developer, I hang out with other programmers in many venues. And our common mantra has long been "If it weren't for the darn hardware, our job would be a lot easier." As a power user, you may have come to the same realization yourself. Nonetheless, hardware is here to stay, at least for a while, so we will have to learn to get along with it. Fortunately, there is a group of very bright programmers who enjoy interfacing with hardware, and their efforts have made our lives easier with respect to printers, scanners, and CD burners.

Printers

Linux has gotten a bad rap for being hostile when dealing with hardware; in some cases, that reputation has been well justified. But great strides have been made in the last couple of years with Kudzu—the hardware-detection daemon from Red Hat—which automatically finds and configures new hardware attached to the system. Fedora Core is particularly friendly toward local printers.

I'm going to discuss attaching a local printer to your Fedora Core box in three stages. First, I'll discuss how Kudzu works when you simply plug a new printer into your computer, and what you can expect. Then I'll describe how to set up a print queue. Finally, I'll show you how a print queue works with typical software on your machine.

What if you don't let Kudzu configure your printer for you? As you'll see, it doesn't matter. You can configure your printer and add a print queue at the same time.

Kudzu

If you plug a printer into your computer and then boot it up, the Kudzu daemon will typically detect that new hardware has been added (or removed) and offer to continue configuration for you. You can also skip the configuration at that time, and run Kudzu manually from a command prompt. You have to be logged in as root in order to run this command:

/usr/sbin/kudzu

For more information about running commands like this manually, see Chapter 14, "Under the Hood."

In either case, you'll see a screen that looks like Figure 1, which appears when you run Kudzu manually after boot-up. During automatic detection during normal boot-up, this screen will vary slightly in that you'll also have an option to skip Kudzu configuration and run it later.

Click To expand
Figure 1: Kudzu automatically detects new hardware added to a machine.

In either case, if you continue with Kudzu, the next screen identifies specific hardware and offers you several avenues to follow, as shown in Figure 2.

Click To expand
Figure 2: Kudzu identifies specific hardware and offers you several choices.

The first option, Configure, configures your computer with the new hardware, be it a mouse, a printer, or an external drive. Once finished, you're returned to where you were before Kudzu started. You'll probably use this choice almost every time you run Kudzu.

The second option, Ignore, allows you to ignore the device for good. You can have the device detected automatically later if you run Kudzu from the command prompt. This option is handy if you want to investigate the hardware you're adding before running Kudzu, or if you want to manually configure the device yourself. You would also use this option when you've temporarily added a device that you're going to remove soon.

The third option, Do Nothing, sounds similar to Ignore, but it really isn't. It allows you to temporarily ignore the device; the next time you boot up your computer, Kudzu will run again as if it were the first time. You might use this option if you've added a device but don't want to spend the time configuring it right now. It usually doesn't take long (a few seconds to a half minute) but in the event that something doesn't work, you may end up spending more time getting it to work than you had planned, and it's handy to be able to ignore the detection if you aren't ready to commit the time.

Adding a Print Queue

Once you've installed a printer, your second step is to create a print queue—a definition of how to talk to that printer from your computer.

Select Main Menu | System Settings | Printing, and you'll be asked for the root password because you're changing system-wide settings. Upon successful entry of the password, the "Printer configuration" dialog will appear (see Figure 3).

Click To expand
Figure 3: Set up definitions for how to connect with a printer.

Click the New button to start the "Add a new print queue" wizard, shown in Figure 4.

Click To expand
Figure 4: The wizard helps you create a print queue with an existing printer.

Click the Forward button, as there's not that much interesting on this screen, and you'll be greeted by the "Queue name" dialog, shown in Figure 5.

Click To expand
Figure 5: This dialog helps you to uniquely identify the queue.

The queue name is used throughout your system when you print, so you'll want to provide a short but descriptive name. "LocalHP400" or "MyCanon1200" are pretty good names, while "BozoMan" and "MyPrinter" are probably not as good. Exactly what you use depends on the variety of printers you might have access to. If you have a number of different laser printers, the queue name used in Figure 5, locallj, wouldn't be descriptive enough, but if you only had a laser and an ink jet, then that semi-generic name would be fine.

You can add more information about your print queue in the "Short description" box if you need. It's probably a good idea to identify at least the make and model, maybe the location (although some printers tend to be moved a lot), and perhaps any other printer-specific or queue information.

Click the Forward button to see the "Queue type" dialog, shown in Figure 6.

Click To expand
Figure 6: This dialog displays the printer model and allows you to pick the queue type.

Because you've allowed Kudzu to identify and configure the printer, the printer name will appear in the "Queue type" dialog. Your next step is to determine the queue type by using the "Select a queue type" box. The first choice, as shown in Figure 6, is "Locally-connected," while the others all have to do with network printers, and are thus beyond the scope of this book. Whitepapers available on the Hentzenwerke Web site address network printing with Linux in various incarnations.

Click Forward to open the "Printer model" dialog, shown in Figure 7. Oddly, the wizard requires you to select a printer's manufacturer and model even if Kudzu has detected it. As a result, there's really not much point going through Kudzu because you'll need to identify your printer again during this print-queue setup.

Click To expand
Figure 7: You must re-identify the printer for which you're setting up a queue.

Select your printer manufacturer from the drop-down box at the top of the "Printer model" dialog, and the list of available printers for that manufacturer will appear in the list below, as shown in Figure 8.

Click To expand
Figure 8: You'll see manufacturer-specific models once you select a manufacturer.

Some manufacturers are rather profligate in terms of models, and it can be a chore to scroll through the list. Try resizing the dialog so that it's as tall as your screen, and it'll be easier to find your printer model. Yes, this list should probably be presented as a treeview, with all the LaserJet models in one node, and so on. Maybe next release!

Then click Forward and you'll see the Finish dialog, shown in Figure 9.

Click To expand
Figure 9: The Finish dialog allows you to confirm the settings you're going to use.

Click the Finish button and the wizard will ask if you want to print a test page, as shown in Figure 10. It's a good idea to do this now to make sure that all the connections are working properly. It's a pain to troubleshoot an errant printer after the fact.

Click To expand
Figure 10: The "Add a print queue" wizard allows you to print a test page and confirm that it printed correctly.

If the printer prints the page, you'll get a chance to confirm that everything is working fine, as shown in Figure 10. Note that it can take a minute or two for the page to print, depending on your printer.

If your printer isn't physically connected to your computer (or vice versa, I guess), you'll get an error dialog similar to the one shown in Figure 11.

Click To expand
Figure 11: The error message for a disconnected printer is somewhat cryptic.

If you are able to send the test page to the printer but it doesn't print, answer "No" to the confirmation dialog shown in Figure 10. If you answer "No," you won't get one of those helpful dialogs that simply says "Printing failed" and offers you a choice of one button that says "OK" (which you might be used to with other operating systems). Instead, to help you troubleshoot the problem, it displays an information dialog containing messages that were logged in the printing error log. A sample is shown in Figure 12.

Click To expand
Figure 12: Answering "No" to the confirmation dialog in Figure 10 opens the error log so that you can troubleshoot what might have gone wrong.

Once you're done with test printing, you'll be returned to the "Printer configuration" screen, shown in Figure 13.

Click To expand
Figure 13: The "Printer configuration" screen shows you a list of all printer queues set up on your computer.

This is where the action is. Select a print queue in the list and then click the Edit button, and you'll be in the "Edit a print queue" dialog, shown in Figure 14.

Click To expand
Figure 14: The "Edit a print queue" dialog allows you to continue configuring the print queue.

This dialog allows you to set all sorts of advanced options for the print queue. For example, the "Queue options" tab allows you to set the margins for the area that can be printed upon, as well as select banner pages for the start and end of the job—which can be handy for identifying which print job belongs to whom, if more than one person uses the printer.

The "Driver options" tab, as shown in Figure 14, has a number of settings that you may want to modify according to your specific needs. As you can see, you can change parameters such as resolution, number of copies, and manual sheet feed. As a result, you can set up multiple queues for the same physical printer that simply have different attributes, and then just select the appropriate queue instead of changing those attributes each time you want to print in a special way.

Tip

You could use this capability to set up a 300-dpi queue for "draft" printing and a 600-dpi (or 1200-dpi, depending on your printer) for "final printing." Similarly, you could set up a "grayscale" queue on a color printer for drafts in order to conserve color ink.

Another reason to set up more than one printer queue is if you've got more than one physical printer—say, a sluggish color ink jet and a zippy black-and-white laser—attached to your computer.

If you've set up more than one printer queue, you can choose which printer will be the default printer in your applications by selecting that printer and then clicking the Default button in the toolbar. Once you do so, the default printer will have a check mark in the Default column in the "Printer configuration" dialog.

Using a Print Queue

So now you've got a print queue set up. So what? What do you do with it? Simply put, the print queue will be available for you to select when printing with applications. Well-behaved applications should respect the "default" print-queue settings as well.

Figure 15 shows you the print dialog in The GIMP. You'll see the Printer Name box in the upper right corner, with "locallj" selected as the default printer for the current image. On the other hand, OpenOffice.org doesn't seem to respect the default print-queue settings, but the print queues are available in the Print dialog, as shown in Figure 16.

Click To expand
Figure 15: The GIMP's print dialog respects the default print-queue settings.
Click To expand
Figure 16: The current version of OpenOffice.org doesn't respect the default print-queue settings.


Scanners

When you think about it, a scanner is really just a printer in reverse, right? So setting up a scanner is pretty similar. After plugging in your scanner, select Main Menu | Graphics | Scanning. This starts the XSane scanning software. The first time you load XSane, you'll be prompted to answer a license agreement, shown in Figure 17.

Click To expand
Figure 17: The XSane license agreement appears only the first time you start XSane.

After you click Accept, XSane will attempt to locate the scanner attached to your computer, and will display a dialog telling you so, as shown in Figure 18.

Figure 18: XSane will tell you it's looking for devices.

If XSane fails to locate or connect to a scanner, you'll get a message like the one shown in Figure 19. I mention this because it's important to click the Help button. Unlike a lot of error dialogs that purport to offer assistance (you know, with advice like "The software was unable to connect to the device. Check the documentation that came with the device for more information."), clicking the Help button here opens a dialog with a variety of suggestions that may prove significantly more helpful. See Figure 20.

Figure 19: If a device isn't found or a connection isn't available, you'll see an error message similar to this one.
Click To expand
Figure 20: The XSane help is more helpful than many other software packages.

True, some of the options may still be obscure, but given the wide variety of devices and connections, it's pretty difficult to pinpoint the exact cause for every possible combination. In this specific case, the USB port I was connecting to was broken, and thus the software couldn't detect any existing device—it was as if the USB port didn't exist at all.

Assuming your scanner is detected properly (once I switched USB ports, my scanner, despite being 7 years old, was detected without a hitch), the XSane interface will appear. Typically, three windows will display, as shown in Figure 21. The main XSane window is located in the upper left of Figure 21, and acts as the control center for the software. A larger picture is shown in Figure 22.

Click To expand
Figure 21: The XSane scanning tool's interface includes three windows.

Figure 22: The XSane main window allows you to set the type of scan to perform.

While sparse, the main window has all that you need to scan and tweak your image. The rest of the windows just provide more functionality. I'll take a look at them for a moment and then come back to the main window to do an actual scan.

The Standard Options window underneath the main window, also shown in Figure 23, allows you to set parameters that affect the image you're producing from the scan.

Figure 23: Here you can control the brightness and contrast of your image.

The Preview window, to the left of the main window in Figure 22 and also shown in Figure 24, allows you to grab a preview of the image so you can adjust the original if needed.

Click To expand
Figure 24: You can sneak a peek at the image before performing the complete scan.

The View menu in the main window provides access to other XSane windows, including histograms, batch scans, and advanced options.

To scan an item, first you'll want to set any applicable preferences, using the Preferences Setup menu option in the main window. The XSane setup dialog has eight tabs (shown in Figure 25); which ones you work with depends on what you're doing with your scans.

Click To expand
Figure 25: Before scanning, configure XSane by using the Preferences | Setup option.

The Save tab allows you to configure permissions for image files and directories, and specify how to name scanned images. The Image tab provides options for JPEG image quality, PNG image compression, and TIFF image handling. The other tabs have specialized options relating to those functions—such as copying and faxing, creating OCR images, and handling the display.

Once XSane is set up the way you want it, go back to the main window and choose the mode (Viewer, Save, Copy, Fax, or Email) you want to work in, as shown in Figure 26.

Click To expand
Figure 26: You can choose which mode to use with a scanned image.

Then, in the next box, select the type of image (Lineart, Halftone, Grayscale, or Color) you're scanning, as shown in Figure 27.

Figure 27: Selecting a color image to scan.

Once you've selected your mode and type of image (and after you've put the image in the scanner!), click the Scan button to start the scanning process. The progression of the main window is shown in Figure 28.

Click To expand
Figure 28: The main window displays progress during the scan.

When the scan is complete, the Viewer window displays the scanned image, shown in Figure 29. Depending on the size of the image and the zoom selected, you may not be able to see all of the scanned image.

Click To expand
Figure 29: The scanned image appears in the Viewer window.

From there, you're all set to work with the image as you need—manipulating and adjusting the settings if it didn't come out quite like you wanted it, or saving the image and then manipulating it in a different program such as The GIMP.


CD-ROM Burners

There are several ways to copy data files from a hard disk to a CD in Fedora Core. I already showed you the first way when I discussed burning the ISOs before installing Fedora Core in Chapter 2. It's a bit obnoxious, having to type complex commands, and can be time-consuming and confusing if you're copying files from multiple directories.

The second way to copy data files is by using a GUI tool that comes with Fedora Core. Called X-CD-Roast, it's available through Main Menu | System Tools | CD Writer. Unfortunately, it's, well, not quite ready for prime time. Yes, it's got a GUI interface, so presumably it's easier than issuing commands at the command prompt like I showed you in Chapter 2. "Presumably," however, is a big assumption. If you've burned CDs in Windows, you know that the process should be a simple matter of opening a window with two list boxes in it. One list box contains the directory structure of your hard disk, and the the other box contains a list of files to be written to the CD. Using the tool should simply be a matter of dragging files or directories from the left list to the right list.

X-CD-Roast, however, requires you to navigate through a setup screen first, regardless of whether Fedora Core knows about your CD-ROM burner. Then you have to open a "Create CD" screen and make your way through several different windows and tabs, working with controls that are scattered all over and not necessarily named well.

I've been burning CDs since the early '90s, when I used a stand-alone drive that cost close to $2,000. One would figure that I'd have a rough idea of what to do, but I had a devil of a time getting this program to work. It's the type of software that people point to when making fun of Linux for being designed by techies for techies. And the documentation (available at http://www.xcdroast.com) is the classic kind that looks like it was written by a programmer. Don't get me wrong—X-CD-Roast is extremely powerful and can be fine-tuned and customized to suit most any need you can dream up, but in terms of making it easy to copy a few data files or audio tracks over to a CD with a mouse click or two, it's still just too hard.

The third way isn't nearly as sophisticated as X-CD-Roast, but it's definitely the way to go for quickly and easily copying files to a CD. This method uses the Nautilus File Manager; you open two windows and drag files from one to the other, and then click the Write CD button and you're off to the races. Here are the detailed steps.

First, open a copy of Nautilus. Select the folder or file that you want to copy to CD by highlighting it in the right pane, as shown in Figure 30. Next, open a second copy of Nautilus and type "burn:///" into the Location box (see Figure 31).

Click To expand
Figure 30: Highlight a source folder to copy.
Click To expand
Figure 31: Typing "burn—///" turns the Nautilus window into a CD-burning mechanism.

You'll see a new button appear in the toolbar—"Write to CD" on the far right.

Third, drag the folders and files from the first Nautilus window into the right pane of the second Nautilus window. When you're done, copies of them will appear in the second Nautilus window, as shown in Figure 32.

Click To expand
Figure 32: A Nautilus window with a folder ready to burn to CD.

Click the Write to CD button in the second window. The "Write files to a CD recorder" dialog will appear (see Figure 33).

Click To expand
Figure 33: Here you can set parameters before burning.

Typically you won't want to change the first two parameters in the dialog. You may want to provide a custom label in the "CD name" text box and check or uncheck the three check boxes according to your personal preferences. I like checking the "Eject CD when done" box so that I have a visual clue (and an explicit reminder) that the burning process is done.

When you're ready, click the "Write files to CD" button. After 15 to 45 seconds, a series of informational dialogs will document the progress, as shown in Figure 34.

Click To expand
Figure 34: The Writing CD dialogs show you the progress of the burning process.

When all files have been written, the CD will eject (if you checked that box in Figure 33). Pop the CD back in, and after a few moments, the CD will show up on the desktop like any other CD, as shown in Figure 35. You can now manipulate the files on the newly burned CD just like any other CD.

Figure 35: The CD shows up on the desktop with the name you provided in the "Write files to a CD recorder" dialog in Figure 33.


Summary

Linux has made great strides in hooking up to a wide variety of hardware in the past couple of years, and even better compatibility is high on the list of most open-source projects. Indeed, the biggest stumbling block these days is the recalcitrant vendor that doesn't want to open up its APIs to Linux developers, but the number of those companies is shrinking daily. Life is good and it's only going to get better.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 13: Security

Overview

In Chapter 1, I mentioned that one of the top 10 myths with respect to Linux is that "because it's more secure, you don't have to worry about security." And, yes, it is a myth: You do have to worry about security. The only computer that's completely secure is the one that's turned off, unplugged, and sitting in a locked box in the middle of the room. In this chapter, I'll address a variety of topics dealing with security from the point of view of a power user: from strong passwords and separate user accounts to virus protection and firewalls.

Security is a hot topic these days, and I'm not going to get into a big argument with folks in the Microsoft camp about which operating system is more secure. There's plenty of material available for research on the Web and from various consulting companies; some of it will convince you that Windows is more secure and some of it will convince you that Linux is. And obviously, I'm biased. I spent over a decade developing software on Windows, and I'm moving everything to Linux.

All I can offer is my personal experience running Windows and Linux servers and workstations side-by-side for the last couple of years. I've experienced attacks targeted against Windows boxes that are many orders of magnitude larger than those that target Linux computers. Whether the attackers look for holes in Windows server software, aim at vulnerabilities in desktop software and applications, or rely on the naïveté of Windows users, the fact is that more attempts are made against Windows than against Linux. My Web server logs are filled with tens of thousands of attacks against Windows exploits; I've yet to be hit by a Linux exploit (knock on wood, of course). And my Windows workstation is being hammered by viruses in a dozen different ways incessantly throughout the day, through e-mail viruses, Web-site spoofs, and other means. I've yet to receive a Linux-based virus through e-mail, and if I did get one, it would have to be a shell script—and I'm not aware of any Linux mail client that ever allowed the execution of attachments by default.

That's because, generally, attackers want to make the biggest splash possible, and they do that by attacking the largest installed base with the most vulnerable population. And right now, that target is Windows. But as Linux becomes more popular, it will offer an increasingly attractive target, and undoubtedly someone out there would like to become known as the person who engineered the first widespread Linux attack. So don't let the current minuscule likelihood of being attacked let you stay complacent.


Your Own Password

When you installed Fedora Core, presumably you followed the instructions and created your own user account instead of just cruising around as "root." (If you didn't, I'll show you how to create a user account in an upcoming section.)

When you created your user account, you also created a password. At some point, you will probably want to change it. Here's how. Select Main Menu | Preferences | Password, and you'll be prompted for the password for the currently logged-in user, as shown in Figure 1.

Click To expand
Figure 1: You must re-enter the current user's password first.

Why? Obviously you know your password, because how else could you be logged in? The answer is ... perhaps it isn't you at your computer night now. Someone could have wandered by your machine while you went for a coffee, and changed your password on you, and you'd never be the wiser—not until tomorrow when you tried to log in and found your password didn't work. That would start the day out wrong.

Once you enter your password (or the password for whichever user is shown—maybe you're changing the password for one of your kids on this machine), you're asked for a new password (see Figure 2). Linux will do some checks on the password you enter. For example, if you enter "mouse" or "herman," you'll get an error (see Figure 3).

Figure 2: Then you're prompted for a new password.
Click To expand
Figure 3: Fedora Core won't let any old password by.

So enter a good password. What makes a good password? Oh, gosh, lots of things. First, make it long enough. Fedora Core won't let you enter a two- or three-letter password; it has to be at least five characters long.

The second attribute of a good password is that it's a completely random combination of letters and characters. Despite what the movies will have you believe (I'm referring specifically to Spaceballs), "12345" is not a good password. On the other hand, "j45R83_dT" is much better because it contains all of the elements that people advise: lowercase and uppercase letters, numbers, and even a symbol thrown in for good measure. The problem is that it's hard to remember and type.

A good compromise is a combination of letters and numbers that means something to you but is put together in a random manner. For example, suppose you played soccer goalie as a youngster, and you lived at 1026 North Elm Avenue. Combining these attributes could generate passwords like these: "so1026CCelmer" or, even better, "go10NEal26ie".

You don't want to make it so hard, though, that you won't remember the trick you used, and end up writing it down on a piece of paper taped to your monitor.

Once you've entered a secure password, you'll be prompted to retype it (see Figure 4). If you don't retype it the same way (you might have mistyped, but you need to mistype twice the same mistaken way), you'll be warned, as shown in Figure 5.

Click To expand
Figure 4: Retyping your password ensures that you didn't make a mistake typing it the first time.

Figure 5: If you don't repeat the password properly, you'll be notified.

And that's all there is to it. You don't have to have any special privileges, but you do have to know the original password.


Change Root Password

Just as with your user password, you may find a need to change the root password. One common reason is that when people start out with Linux, they provide a "weak" password for root so that they can easily remember it and get on with getting acquainted with their new operating system. After a while, they'll realize that it really is time to create a stronger root password. Here's how.

Select Main Menu | System Settings | Root Password, and you'll be prompted for the root password, as shown in Figure 6, much like when you changed your own password. In this case, you're running an application that requires root access.

Click To expand
Figure 6: You have to know the root password in order to change it.

After entering the current root password, you'll be prompted to enter and re-enter the new password, as shown in Figure 7.

Click To expand
Figure 7: Enter and re-enter the new root user password.

The same process applies as with your user password: The new passwords must match, for example. And, again, that's all there is to it.


Users and Groups

As I've mentioned regularly, using root as your daily account is one surefire way to expose yourself to security problems, make yourself susceptible to accidentally trashing your system, and attract ridicule from friends who know better. But because you've been using Windows, where running as Administrator is a common practice, perhaps you haven't taken those warnings to heart yet. If not, now is the time to create a user account for your daily use.

Select Main Menu | System Settings | Users and Groups to open the User Manager window, shown in Figure 8. Then click the Add User button (or the File | Add User menu item) to bring forward the Create New User dialog, shown in Figure 9.

Click To expand
Figure 8: This is the control center for working with users and groups.

Figure 9: Adding a new user.

The User Name value is the text string that you'll use to log on, so don't make it too long or include a lot of weird characters in it. The Full Name value is simply used to identify who owns the User Name. The Password and Confirm Password values are for the user being added. The rest of the values can stay as-is. Click OK and the new user will be added to the User Manager window.

If you've just got one or a few users on the same computer, that's all you really need to do. You may be wondering, "Why bother with multiple users at all?" There are some advantages of having separate users. The first is that each user can customize the interface as she wants, including the programs and applications installed on the panel and desktop, as well as the visual components of the desktop manager.

Another advantage is that each user gets his own directory under the /home directory. In Figure 8, you can see the home directories for each user. For example, herman's home directory is /home/herman, while igor's is /home/igor. Access to this directory is restricted to the user; to prove it, create another user on your machine, and then log on as yourself and try saving a file in that other user's directory.

This means that you can make sure that each person's data is segregated. You won't have anyone accidentally (or maliciously) messing with someone else's data. This also means that an unknown user, such as an attacker that gains access to your machine, is restricted in the harm they can perform. If they take control of your machine due to an action that you perform (such as visiting an evil-laden Web site), they'll only have the same access that you do. If you were running as root, they'd have full run of your machine: yet another reason for not running as the root user during your day-to-day chores.

This discussion has centered on users, yet the section heading says "Users and groups." What's a group and why should you care? A group is a collection of users who all have common attributes, needs, and requirements. The most common reason for creating a group is so that several users can share a set of files. Because each individual user's files are owned just by that user, one user can't generally access another user's files. There are ways around this, but those methods are awkward, inconvenient, and generally a bad idea.

The better solution is to create a "joint user" whose files can be accessed by other users who have been given special permission. Another name for this "joint user" is a group. The fundamental idea is that you create a group, and then add users to that group. When users create files as part of that group, those files can then be accessed by anyone else who is a member of the group.

Specifically, here is how you would make this happen. Suppose Herman and Igor needed to share files. You would create a group, say, "theboys," by opening the User Manager and selecting Add Group. Enter the name of the group, as shown in Figure 10. When you're done, the new group is listed on the Groups tab of the User Manager window, shown in Figure 11.

Figure 10: Adding a group in the User Manager.
Click To expand
Figure 11: The User Manager shows the new group, but without any group members.

You'll note that each user has its own group, or, if you think about it in a different way, every time you create a user, a group is created that contains one and only one member—that user. That's why each user is restricted to only his own files.

You'll also notice that the "theboys" group doesn't have any members—yet. Select the group in the list and the Properties button will become enabled; click it to bring forward the Group Properties dialog. Select the Group Members tab in the Group Properties dialog, as shown in Figure 12, and you'll see a list of users who are eligible to join the group. Scroll down and select both Herman and Igor.

Figure 12: Users who are eligible to become members of the "theboys" group.

You'll notice that a lot of items in the list are not users. The details of this are beyond the scope of the book, but the general idea is that individual processes (somewhat like programs) running on your computer can also be eligible to join a group so that they can have access to specific files or directories. In addition, this prevents a process from becoming a security hole if that service is somehow compromised.

After you select Herman and Igor, they'll show up as group members in the User Manager window, as shown in Figure 13.

Click To expand
Figure 13: Herman and Igor have now become members of the "theboys" group.

Now what? Herman and Igor both have their own home directories, under /home. But what we want is a separate directory, called /home/theboys, that all members of the "theboys" group have access to, just like Herman has access to /home/herman and Igor has access to /home/igor. But no one except members of the "theboys" group will have access to /home/theboys.

Here's how to make this happen. Open a command window and enter the following commands, as shown in Figure 14 and in the following listing:

$ su Password:
# cd /home
# mkdir /home/theboys
# chown herman /home/theboys
# chgrp theboys /home/theboys
# chmod 770 /home/theboys
# chmod g+s /home/theboys
Click To expand
Figure 14: Creating a directory accessible only to members of a group.

For the time being, take the commands as a leap of faith; I'll describe them in more detail in Chapter 14, "Under the Hood." In short, after becoming root, you're creating a directory called /home/theboys, assigning its ownership to herman (the original owner was root), and then mapping the directory and the group together.

If you look in a file manager such as Konqueror, you'll see the owner and group for the new directory, as shown in Figure 15.

Click To expand
Figure 15: The new "theboys" directory is owned by "herman" and is attached to the "theboys" group.

The only people who are allowed access to the directory "theboys" are members of the group "theboys"—currently only Herman and Igor. When they relent and make their little club friendlier by letting Sandra in, only two things have to be done. First, the user "sandra" needs to be added in the User Manager. Then Sandra needs to be added to the "theboys" group. Once those two tasks are accomplished, Sandra has access to files in the "theboys" group and can give them a difficult time about how poorly they named their group.

Note that the group name and directory name do not have to be the same; I just made them identical for the sake of convenience.


Authentication

There's an intriguing-sounding item in the menu that just cries out for some snooping. If you click Main Menu | System Settings | Authentication, you'll see a dialog whose Authentication tab is shown in Figure 16.

Click To expand
Figure 16: The Authentication tab of the Authentication Configuration dialog doesn't contain anything relevant to a desktop user.

Despite its allure, there's really nothing useful in this dialog for a desktop user unless you're connecting to a network that supports LDAP, Kerberos, or SMB. And if you are, the administrator of the network will take care of these settings for you.


Virus Scanners

Everyone knows that there aren't any viruses for Linux, right? Well, 600 years ago everyone knew that the world was flat, and 100 years ago everyone knew that heavier-than-air flight was impossible. Things change, and you can bet that sooner or later (and probably sooner), Linux will get hit with its first widespread virus.

Thus it behooves you to be prepared, and get used to having a virus scanner installed and running on your desktop system now. When the first big-time virus hits, you'll be in much better shape than all those folks who will end up saying, "I didn't think it would happen to me."

The rest of this book has covered software that comes as part of the standard Fedora Core distribution, but FC does not come with a virus scanner. This functionality is important enough that I'm going to break my rule this one time and show you how to download, install, and run a third-party piece of software.

F-Prot (http://www.f-prot.com) has a virus scanner that's free for personal use on workstations. It comes in three types of packages, including a 2.3 MB RPM. There are also a gzip-ed TAR file and a version for Debian/GNU.

Download and Install

Navigate to http://www.f-prot.com and look for the Download link for Linux home users. (They also make versions for Windows, BSD, and DOS (yes, DOS!), so make sure you get the right one.)

Because this book is using Fedora Core, download the RPM file to a directory. I keep a subdirectory under my home directory specifically for software installation files I download—/home/whil/zips—and this is where I'd put the RPM file from F-Prot. On the page for the link for the RPM file, there should also be a link for the MD5SUM file. Click on that next. It should open a browser window, shown in Figure 17.

Click To expand
Figure 17: Clicking the MD5SUM link will display the md5sum string in the browser.

Open a command window and change to the directory where you saved the RPM. For me, that would be this command:

cd /home/whil/zips

But your command might be different. Then type this:

md5sum fp-

Then press the Tab key. It'll automatically complete the rest of the command for you. Press the Enter key, and the md5sum for the file you downloaded will appear in the command window. Compare this with the md5sum value you downloaded, and if they match, you're all set. (If they don't, trying downloading the RPM file again; most likely, the file was corrupted during downloading.)

Now install it. The F-Prot documentation instructs you to use the "rpm" command in the command window, like so:

rpm -Uhv /path/to/fp-linux-ws-VERSION.rpm

But you don't have to. Because it's an RPM file, you can just double-click the RPM file in GNOME or Konqueror. If you run RPM from one of the file managers, you'll go through the standard RPM install process. First it will request the root password, because you're installing a system-wide package. See Figure 18.

Click To expand
Figure 18: Enter the root password so you can install the package.

The package will start installing, and you'll see a couple of progress windows, shown in Figure 19. The last screen appears and disappears pretty fast. And then ... nothing. So now what? Is it installed? Is it running? Is it working?

Click To expand
Figure 19: The RPM installation process flashes a couple of progress windows.

Testing and Running

To answer the first question, look in the /usr/local/f-prot directory. You should see a dozen files and three directories: one each for documentation, man pages (see Chapter 14 under the "Commands" section), and tools.

Next, open a command window and enter this command:

f-prot -verno

You should get feedback listing the installed version and the installed virus signature files, as shown in Figure 20.

Click To expand
Figure 20: Results of testing to see if f-prot is running or not.

Next, enter the following command to inspect the passwd file in the /etc directory:

f-prot /etc/passwd

The bottom half of Figure 20 shows you what the results should look like.

Next, you'll want to update your virus signature files. Again, open a command window, but this time, become root by using the "su" command, and then type:

/usr/local/f-prot/tools/check-updates.pl

If files are available, they'll be downloaded and installed. If you've got the most current files, you'll get a message that says, "Nothing to be done ...".

It can be a pain to run this command on a regular basis just to fetch updates. It can also be a pain to scan your system manually all the time. If you'd like to perform either (or both) of these actions automatically on a regular basis, you can do so by using a Linux utility called "cron." In Chapter 14, "Under the Hood," I discuss in detail how to create "a cron job" by using F-Prot as a real-world example.

Finally, the documentation is also available on the F-Prot Web site; see the links in the upper right of the Linux page, shown in Figure 21.

Click To expand
Figure 21: The link for the F-Prot documentation on the F-Prot Web site.


Firewalls

Viruses are just one way that bad guys can bother you and your computer. If your computer is connected to the Internet, the other side can try a wide variety of ways to contact, get into, and, ultimately, take control of your computer. Remember, your connection to the Internet is not a one-way street. Just as you can use your connection to get from your computer to the Internet, other folks can use your connection to get into your computer.

When a connection is made to a computer, it first identifies the computer via its IP address. From there, it attempts to connect through a device called a "port," which is somewhat like an extension of the IP address. Your computer's IP address is like the main switchboard number, and the port numbers are individual telephone extensions. A typical computer has more than 65,000 ports. While that sounds like a large number, most of them are automatically closed off, and others are designated for specific common uses. For example, port 80 is used for HTTP traffic if you're running a Web server. Ports 25 and 110 are commonly used for e-mail. Still, there are still dozens, if not hundreds of ports, any of which might potentially be open for access from the outside.

To prevent the bad guys from connecting through these ports, you can set up a firewall that stops connections through all but specific port numbers. You can implement firewalls by using hardware or software. Fedora Core comes with a software firewall that you can configure to stop incoming traffic to all but specific ports that you explicitly allow.

The firewall configuration was part of the installation process; see Step 15 and Figure 30 in Chapter 2, "Installing Fedora Core." You may have skipped that part, in which case you need to configure it now; or you may want to take a look at how it's set up. So, to configure your firewall, open the Security Level Configuration screen by clicking Main Menu | System Settings | Security Level. You'll be prompted for the root password, and then the Security Level Configuration screen will appear, as shown in Figure 22.

Click To expand
Figure 22: The Security Level Configuration screen allows you to turn your firewall on or off, and to specify which ports should be open as well.

If you're running a workstation, you should keep the "Security level" combo box set to "Enable firewall" and leave all of the trusted services and trusted devices unchecked. That may seem counterintuitive at first; after all, wouldn't you want, say, "WWW (HTTP)" to be selected so you can access the Web? But these options are for setting up servers. If you were running a Web server that was going to be accessed from the outside, you'd select the WWW check box. If you were running an e-mail server, you'd select the "Mail (SMTP)" check box.

If you checked any of these options earlier, you're opening your machine to unnecessary connections from the outside world. You'll be much safer if you uncheck them now. Telnet and FTP are particularly insecure, because your passwords are sent to the other computer in plain text, which means that someone eavesdropping on your network (it's easier than you think!) can easily pick them up.


Summary

Security is a never-ending battle between the good guys and the bad guys. Unlike stock applications such as word-processing and drawing packages, you need to keep up on security due to its ever-changing landscape. Keep your machine updated (as described in Chapter 3, "Updating Fedora Core"), install and use a virus scanner, and pay attention to major new developments. The computer community is still in for a few turbulent years—it's much like the Wild West of the American frontier—before things settle down. You need to stay alert.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzenwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Chapter 14: Under the Hood

Overview

Just about everything we've done so far has been through a graphical user interface (GUI) running on top of Linux. We've used the GUI for just about everything, from making changes to the system configuration to launching programs. However, the GUI is a fairly recent addition to the Linux world. Many hard-core and experienced users never use the GUI, and there are uses for Linux for which a GUI would be out of place. You've seen hints of this world: an interface underneath the GUI that can be entered by using a tool similar to the Windows command window or DOS prompt. In this chapter, I'll discuss how to get under the hood by using the Linux command window. You'll also learn the whys and hows of some of the things you've done with the command window.

The Linux command window is known by a variety of names; go to a Linux user-group meeting and you'll hear terms such as "command line," "command prompt," "shell" or "shell prompt," "terminal window," "command line," and "console," and perhaps even a misplaced "DOS prompt" or two.

Strictly speaking, "Command Line Interface" (CLI) is the generic term for the software device used to issue commands to the system. CLIs are called by different names depending on what operating system you're using, and how you're accessing the system. For example, Unix systems refer to them as "shells." If you have direct physical access to the machine, "console" is proper usage. The application on Fedora Core and on the Macintoch OS X operating system is called "Terminal," so common terminology refers to "opening another terminal" or "opening another terminal window."

Because we're using Linux, you'll run into the term "shell" rather often. "Shell" is a generic term that refers to a class of programs that provide CLI functionality. Most Linux distributions come with a number of shell programs, including the Korn Shell (ksh), the C Shell (csd) and the Bourne Again Shell (bash). In Fedora Core, the default shell program is bash; to get to it, select Main Menu | System Tools | Terminal.

To find all available shells on your system, type:

cat /etc/shells

Each of these shells performs the same functions, but they understand different commands and provide different built-in functions—consider OpenOffice.org Calc, Microsoft Excel and Lotus 1-2-3, which are all spreadsheets, but they have different menu structures and built-in spreadsheet functions.

By contrast, Windows has only one shell, called "command.com," and accessed through Program Files | Accessories | Command Prompt. You can find oodles of additional information about shells here: http://www.faqs.org/faqs/unix-faq/shell/shell-differences/.

Getting back to the definitions discussion ... common terminology, then, often refers to "opening a shell." When you open a CLI such as bash in Linux, you're greeted with a window that contains an operating-system prompt, like so:

[whil@freedom whil]$

You type a command, press Enter, and the system (hopefully) responds to the command with some sort of output, or perhaps another shell prompt. For example, if I entered the command "Is -al" to list the files in the current directory, I might see something like:

[whil@freedom whil]$ ls -al
drwx------   58 whil     whil          8192 Apr  1 18:19 .
drwxr-xr-x    8 root     root          4096 Mar 31 13:48 ..
drwxr-xr-x    3 whil     whil          4096 Mar 23 14:16 Desktop
drwx------    8 whil     whil          4096 Mar  2 20:36 evolution
-rwxr-xr-x    1 whil     whil       1324820 Mar  7 18:27 installation.pdf
drwx------    2 whil     whil          4096 Feb 25 18:01 mail
drwxr-xr-x    1 whil     root          4096 Mar 19 12:08 music
drwxrwxr-x    2 whil     whil          4096 Mar 22 16:34 RollerStuff
drwxr-xr-x    4 whil     whil          4096 Mar 30 16:32 zips
[whil@freedom whil]$

Not all commands return a response; a lot of Linux commands produce no output if they succeed, so all you'll see is another prompt.

The operating system prompt is often referred to as a "command line" or a "command prompt." Programs that are designed to run by typing a command at the operating-system prompt are often called "command-line utilities."

In this book, I've referred to the Fedora Core Command Line Interface by different names. In this chapter, I'll refer to the application that appears when you select Main Menu | System Tools | Terminal as the command window, and the place inside the command window where you specifically type commands as the command prompt. You're free to call it what you want.


Top 10 Things You Need to Know About the Command Window

The command window is a rich, powerful, programmable tool, and many books have been written that cover it alone. Here are the top 10 things about the command window I've found to be useful. The following discussion assumes that you're running bash as your shell program.

1. Command Window Title Bar

The string in the title bar defaults to the name of the current user, concatenated with the host name (machine name) and the current directory. If you open a command window and change to a different directory, like so:

cd /home

The string in the title bar will change.

2. Command Prompt

The string in front is the prompt. The default bash prompt includes the user, the host name, and the current directory. Typically, your command window will start in your home directory, so

[whil@freedom whil]$

means

[whil@freedom /home/whil]$

If you're in the "zips" subdirectory of your home directory (for example, /home/whil/zips), you'd see this:

[whil@freedom zips]$

3. Command Prompts For Root vs. Regular User

The prompt ends in either a dollar sign ($) or a pound sign (#). The $ means that you are logged on as a regular user. The # means you're logged on as root. You'll hear this again, but note that if you're logged on as root in a command window, you can easily mangle or destroy your system with one typographic error.

4. Customize Your Prompt

You can customize the prompt by making changes to certain configuration files.

The behavior of the command window (more specifically, the behavior of the shell) depends on values in several configuration files. Linux looks at the /etc/profile file first, then the ~/.bash_profile file, and then the ~/.bashrc file. (If you're using a different shell, these files are different.)

The first file is a generic, system-wide file that runs regardless of which user is logging on, and only the system administrator can modify this file. As you can see, there is a copy of the second file in every user's home directory, and it runs every time that user logs in. Because each user has her own ~/.bash_profile file, the command window can be customized on a peruser basis.

The third file, which also exists in every user's home directory, also runs on a user-by-user basis whenever a new command window is opened, except during initial login. As a result of having separate .bash_profile and .bashrc files, each user can run specific customizations just during initial login or for all command windows except during initial login. You might be thinking that while this complex mechanism makes for wonderful flexibility, it's also awkward if you want to run some customizations for a specific user, but also for every command window, because you'd have to add the same customizations to both files. Ha! Gotcha covered here too. Fedora Core's default .bash_profile file comes with a short script that looks like this:

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

Don't worry about how it works; the important thing is that this script makes bash run the .bashrc file in the user's home directory whenever the .bash_profile script runs. As a result, if you put all of your customizations in .bashrc, they'll run for every shell. If you still need customizations that run only during login, put them before this line in .bash_profile.

It's a good idea to put anything that takes a noticeable amount of time in .bash_profile so that subshells start up really fast by doing only the minimum in .bashrc.

And, of course, this all applies to the root user as well as every other user. The root user's .bash_profile and .bashrc files are in /root, of course.

Now on to the business of customizing the prompt, since that's what we started talking about. The commands I'll be discussing all go into the ~/.bashrc file, right? The basic structure of the command to change the prompt looks like this (note that there can't be spaces on either side of the Equals sign):

PS1='Hello world!'

Enter this string into your .bashrc file, save the file, and then open a command window. The command prompt will simply say:

Hello World!

That's probably not going to be very helpful, although I've seen a number of whimsical variations, the best being:

Yes, Master?

You'll notice that you have to enclose a string that has a space in it with quotation marks, which is probably no big surprise. If you've got a string that already has a quotation mark in it, you'll need to use a different delimiter, like so:

PS1="Whil's computer awaits direction:"

There are a number of special characters that will display certain types of information, such as the name of the user currently logged in, the name of the computer, the current directory, the date, the time, and so on. Table 1 lists some common ones. Typing "man bash" at the command prompt () will give you a full list of special characters.

Table 1: Special characters you can use to customize your prompt.
Special Character | Text Output
\a | An ASCII bell character (07)
\d | The date in "Weekday Month Date" format (for example, Tue May 26")
\e | An ASCII escape character (033)
\h | The host name up to the first'.'
\H | The host name
\n | Newline
\r | Carriage return
\s | The name of the shell
\t | The current time in 24-hour HH:MM:SS format
\T | The current time in 12-hour HH:MM:SS format
\@ | The current time in 12-hour am/pm format
\u | The user name of the current user
\v | The version of bash (for example, 2.00)
\w | The full name of the current working directory (except for your own home directory, which will be displayed as '~')
\W | The basename of the current working directory (for example, 'cups' instead of '/etc/cups' and 'whil' instead of'~')
\! | The history number of this command
\# | The command number of this command
\$ | If the effective UID is 0, a #; otherwise a $
\\ | A backslash
\[ | Begin a sequence of nonprinting characters, which could be terminal control sequence into the prompt used to embed a
\] | End a sequence of nonprinting characters

Here are several examples to get you started. Note that you can just type the command in a command prompt; you don't have to modify your .bashrc file and save it each time.

This command | Produces these results
PS1=[\w] | [~] (when you're in your home directory) [/etc/cups/interfaces] (when you're in the /etc/cups/interfaces directory)
PS1=' [\w] Dude? ' | [ ~ ] Dude? (when you're in the /etc/cups/interfacesyour home directory)
PS1=' [\u@\h \W] Dude? ' | [whil@freedom cups] Dude? (when you're in the /etc/cups directory)
PS1=' [\t] [\u@\h \W] \$ ' | [21:52:01] [whil@freedom: ~] $

5. Change to Root Inside the Command Window

You can change to root after opening a command window in one of two ways. The first is by using the "su" command:

[whil@freedom whil]$ su
Password:
[root@freedom whil]#

Note that you're still in the /home/whil directory, but now you're root. (Referring back to the first item, you'll note that the title bar has also changed, which means you have "godlike" powers. You can make any change you want to the system, install software, delete files, get into anyone else's home directory, and so on. This also means, as I've said before, that you can do tons of damage. For example, "rm -rf /" will destroy every file on your computer in about five blimptoseconds.

The second way you can change to root is by using the "su -" command:

[whil@freedom whil]$ su -
Password:
[root@freedom root] #

If you use this method, you'll note that both the prompt string and the title bar have changed. Also note that you're now in the /root directory (which is the root user's home directory). The reason that this is different is that the "-" after the "su" command brings root's environment along with it. What's an environment? It's a group of settings, such as the prompt, system variables, and so on, that belong to a specific user. The home directory, for example, is one such setting, and the command-prompt string is another. These can be different (and often are) for different users.

When you use the "su" command, you're just gaining root privileges, but you're still working in the original user's environment—with the original user's path, prompt, home directory, and so on.

When you use the "su" command, you switch your environment to that of root, and that's why you're suddenly launched into root's home directory, "su -" is short for "su -1" or "su --login", by the way.

6. Commands are Case-Sensitive

One command is "Is" (list). Type "Is" at the command prompt, and you'll get a directory listing. Type "LS" (or "lS" or "Ls") and you'll get a response like this: "-bash: LS: command not found."

7. Move Through Command History

You can scroll through command history by using the up and down arrow keys. You can also type "history n", where "n" is a number to display the last "n" commands. Because bash stores the last 1000 commands by default, you may want to include a number that is fairly small (perhaps less than the number of rows in your command window).

history 10

8. String Completion

Pressing the Tab key will complete strings. As you saw in Chapter 13, you can use the Tab key to complete a long file name instead of typing it (and creating typos). To try this out if you didn't go through Chapter 13, switch to a directory that contains a bunch of long file names. If you created a "zips" directory under your home directory in order to save zips and rpms that you've downloaded, your zips directory might look something like this:

fp-linux-ws.rpm
mozilla-i686-pc-linux-gnu-1.6-installer.tar.gz
rh9.ymessenger-1.0.4-1.i386.rpm
rp8.linux20.libc6.i386.cs2.rpm
rv9_libc6_i386_cs2.tgz
VMware-workstation-4.0.5-6030.i386.rpm
xmms-mikmod-1.2.8-1.i386.rpm
xmms-mp3-1.2.8-3.2.fr.i386.rpm

Suppose you wanted to run the "rpm" command on the VMWare rpm package instead of doing so through a graphical file manager. According to the VMWare documentation, the command would look something like this:

rpm -Uhv VMware-<xxx>.rpm

where the <xxx> is the string "workstation-4.0.5-6030.i386". You certainly don't want to type all of those numbers and periods and hyphens. Instead, you can type this:

rpm -Uhv VM

and then press the Tab key. The string will be expanded to this:

rpm -Uhv VMware-workstation-4.0.5-6030.i386.rpm

and the cursor will be sitting at the end of the line, waiting for you to make additional edits; or you can simply press the Enter key to execute the command.

The only caveat is that you have to type enough of the string that the shell will be able to uniquely identify the file you're interested in. If you don't type enough to identify the file, the amount that is matched will display, and then you can continue typing until you get enough to make another unique match.

9. Multiple Command Windows

You can have multiple command windows open at the same time. This is handy for several reasons. The first is that some commands take over the command window, disabling it for any other use until the command is finished. For example, if you want to edit a configuration file, you can call gedit from within a command window, like so:

gedit /etc/fstab

However, as long as gedit is running, you don't have access to the command window that spawned the editor session. If you want to run another command, you need to open a second command window.

The second reason to open multiple command windows is so you can do something as root without logging in as root. If you've already got one command window open as your day-today user, you don't have to close it. Just open a second command window and change to root in that window.

10. Command Window Attributes

You can change the attributes of a command window. The collection of a command window's attributes make up its "profile," and you can create multiple profiles, each of which is used by a different user. This is particularly useful when you need to run one command window as root. Sure, the prompt changes, but it's easy (particularly as your eyes pass a certain vintage, like mine) to miss that small visual clue. (That's why I also change my root command prompt to be radically different from all others.)

To create a new profile for a command window, select File | New Profile (see Figure 1). You can also select Edit | Profiles to open the Edit Profiles dialog (Figure 2), and then click the New button to open the New Profile dialog as shown in Figure 1.

Figure 1: Here you can create a new profile, and optionally base it on an existing one.
Click To expand
Figure 2: The Edit Profiles dialog allows you to manage multiple profiles.

The New Profile dialog defaults to creating a new profile based on the default profile in the system, but if you've already created different profiles, you'll be able to create a new profile based on one of them as well.

Ultimately, the New Profile dialog doesn't do anything terribly interesting. It's the "Editing profile" dialog, shown in Figure 3, that holds all the action.

Click To expand
Figure 3: This dialog contains six tabs of attributes that describe the profile.

You can also get to the "Editing profile" dialog by selecting Edit | Current Profile, or Edit | Edit Profiles, and then selecting the profile of interest and clicking the Edit button. Or you can right-click in the command window and select Edit Current Profile from the context menu.

On the General tab, the profile icon is the image that displays in the panel when you have a command window running. You probably don't want to change the font, since the default choice, monospace 12, looks okay and renders fixed-pitch strings nicely. Changing to a proportional font such as Arial can make it nearly impossible to distinguish between certain characters (the lowercase letter "1" and a number "1", for example).

On the Title and Command tab, you can control what shows up in the title bar. Choices include the name of the profile in various combinations, with the default string of "username, hostname, and current directory."


The Environment

An environment variable is a value set in the operating system and is available both interactively and to programs. For example, the shell program running in the command window is stored in an environment variable, and you can query it by using the "echo" command. On my system, if I type:

echo $SHELL

It returns:

/bin/bash

When I am developing software, I set up several environment variables to provide identification tor my software. These variables indicate that the programs are running on a development machine as opposed to running on a user's computer in production. When my software runs, it looks for those environment variables. If it finds them, certain "developer-only" functionality is available (such as debugging tools). If the software doesn't find the variables, the software runs as if it's on a user's computer. By using environment variables, I can run the software both in development and production modes on the same machine.

Linux has environment variables much like those available in Windows. A number of environment variables are set automatically, and you can set up more yourself.

You can type "env" to see a listing of the system environment variables and type "set" to display all environment variables, shell functions, and aliases. You can also see any other command by using the "echo" command as mentioned earlier. Note that environment variable names are case-sensitive, so while

echo $PATH

returns

/usr/kerberos/bin:/usr/local/bin, etc.

the command

echo $path

returns nothing.

Here are some useful environment variables:

  • HOME—The current user's home directory

  • HOSTNAME-—The name of the machine

  • MAIL—The name of the mail spool

  • PATH—The path the system looks in to find commands that the user has entered

  • SHELL—The current shell program that is being executed

  • USER—The name of the current user

You can set your own environment variables by using a command similar to that used for changing the shell prompt, mentioned earlier in this chapter. For example:

PYDEV='whil'
export PYDEV

creates the environment variable PYDEV and assigns the value "whil" to it—but only in the current shell. The export command then makes it available to subsequent programs. If you want the environment variable to be created automatically when your computer starts up, put the commands in the ~/.bashrc file along with the "PSI=" command.


Commands

Time to talk about the commands themselves. There are two groups of commands that can be entered at the command prompt. While the difference should be transparent to the user, once in a while you can run into a problem caused by the difference.

The first type of commands are called "built-ins" (in DOS, they were called "internal"). These commands are part of the shell itself, and they don't require a separate program file to run. For example, the command "cd" (to change to a different directory) is part of the shell—there isn't a separate "cd" executable file on your disk somewhere. You can execute a built-in command regardless of how you're logged in or what directory you're in.

The second type of commands are external—they require a program to run. Most of the commands you'll execute at the command prompt are external. The problem has to do with finding those commands, and that brings up the topic of the "path."

The Linux Path

The "path" is the list of directories that Linux looks in when executing a file. For example, a typical path for a regular user might be:

/usr/local/bin:/usr/bin:/bin:/home/whil/bin

You can determine your own path by using this command:

echo $PATH

The "echo" command and the PATH variable are both case-sensitive.

Note that the current working directory (".") is not part of the path. In Windows, you can execute a program whose executable file is in the current directory simply by typing the name of the file. This is a security risk, and thus is not default behavior in Linux.

Why is it a security risk? Suppose a user visited a malicious Web site that surreptitiously downloaded a program named "Is" into the user's home directory. If the current directory was part of the path, the next time the user executed "Is" while in his home directory, the bogus copy of "Is" would be executed instead of the legitimate version in /bin. This behavior is just one more reason why it's harder to take over a Linux computer than a Windows computer.

As you saw in Chapter 6, "Files, Directory Structures, and File Managers," the /bin and /usr/bin directories contain hundreds of programs and scripts, and as a result, they're normally part of every user's path. However, suppose an installation routine doesn't put its executable file, script, or symlink in those directories. Those are the times when you type a command at the command prompt and get a "command not found" response. Later in this section, I'll discuss how to find those programs.

Global path settings are stored in the /etc/profile file. Then you can set individual paths by adding to the existing path. For example, the following command in ~/.bash_profile adds the /bin directory under the user's home directory to the path:

PATH=$PATH:$HOME/bin

You can add your own directories to the path as well. For example, suppose you had written some custom programs or scripts (Linux's version of Windows "batch files"—which I'll cover later in this chapter). You could create a directory called "/scripts" or "/myprogs" under your home directory, and add that directory to your path like so:

PATH=$PATH:$HOME/scripts

(Note that each individual file path is separated by a colon.) Now you can execute those programs or scripts no matter where you are, simply by typing the name of the file instead of explicitly identifying the entire path.

The Top 10 Useful Commands at the Command Prompt

Okay, maybe more than 10. There are hundreds and hundreds of commands and programs, and it can be overwhelming to sort through them all, much less actually remember any of them. So you don't have to wade through them, I've compiled a list of the commands that a typical power user will find useful on a regular basis. I've grouped them into a number of functional areas, together with a "didn't fit anywhere else" group. I've included an example or two of the syntax if the command is used with parameters, or if it has unusual output characteristics.

Some of these commands (such as "locate" and "df") can produce really long listings. Use Ctrl-C to interrupt the listing.

Help Commands

help—displays a list of all built-in commands. When the name of a built-in command is used as an argument, a short help topic appears.

  help
  help echo

man—displays the manual page for external commands.

  man grep

info—displays the info page for external commands. Info pages are generally longer and more descriptive than "man" pages.

  info grep

Directory Navigation and Manipulation

./—references the current directory. Often used to run a program from the current directory.

  ./someprogram

~ —references the logged-in user's home directory (regardless of where you are; it's shorthand for /home/<username>). To list the contents of the user's home directory, regardless of your current location, use:

  ls ~

~<name>—references the home directory of <name>. For example,

  ls  ~bob

will list /home/bob (assuming you've got permission to do so.)

ls—lists directory contents, including permission and owner information.

  ls -l

To include all hidden files (those beginning with "."):

  ls -al

cd—changes the working directory.

  cd /etc/ppp
  cd ~

pwd—prints the absolute path of the working directory.

  pwd

returns "/home/whil".

mkdir—creates a directory.

  mkdir herman

rmdir—removes an empty directory.

  rmdir herman

File Manipulation

cp—copies one or more files.

  cp installation.pdf ~/newfiles
  cp installation.pdf ~/newfiles/dummy.pdf
  cp installation.pdf ~/zips/installation.pdf
  cp *.pdf oldversions

mv—moves (renames) files. The following command moves ~/x.pdf to ~/temp/x.pdf:

  mv x.pdf temp

And the following command renames ~/x.pdf to ~/y.pdf:

  mv x.pdf y.pdf

rm—removes files. When used with "-r" (recursive), this command is dangerous. And if you use it with "-r" while you're running as root, it's very dangerous. Experienced Linux users believe that the phrase "Oh S***!" was initially coined after someone who was logged in as root executed an errant "rm -r" command on a large server.

  rm *.pdf
  rm -r *.pdf

Finding Stuff

apropos—As you're learning Linux, this is a great command because it helps you find other commands that you can't quite remember. It produces a list of commands whose keywords contain the parameter entered after the command.

apropos concatenate

returns

Tcl_Concat             (3)   - concatenate a collection of strings
Tcl_Concat [Concat]    (3)   - concatenate a collection of strings
cat                    (1)   - concatenate files and print on the standard output
g3cat                  (1)   - concatenate multiple g3 documents
ospent                 (1)   - Concatenate entities
pnmcat                 (1)   - concatenate portable anymaps
strcat                 (3)   - concatenate two strings
strncat [strcat]       (3)   - concatenate two strings
tac                    (1)   - concatenate and print files in reverse
wcscat                 (3)   - concatenate two wide-character strings
wcsncat                (3)   - concatenate two wide-character strings

find—finds files according to a large variety of information. The following command results in nothing:

  find he

But the following command:

  find he*

results in

  herman
  herman/x.pdf

locate—finds the file name containing the string "x". That's anywhere in the string, not just at the beginning.

  locate x

whereis—use this command to find utilities in standard locations.

  whereis grep
  grep: /bin/grep /usr/share/man/manl/grep.1.gz

whatis—provides a one-line summary of a command.

  whatis grep
  grep                    (1)  - print lines matching a pattern

which—used to find utilities in a search path, and returns the absolute path of the utility.

  which ls
  alias ls='ls --color=tty'
          /bin/ls

Working With Files

grep—finds a string within a file. The following command does a case-insensitive search:

  grep -i pattern files

The following command returns all files with the word "hello" in any case in the local files:

  grep -i HELLO *

The following command does a case-sensitive search and displays the file name and line number in the output:

  grep -n pattern files

less—displays test file, one screen at a time. Can go forward and backward.

  ls | less

Permissions

chmod—sets permissions of files/directories.

  chmod 755 myfile.txt

chown—changes ownership of a file. (You must be a superuser to perform this command.) To change the owner of myfile.txt from the current owner to "bob":

  chown bob myfile.txt

You can find a great discussion of permissions here: http://www.start-linux.com/articles/article_161.php.

N.E.C. (Not Elsewhere Classified)

who—shows who is logged on.

  who
  whil    :0         Apr  1 21:30
  whil    pts/1      Apr  4 13:55 (:0.0)
  whil    pts/2      Apr  4 19:32 (:0.0)

whoami—displays information about the user who is currently logged in.

cal—displays a calendar.

  cal 02 2004
  cal 2004

clear—clears the command window.

df—displays total capacity and free capacity on all mounted devices.

du—displays disk usage.

echo—prints information about environment variables (or anything else, for that matter— which is useful for providing feedback during shell scripts.)

  echo $PATH

env—displays the current environment variables.

file—displays the classification of a file based on the type of data it contains. The following command:

  file abc.txt

returns:

  abc.txt: ASCII text

And the following command:

  file temp

returns:

  temp: directory

Finally, this command:

  file keybinding.png

returns:

  keybinding.png: PNG image data, 679 x 467, 8-bit/color RGBA, non-interlaced

uptime—shows how long your system has been running, the number of users, and so on.

This list of commands is still very long. I suggest that you learn them one batch at a time. For example, write no more than a half-dozen of them on a sticky note, and stick it to your monitor. Use the commands every chance you get, until you become comfortable with them. Then put a second sticky note—on top of the first—with another batch of commands, and repeat the process. I recommend sticking one note on top of the other (instead of replacing the first one) because you're likely going to forget a couple from the first list, and it'll be handy to have them immediately available.

Once you're comfortable with this entire set, you can explore further with advanced resources. Remember that the Linux shell is an extremely powerful tool. Some commands, such as "ls" and "locate," have huge numbers of switches that can be used with them, while others are even more sophisticated. Individual Linux commands such as "sed", "awk", and "grep" have entire books dedicated just to them!


Shell Scripts (Linux Batch Files)

A shell is interactive. You type something at the command prompt and it responds. You type something else; it responds again. A shell script is a series of one or more commands in a text file that can be executed one after another automatically, instead of having to execute each one in turn. Windows users know shell scripts as batch files.

There are several reasons to use shell scripts. First, a shell script doesn't have to have multiple commands. A command can be long and involved, with many tricky parameters and exacting spelling requirements. Using a shell script that holds a single complex command can ensure that you don't mistype.

Second, a shell script can contain multiple commands, which can automate typing multiple commands. Third, you can run a shell script automatically, at a specified time, or during startup or shutdown of the machine.

Creating Your First Shell Script

To create a shell script, use a text editor such as gedit (or vi or emacs, if you want to go the way of hard-core Linux users). Open the editor and type your commands, one command per line. Use the pound sign (#) to indicate a comment.

#!/bin/bash
# My first shell script
clear
echo "Hello World!"

The first command, although marked as a comment, is a special type of comment. The "!" after the "#" indicates that you're identifying which shell program should execute this script, and the rest of the line points to the shell. Technically, this often isn't necessary, because the default shell for Fedora Core is bash. But, just as it's good programming practice to include an "otherwise" clause in a "case" structure, it's a good idea to include the line for that one-in-a-hundred case that someone (or something) tries to run this script with another shell.

Second, save your script as "mfss" (my first shell script) in your home directory for purposes of this example.

Third, open a command window and issue the following command:

chmod 755 mfss

This changes the permissions on the file so that it can be executed. Originally, the permissions are:

-rw-rw-r--

The "chmod 755" command sets read/write/execute permission for the owner, read/execute permission for the group, and read/execute permission for others, like so:

-rwxr-xr-x

Finally, execute your shell script by typing this:

./mfss

Remember, your current directory is not in your path, so you have to explicitly point to your current directory in order to run a program in it. If you just type this:

mfss

you'll get a response from the shell that says something like:

bash: mfss: command not found

Assuming you've typed everything properly, your command window will look like this:

Hello World
[whil@freedom ~] Dude?

The first line in your script just cleared the window, the second echoed the "Hello World" string, and then you were returned to your command prompt.

Where to go next? It depends on what you want to do with a shell script. There are oodles of tutorials on the Web for advanced shell scripts that cover everything from automated backups to modifying your shell's environment to grabbing and parsing mail files. As clich_ as it sounds, your imagination is the only limitation.


Creating Cron Jobs

Once you've gotten comfortable with shell scripts, you'll find yourself wanting to run them, as well as other programs, on a regular basis. The mechanism for doing so is a Linux utility called "cron." In Chapter 13, "Security," I mentioned updating the virus scanner F-Prot signature files on a regular basis as an example of how to create a cron job.

The operating system has a number of programs called "daemons" (pronounced "DEE-munz" in some areas and "DAY-munz" in others) that run all the time. One of these is the cron daemon, crond. Its only job is to check with the system clock and, every minute, look at the contents of a table to determine if it needs to do anything. This table is a "crontab," and every user on the system has their own, stored in /var/spool/cron.

The crontab is a simple text file that contains the schedule of cron jobs to run. Unlike other configuration files that you may have looked at or edited, the crontab file is not to be edited directly. Instead, you use a special tool called "crontab" that handles the file. In addition, crontab must use the editor specified in your system variables.

To create or edit a crontab for a user, change to that user in the command window and then issue the command:

crontab -e

The default text editor for Fedora Core is vi, in which the crontab file will open, vi can be difficult to use at first, but it's omnipresent in the Linux world, so it's good to be familiar with the basics. I've included a two-minute tutorial on vi as a sidebar in this chapter.

Important

If you want to change your editor to a different one, use the following commands (using my fave, gedit, as an example):

export EDITOR=gedit
export VISUAL=gedit

This command combines the variable assignment and the export command in one line. Why do you have to set both EDITOR and VISUAL environment variables? It's a legacy from early versions of Unix, in which some programs depend on EDITOR and others look at VISUAL. We just have to live with it.

Each line in a crontab file represents a separate crontab entry, and performs a separate task. Each of these tasks is called a "cron job."

Each line has at least six parts to it. Each part is separated by a space. The first five parts may not have any spaces in them, but the sixth can.

The sixth position contains the definition of the cron job—a command to be run-and the first five sections are values that determine when and how often to run the job (relative to the local computer's system clock).

(If the computer running the cron jobs is down, the jobs scheduled during that downtime will simply be skipped; they will not be queued up and run once the computer comes back.)

Here is how the first five parts are laid out:

1 Minute  0-59
2 Hour    0-23 (0 = midnight)
3 Day     1–31
4 Month   1–12
5 Weekday 0-6 (0 = Sunday)

An asterisk in place of a numeric value indicates that every instance of the value will be used. For example, using an asterisk in the fifth position means that the job will run seven days of the week, while an asterisk in the second position means that the job will run every hour of the day. You may want to think carefully before adding an asterisk to the first position.

There are some types of jobs that you may want to run more than once a day, but not as often as every hour. You can use more than one instance of a specific time period by including each desired time period, separated by a comma. For example, suppose you want to run a cron job four times a day, at 15 minutes past the hour. The first two parts of the cron job would look like this:

15 2,8,14,20

The job would run at 2:15 a.m., 8:15 a.m., 2:15 p.m., and 8:15 p.m.


Using vi

vi has two modes: insert mode (when you're typing) and command mode (when you're issuing commands to do something such as save or quit). When you start up vi, you're in command mode. Type ":" to initiate a command, followed by the letter of the command, and then press Enter. For example:

  • Typing ":q" and pressing Enter will quit vi.

  • Typing ":w" and pressing Enter will save your document.

To switch between insert and command mode:

  • From command to insert: Type any of the following letters: a i o c s (uppercase or lowercase).

  • From insert to command: Press Esc.

If you want to learn a bit more, check out the two-page tutorial here: http://www.techtutorials.com/tutorials/unix/vi.shtml

And for a longer, 20-page tutorial, see: http://www.eng.hawaii.edu/Tutor/vi.html#before

Once you save your crontab file, the cron jobs will be ready to run. You don't have to run a program to start the cron process, although you should make sure that the cron daemon is started. (Select Main Menu | System Settings | Server Settings | Services and scroll down the list of services to make sure that "crond" is checked and running.)

The cron daemon will send an e-mail message to the user for whom the crontab was created, notifying the user that it ran (or failed to run) the job. So, back to the initial job: If you wanted to check for F-Prot updates twice a day, at 4:10 a.m. and 6:10 p.m., a cron job like the following would do the trick:

10 4,18 * * * /usr/local/f-prot/tools/check-updates.pl -cron

Note that you have to be logged in as root when creating this cron job because you need root file-system permissions to update the virus database.


Summary

The command window provides access to a whole new world for power users; indeed, some users, once exposed to it, never go back to the GUI. This chapter covers a variety of important topics that introduce you to the command window and give you the foundation to start using it in your day-to-day work.

Start Sidebar

The purpose of this chapter is to get you started with Linux on your desktop, but of course there's a lot more than what I can cover here. In addition, new versions of Fedora Core are released on a regular basis. I'll keep you up to date by writing new articles as well as posting updates related to this book. These materials can be found on Hentzenwerke's Web site, www.hentzeirwerke.com. Click "Catalog" and navigate to the page for Linux Transfer for Windows Power Users.

End Sidebar


Appendix A: How Partitions Work

Appendix A, "How Partitions Work," is provided as an electronic download. For more information, please see page xvii, "How to Download the Files," at the beginning of this book.


Appendix B: Connecting to a Windows Network

Appendix B, "Connecting to a Windows Network," is provided as an electronic download. For more information, please see page xvii, "How to Download the Files," at the beginning of this book.


Index

Note that you can download the PDF file for this book from www.hentzenwerke.com (see the section "How to Download the Files" at the beginning of this book). The PDF is completely searchable and will provide additional keyword lookup capabilities not practical in an index.

A

About to Install screen, 41, 42
Accessories menu, 120, 124–125
Actions context menu, 120
Add Files dialog, 215
Add/Remove Packages option, 40
Additional CDs screen, 54–55
Address value, 166
administration tools, 40
Adobe Acrobat, PDF files, 223–224
alarm-clock utility, 220–221
Alert Notification Tool icon, 126
applets. See also Red Hat Network Alert Notification Tool
advantages, 115–116
customizing, 126–133
apropos command, 323
archives
adding files to, 217
advanced options, 216
creating, 215–218
default view, 218
definition, 213
file extensions, 214
File Roller, 214–218
mailing lists, 100–104
with subdirectories, 218
ARJ archive, 214
audio
moving CDs to disk, 259–264
playing CDs, 258–259
Rhythmbox, 265–268
testing the sound card, 257–258
XMMS, 268–273
Audio Devices screen, 258
audio formats, 260–261
authentication, 303–304
authorization dialog, 163–164
automatic partitioning, 32–34
AVI file format, 273


Index_B

Team LiB

Index

B

.bash_profile file, 313
Biel Mean Time, 131
billing package, KArm, 221–222
/bin folder, 140
Bluecurve theme, 108
boot diskette, 46–47
/boot folder, 140
boot loader configuration, 34–35, 61–63
Bourne Again Shell (bash), 311
browser window, creating, 182
browsers. See Web browsers
Bugzilla bug report, 104
bzip files, 214
bzip2 files, 214


Index_C

Team LiB

Index

C

C: drive, 137–139
C Shell (csd), 311
Calculator Properties dialog, 118
camera. See digital images
case sensitivity
command windows, 316
echo command on the PATH environment variable, 320
file names, 136
"case" structure, 327
cd command, 322
CD Database applet, 224–227
CD-ROM burner, 291–293
CDA file extension, 259–260
CDDB Track Editor, 259
CDRECORD command, 17–21
CDs
Additional CDs screen, 54–55
burning, 16–21
checking for errors, 24
creating, 11–12
with Fedora Core, 31
moving to disk, 259–264
playing, 257–258
testing the sound card, 258–259
Cervisia, CVS system, 153
Change Boot Loader dialog, 62
chmod command, 325, 327
chown command, 325
clear command, 325
Clock applet, 120, 129–132
codec programs, 263–264
color options
GIMP interface, 245–248
KPaint, 240–241
command history, 316
command line
usability, 6–7
utilities, 312
Command Line Interface (CLI), 311
command prompts
customizing, 313–315
definition, 312–313
Kudzu, 277
command windows
attributes, 317–319
case sensitivity, 316
command history, 316
definition, 311
multiple, 317
opening, 315–316
string completion, 316–317
title bar, 312
commands. See also specific names of commands
comments for, 327
cron daemon, 328–329, 330
directory navigation and manipulation, 322
file manipulation, 323
finding other commands, 323–324
help commands, 321
info pages, 322
N.E.C. (not elsewhere classified), 325–326
permissions, 325, 327
running manually, 276
shell scripts (Linux batch files), 327–328
types of, 320
working with files, 324
comments, with commands, 327
compress files, 214
compressed archives, 214
Configuration Complete screen, 74
Control Center applet, 224–227
Convert Format function, gThumb, 254
cookies, managing, 182–183
cp command, 323
Create Launcher dialog, 117
cron daemon, 328–329, 330
crontab daemon, 328
cropping images, 249–251
cross-platform systems, 192
Crossover Office, WINE program, 6
Current Conditions, 133
current directory, referencing (./), 322, 327
Current Session, advanced options, 227


Index_D

Team LiB

Index

D

daemons, 328
data. See also data; files
definition, 135
migration from Windows to Linux, 160–161
data files, 192
Date and Time screen, 51–52
Date/Time Properties dialog, 131
Debian, downloading, 9
desktop configuration
customizing
applets, 126–133
desktop, 116–117
menus, 124–126
panel, 117–124
default desktop, 108–116
interface considerations, 107–108
Desktop Switching Tool, 109–110
/dev folder, 140
df command, 325
DHCP (Dynamic Host Configuration Protocol), 63. See also IP addresses
DHCP server, 166
digital images
advantages, 233
downloading from digital camera, 233–239
The GIMP
cropping images, 249–251
editing images, 251
features, 244–245
interface, 245–248
screen shots, 248–249
KPaint, 240–243
screen shots, 239–240
viewing
with GQView, 124, 252–253
with gThumb, 253–254
directory navigation and manipulation, 322
directory structures
C: drive, 137–139
folder names, 139–144
multiple drives, 144–146
path considerations, 321
up2date, 79
Disk Druid tool, 32
disk partitioning, 32–33, 58–61
Disk Setup screen, Fedora Core, 59–60
DNS (Domain Name Server), 166–167
Do Nothing option, 277
document templates, 195
documentation, for hardware, 22
drawing
freehand images with KPaint, 240–243
icons with KIconEdit, 243–244
Driver options, printers, 282
du command, 325


Index_E

Team LiB

Index

E

echo command, 320, 325
"Edit a print queue" dialog, 282
Edit Interface dialog, 64
Edit Partition dialog, 60–61
Edit | Repeat command, OpenOffice.org, 197–198
editing
icons, 243–244
images, 251
menus, 125
print queue, 282
tasks or subtasks, 222
editors
basic functions, 187–191
gedit, 188–191
PlayList Editor, 271, 272
vi, 328, 329–330
e-mail clients
Evolution, 168–174
icons, 124
KMail, 175–180
network connections and, 163
selecting, 167
encoder programs, 263–264
Enterprise archive, 214
env command, 325
environment variables, 319–320
equal sign key (=), cropping images, 248
Equalizer, XMMS, 268, 272
error messages
command not found, 327
disconnected printer, 281
generic, 102–103
invalid GPG signature, 78
scanner, 285
up2date, 70–71
/etc folder, 140
Ethernet Device dialog, 165
Ethernet interface, 65
Everything check box, Package Group Selection, 40
Evolution
basic functions, 173–174
icon, 124
interface, 168
setup, 168–172
expanding panels, 122
Eye of Gnome, 252


Index_F

Team LiB

Index

F

F-Prot, 304
FAILED message, 49–50
Fedora Core. See also installation; multimedia; Red Hat Network Alert Notification Tool; Red Hat Package Manager
advantages, 5, 213
APT (Advanced Packaging Tool), 71–72
archives, 100–104
Audio Devices, 258
.bash_profile file, 313
burning CDs, 16–21
configuration
boot loader, 34–35, 61–63
boot menu, 89
Date and Time screen, 51–52
firewall, 35–36
keyboard and mouse, 29–30
language support, 37
monitor, 31
network, 35
root password, 37–38
time zone selection, 37
user account, 52–53
decision process, 10
defaults
desktop, 57–58, 108–116
e-mail client, 168
shell program, 311
distributions, 31–32
downloading, 9, 13–16
help system, 93–95
ISO files, 11–12
login screen, 56
Mozilla Web browser, 180–184
PDF viewers, 223–224
Preferences applets, 224–227
System Tools applets, 228–232
Unix-style editors, 188
up2date, 70–71, 76
updating, 67–69
Username text box, 56–57
vi text editor, 328, 329–330
Web sites, 95–100
Welcome screen, 29–30
X-CD Roast, 291
yum, 71
file associations, 154–160
file command, 325–326
file compression software, 213
file formats
archives, 214
audio, 260–261, 272
CDDA, 259–260
considerations, 194–195
converting audio formats, 264
digital images, 242–243
proprietary, 192
xine multimedia player, 273
File Management Preferences dialog, 150
file managers
features, 146–147
Konqueror, 150–154, 156
Midnight Commander, 147–148
Nautilus, 148–150
file name mask, 217
File Roller
archives, 214–218
basic functions, 213–214
extracting files, 219
formats, 214
files. See also data; editors; OpenOffice.org
accessing, 161
adding to archives, 217
audio, 259–261
case sensitivity, 136, 316, 320
executing programs, 321
extracting with File Roller, 219
importing QIF files, 208
manipulating, 323
naming conventions, 135–136
opening, 161
PDF files, 192
filters, e-mail, 174
find command, 323–324
Finish dialog, printer settings, 280
firewall configuration, 35–36, 308–309
folders, naming conventions, 139–144
foomatic package, 88
Forecast dialog, 132–133
Function toolbar, OpenOffice.org, 196


Index_G

Team LiB

Index

G

gateway address, 66
gedit, 188–191, 189
Gentoo, downloading, 10
Ghostview, PDF viewer, 223–224
GIMP (GNU Image Manipulation Program)
cropping images, 249–251
editing images, 251
features, 244–245
interface, 245–248
node, 158–160, 227
print dialog, 283
screen shots, 248–249
GKrellM System Monitor, 230
global path settings, 321
GNOME interface, 93–94, 109–116. See also gedit; Nautilus
Rhythmbox, 264, 265–268
RPM file, 305
GNU Privacy Guard (GPG), 76. See also GIMP
GnuCash, 40, 187, 208–211
Gnumeric, 206–209
GQViewer, 124, 252–253
graphical style, editors, 188. See also gedit
graphical user interface (GUI), 107–108
graphics. See digital images
grayscale queue, 282
grep command, 324
Grip program
configuration, 263–264
converting formats, 264
features, 261–263
Group Properties dialog, 300
groups, passwords, 298–303
gThumb, 252, 253–254
gtkam tool, 233–234
GUI (graphical user interface), 107–108
gzip files, 214


Index_H

Team LiB

Index

H

Hardware Browser, 228
hardware documentation, 22
heading levels, OpenOffice.org, 203
help commands, 321
help files
Fedora Core Web sites, 95–100
GnuCash, 209
interactive help, 96
mailing lists
archives, 100–104
resources, 96–98
subscribing, 98–100
online help, 93–95
static help, 93
TLDP, 95
home directory, referencing, 322
HOME environment variable, 320
/home folder, 140
Home Folder icon, 123
Host field, 171
HOSTNAME environment variable, 320
Hostname field, 167
hostnames
assigned, 35
IP addresses and, 64
manually entered, 66


Index_I

Team LiB

Index

I

icons
drawing with KIconEdit, 243–244
rearranging, 118–119
ID3 options, 264
image viewer, 124. See also digital images
image-viewing programs, 252
images. See also digital images; GIMP; scanners
mode and type options, 289–290
previewing before printing, 287
viewing, 124, 252
info command, 322
/initrd folder, 140–141
installation
About to Install screen, 41, 42
boot diskette creation, 46–47
disk partitioning, 32–34, 58–61
feedback, 27–28
final setup, 48–49, 54–56
IP addresses, 35, 63–66
license agreement, 49, 51
Package Group Selection, 39–41
Package Installation Defaults screen, 38–39
packages, 41–46
Preparing RPM transaction dialog, 43
process, 21–29
Required Install Media dialog, 41
steps, 12–13
thermometer bar, 44–45
Welcome screen, 49–50
interfaces
artificial, 139
Evolution, 168–174
OpenOffice.org, 198
Internet radio-station player, 265, 267
IP addresses
Address value, 166
assigned, 35, 63–66
Ethernet interface, 65
ISO files
downloading, 13–16
with Fedora Core, 11–12
MD5 sums, 15
updating, 68


Index_J

Team LiB

Index

J

Java archive, 214
jukebox, 264, 265


Index_K

Team LiB

Index

K

KAlarm, 220–221
KArm, 221–222
KDE Desktop Environment, 40, 109–110, 150–154. See also KOffice
KDiskFree monitor, 232
Keyboard Configuration screen, 30
keyboard shortcuts
OpenOffice.org, 196
XMMS, 270
Keyboard Shortcuts applet, 224–227
Kghostview, PDF viewer, 223–224
KIconEdit, 243–244
KMail
basic functions, 178–180
icon, 124
options, 180
setup, 175–178
Knoppix, downloading, 9
KOffice
editors, 108
features, 204–206
Konqueror
file associations, 156
file manager, 150–154
RPM file, 305
Web browsers, 184–185
Korn Shell (ksh), 311
KPaint, 240–243
Kudzu daemon, 275–277
Kuickshow, 252
KView, 252


Index_L

Team LiB

Index

L

Language Selection screen, 29–30
language support, 37
launchers, 118–119, 121
legend, changing, 117
less command, 324
LHA archive, 214
/lib folder, 141
Library
playlist, 266–268
xine multimedia player, 273
license agreement, 49, 51
Linux. See also command windows; directory structures; Fedora Core; files; OpenOffice.org
accessing files, 161
advantages, 2–4, 231
applications, 8
creating CDs, 11–12
distributions, 1–2, 8–10
editors, 187–191
installation alongside pre-existing OS, 12
memory requirements, 127
migration of data from Windows, 160–161
myths, 4–8
opening Windows files, 161
power users, 66
Red Hat Network, 70
shell scripts (Linux batch files), 326–328
"Live CD" distributions, 9
LOAD LIST button, XMMS, 271
local mirror, 77–80
locate command, 324
Lock option, 120
login screen, 56
logs, viewing, 228–229
/lost+found folder, 141
Is command, 322
lzop files, 214


Index_M

Team LiB

Index

M

M3U file format, 272
Macintosh operating system, file associations, 154–160
MAIL environment variable, 320
mailing lists
archives, 100–104
resources, 96–98
subscribing, 98–100
Main Menu icon, 114–115
Mandrake, downloading, 9
manual partitioning, 32
mapped network drives, 142
Master Boot Record, 62
MC. See Midnight Commander
MD5SUM file, 14–15
Media Check dialog, 24–27
memory requirements, 127
menus, customizing, 124–126
Midnight Commander, 147
mini-mode, XMMS, 270
Minimal check box, Package Group Selection, 40
/misc folder, 141
MISC OPT button, XMMS, 271
Miscellaneous Settings label, 64
mkdir command, 322
/mnt folder, 141–143
monitor configuration, 31
Mount Point list, 61
mouse configuration, 29–30
mouse operations, selecting windows, 111
Mouse Preferences dialog, 115–116
Mozilla Web browser, 180–184
MP3 file format, 260, 264, 273
MPlayer, 274
multimedia
audio
moving CDs to disk, 259–264
playing CDs, 258–259
Rhythmbox, 264, 265–268
testing the sound card, 257–258
XMMS, 268–273
video package, 40, 273–274
multiple drives, 144–146
music players, 265–268
mv command, 323


Index_N

Team LiB

Index

N

name servers, 166–167
naming conventions
files, 135–136
folders, 139–144
Nautilus, 123, 148–150. See also X-CD Roast
network configuration, 35, 165–166
network connections, changing, 163–167
Network Devices list box, 64
network drives, mapped, 142
Network Configuration screen, 65
New Archive dialog, 216
New Internet Radio Station dialog, 267–268
Notification Area, 114, 126. See also Red Hat Network Alert Notification Tool


Index_O

Team LiB

Index

O

Office Productivity Package, 40
OGG file extension, 260, 264
Ogg Vorbis file format, 261
online help, 93–95
open-source software, 2–4
OpenOffice.org. See also GNOME interface; GnuCash; Gnumeric; KOffice
advantages, 187
configuration, 193–198
desktop environment, 108
documents, 204
features, 191–192, 198
file formats, 192
Function toolbar, 196
installation, 193
interface, 198
Navigator, 201–204
Options dialog, 194–195
resources, 192
Stylist, 199–200
Writer file type, 158
/opt folder, 143
Options dialog, OpenOffice.org, 193–196
"otherwise" clause, 327
Outline Level, OpenOffice.org, 202–203


Index_P

Team LiB

Index

P

Package Group Selection, 39–41
Package Installation Defaults screen, 38–39
Packages Flagged to be Skipped screen, 83
packages, installation, 41–46
panel, GNOME interface, 112–114, 117–124
Panel Preferences dialog, 122–123
Panel Properties dialog, 121–122
partitioning, with Disk Druid tool, 32
passwords
Audio Devices, 258
creating, 297, 302–303
prompts for, 295–296
root, 37–38, 277, 298
users and groups, 298–303
PATH environment variable, 320
Paths subnode, OpenOffice.org, 195
PDF (Portable Document Format) files, 192
PDF viewers, 223–224
permissions, 325, 327
personal finance software, 208–211
photos. See digital images
PKZIP archives, 214, 218
Playback option, XMMS, 270
playlist
creating, 266–268
sorting, 270
tracks, 265
Playlist Editor
context menu, 271
file formats, 272
XMMS, 268
PLS file format, 272
Plugins Manager, gedit, 190
power users, 66
Preferences applets, 224–227
Preferences dialog, gedit, 190
Preferences menu, 121
Pretty Good Privacy (PGP), 76
Primary DNS, 167
print queue
"Add a print queue" wizard, 280
adding, 277–283
features, 283–284
printers
configuration, 276
Kudzu daemon, 275–277
settings, 277–279
troubleshooting, 281
/proc folder, 143
Processor monitor, 127
Properties dialog, 117
Properties menu, 121
Proxy Configuration screen, 74
Proxy options, 264
public key, 76
publishing process, 192
pwd command, 322


Index_Q

Team LiB

Index

Q

QIF (Quicken Interchange Format), 208
Queue name dialog, 277


Index_R

Team LiB

Index

R

RA file extension, 260
Radar Map, 133
radio station. See Internet radio-station player
RAM file extension, 260
RAND button, VCR controls, 269
receiving e-mail
with Evolution, 173–174
with KMail, 179–180
Recur option, KAlarm, 221
Red Hat Enterprise, 9. See also Fedora Core
Red Hat Network, 70
Red Hat Network Alert Notification Tool. See also up2date
Available Updates tab, 89
configuration menu, 72–77
dialogs, 90
features, 70–71
General tab, 75
Package Exceptions tab, 77
removing, 73–74
Retrieval / Installation tab, 75–76
Retrieving Packages dialog, 77–78
Terms of Service screen, 73
update options, 72
Welcome screen, 73
Red Hat Network Registration dialog, 89
Red Hat Package Manager, 69–70
Red Hat Update Agent
All Finished screen, 88
Channels screen, 81
foomatic package, 88
Installing Packages screen, 87
Retrieving Packages screen, 85–86
Welcome screen, 81
remote file systems, 142
removable storage devices, 142
REP button, VCR controls, 269
Required Install Media dialog, 41
Resource Adapter archive, 214
Resource Monitor, 129–130
Retrieving Packages dialog, 77–78
Review Choices check box, disk partitioning, 58–59
Rhythmbox, 264, 265–268
ripped tracks, playing, 264–273
rippers, file formats and, 260, 261
rm command, 323
rmdir command, 322
root authorization, 164
/root folder, 143
root password, 37–38, 277, 298
root password dialog, 164
RPM file extension, 260, 305
RPM transitions, 43


Index_S

Team LiB

Index

S

samba client, system tools, 40
/sbin, 144
scanners, XSane scanning software, 284–290
screen shots, 124, 239–240, 248–249
Screensaver Preferences dialog, 111
screensavers, 110–111
Secondary DNS, 167
security issues. See also passwords
authentication, 303–304
echo command, 320–321
firewalls, 35–36, 308–309
myths, 7
open-source software, 3–4
Select Camera dialog, 234–239
sending e-mail
with Evolution, 173–174
with KMail, 178–179
Server Type field, 171
Sessions applet, 224–227
SHELL environment variable, 320
shell scripts (Linux batch files), 326–328
shells, built-in functions, 311
Shortcut keys list, OpenOffice.org, 197
Show Desktop applet, 120, 123–124
Show Details hyperlink, final setup, 48
"Show hide buttons" menu item, 122
Skins link, XMMS, 272–273
slide show, 252
Sound Card screen, 53–54
sound card, testing, 257–258
sound package, 40
special characters, for command prompts, 314–315
spinner control, 248
spreadsheets, 207
StarOffice, 191
Startup Programs, Fedora Core, 227
static help, 93
storage devices
displays for, 231
removable, 142
types of, 137–139
Stylist, 199–200
subdirectories, archives, 218
Sun Microsystems, StarOffice, 191
SuSE Personal, downloading, 9
SuSE Professional, downloading, 9
symbolic links, 136
System Logs viewer, 228–229
System Monitor, 112–113
System Monitor Preferences dialog, 127, 128
System Tools, samba client, 40


Index_T

Team LiB

Index

T

Taskbar, 113
technical support, myths, 7
Text Editor, 123
text editors, 187–188, 327
thermometer bar, 44–45, 49
thumbnail viewer, 252, 253–254
tilde (~), referencing logged-in user's home directory, 322
time tracker, KArm, 221–222
time zone selection, 37
title bar, command windows, 312
TLDP (The Linux Documentation Project), 95
/tmp folder, 144
Toolbox menu, capturing screen shots, 248–249
Tools menu, gedit, 190
Track Editor, 259
tracks, adding to playlist, 267
tree structure, 138–139
troubleshooting
Fedora Core menus, 126
menus, 126
printers, 281


Index_U

Team LiB

Index

U

Uncompressed tar archive, 214
Universal Coordinated Time, 131
Unix-style editors, 188, 328
up2date. See also yum
configuration, 70–71, 76
directory structure, 79
launching, 80–90
local mirror, 77–80
Packages Flagged to be Skipped screen, 83
uptime command, 326
USB port, 233–234
user account, 52–53
USER environment variable, 320
User Manager dialog, 300–301
Username text box, 56–57
users, passwords, 298–303
/usr folder, 144
utilities, finding with whereis command, 324


Index_V

Team LiB

Index

V

/var folder, 144
VCR controls, 269, 271
vi text editor, 328, 329–330
video package, 40, 273–274
View menu, XSane, 288–290
virus scanners
downloading and installing, 304–306
F-Prot, 304, 307
testing and running, 306–307
Visualization menu, XMMS, 270


Index_W

Team LiB

Index

W

WAV file extension, 260
Wave files, 260
Weather Preferences dialog, 120–121
Weather Report applet, 132–133
Web archive, 214
Web browsers
Konqueror, 150–154, 156, 184–185
Mozilla, 180–184
network connections and, 163
Welcome screen, Fedora Core, 29–30, 49–50
whatis command, 324
whereis command, 324
which command, 324
whitepapers, printing with Linux, 279
who command, 325
whoami command, 325
WinAmp compatibility, 272
window managers, 107–108
Window menu, 111–112
Window Preferences dialog, 111–112
Windows operating system
accessing files, 161
editors, 187
file associations, 154–160
migration of data to Linux, 160–161
opening Linux files, 161
WINE program, Crossover Office, 6
WinZip archives, 214, 218
WMA file extension, 260
WMV file format, 273
Workspace Switcher, 112–113
Writing CD dialogs, 293


Index_X

Team LiB

Index

X

X-CD Roast, 291. See also Nautilus
X Window System
advantages, 107–108
restarting, 109–110
Ximian, Evolution, 168–174
xine multimedia player, 273
XMMS, 268–273
xpdf, PDF viewer, 223–224
XSane scanning software, 284–290


Index_Y

Team LiB

Index

Y

yarrow-i386files, 14
yum. See also up2date
yum (Yellow Dog Updater, Modified), 71


Index_Z

Team LiB

Index

Z

Zoom In menu, 251


List of Figures

Chapter 2: Installing Fedora Core

Figure 1: Verifying the MD5 sums for the downloaded ISO files.
Figure 2: Determining the CD-ROM's address via the cdrecord -scanbus command.
Figure 3: Results of a test CDRECORD command.
Figure 4: Results of an actual CDRECORD command.
Figure 5: Contents of CD #1.
Figure 6: Contents of CD #2.
Figure 7: Contents of CD #3.
Figure 8: Feedback from the boot process with Fedora Core CD 1 in the disk drive.
Figure 9: The initial Fedora Core boot screen.
Figure 10: Booting takes a few seconds, during which a blank, character-based screen appears.
Figure 11: The CD Found dialog allows you to decide whether you want to check the CDs for errors before installation.
Figure 12: The second Media Check dialog offers choices to test the current CD or insert a different CD.
Figure 13: The Checking dialog of the Media Check process displays the progress with a thermometer bar.
Figure 14: The thermometer bar will sit at 100% for a short period of time.
Figure 15: The results of the media check are displayed in a separate dialog.
Figure 16: The Media Check process allows you to test additional CDs or continue with installation.
Figure 17: Feedback about installation begins with a "Running anaconda" line.
Figure 18: Feedback continues with lines about probing for devices.
Figure 19: The appearance of the Fedora Core logo means that the graphical part of installation has begun.
Figure 20: The "Welcome to Fedora Core" screen starts the installation wizard.
Figure 21: The Language Selection screen controls the installation process.
Figure 22: The Keyboard Configuration screen.
Figure 23: The Mouse Configuration screen.
Figure 24: The Monitor Configuration screen.
Figure 25: The Installation Type dialog.
Figure 26: The Disk Partitioning Setup screen.
Figure 27: The Automatic Partitioning screen.
Figure 28: The Boot Loader Configuration screen.
Figure 29: The Network Configuration screen allows you to determine how IP addresses and hostnames will be assigned.
Figure 30: The Firewall Configuration screen allows you to configure a personal firewall in a number of ways.
Figure 31: The Additional Language Support screen allows you to choose the default language and additional languages for optional use.
Figure 32: Use the Time Zone Selection screen to set the system time graphically.
Figure 33: Use the Set Root Password screen to create a secure password for the system.
Figure 34: The Package Installation Defaults screen allows you to accept or modify the default software.
Figure 35: The Package Group Selection screen displays the selected packages for the Installation Type you selected in Figure 25.
Figure 36: Use the Minimal or Everything check boxes at the bottom of the Package Group Selection screen to quickly make "all or nothing" choices.
Figure 37: The About to Install screen is your last chance to abort the installation.
Figure 38: The Required Install Media dialog describes which CDs will be needed during installation.
Figure 39: The Installing Packages screen is overwritten by a series of progress dialogs. The first dialog indicates the progress of the file system format.
Figure 40: The Preparing RPM transaction dialog is second to appear.
Figure 41: The third dialog alerts the user to the start of the software installation itself.
Figure 42: The final progress dialog continues the installation startup alert.
Figure 43: After the progress dialogs disappear, a thermometer bar appears in the wizard.
Figure 44: The text below the thermometer bar displays the name and description of the package currently being installed.
Figure 45: The progress dialog identifies that post-installation configuration is taking place.
Figure 46: After installation is complete, you are prompted to create a boot diskette.
Figure 47: Congrats! You're done!
Figure 48: After rebooting, prompts track the progress of the restart process.
Figure 49: The Fedora Core startup screen displays a thermometer bar that indicates its progress.
Figure 50: The character-based progress prompts appear on the screen before any results are displayed.
Figure 51: Character-based prompts will start to appear below the thermometer bar.
Figure 52: If a startup operation fails, it will display a red error message.
Figure 53: The Welcome screen of the Final Setup process.
Figure 54: The License Agreement screen asks you to accept or reject the license.
Figure 55: The Date and Time screen allows you to confirm the system time and configure your system to synchronize it with a remote time server.
Figure 56: The Server box provides predefined choices for remote time servers.
Figure 57: The User Account screen allows you to create day-to-day accounts.
Figure 58: The Sound Card screen allows you to ensure that the sound card on the machine works properly.
Figure 59: Sound card detection confirmation.
Figure 60: The Additional CDs screen is an errant holdover from Red Hat 9 days.
Figure 61: Final Setup—you're almost done!
Figure 62: The Fedora Core login screen.
Figure 63: The Username text box turns into a Password text box.
Figure 64: Upon successful login, the Fedora Core logo screen appears.
Figure 65: The default Fedora Core desktop.
Figure 66: The boot menu screen appears upon reboot or machine startup.
Figure 67: The Disk Setup screen, showing the default partitions created by FC.
Figure 68: Selecting a partition in the Disk Setup screen also highlights the partition in the Drive bar at the top of the screen.
Figure 69: The Edit Partition dialog allows you to change the attributes of an existing partition.
Figure 70: The Mount Point list allows you to assign a mount point to the partition being edited.
Figure 71: The Change Boot Loader dialog allows you to prevent the boot loader from being written to the Master Boot Record.
Figure 72: Changing the description of the operating system title in the boot menu.
Figure 73: Use the Edit Interface dialog to assign a static IP address to a computer's Ethernet card.
Figure 74: Entering the static IP address for an Ethernet interface.
Figure 75: The Network Configuration screen, ready for a manually entered hostname.
Figure 76: A manually entered hostname and gateway address.

Chapter 3: Updating Fedora Core

Figure 1: Upon startup, the Red Hat Network Alert Notification Tool displays a blue check mark that indicates it is not aware of any new updates.
Figure 2: The Red Hat Network Alert Notification Tool icon's green color means updates are currently being queried.
Figure 3: The round red icon in the lower right corner of the panel indicates that updates are available.
Figure 4: The blue check mark indicates that no updates are available.
Figure 5: Right-clicking the Red Hat Network Alert Notification Tool icon displays a number of update options.
Figure 6: The Welcome screen of the Red Hat Network Alert Notification Tool.
Figure 7: Reading the Terms of Service screen is a good idea, for a change.
Figure 8: The Proxy Configuration screen of the Red Hat Network Alert Notification Tool.
Figure 9: The Configuration Complete screen allows you to check for updates immediately.
Figure 10: The General tab of the Red Hat Network Configuration dialog handles proxy settings.
Figure 11: The Retrieval / Installation tab provides a variety of customization capabilities.
Figure 12: Installation prompts you to download and install Red Hat's public key if you don't have it and want to use GPG.
Figure 13: The Package Exceptions tab allows you to choose which packages you don't want to include in a standard update operation.
Figure 14: The Retrieving Packages dialog shows you the data transfer rate, among other things.
Figure 15: The "invalid GPG signature" error is often a result of an interrupted file download.
Figure 16: Drilling down through the updates node of a directory listing.
Figure 17: The final destination of drilling down through a directory structure is a list of update files.
Figure 18: Editing the Red Hat Network sources file as superuser.
Figure 19: First, log in as root in order to run up2date.
Figure 20: The Welcome screen to the Red Hat Update Agent.
Figure 21: The Channels screen in the Update Agent wizard shows you which channels are associated with which type of software update.
Figure 22: The updates-released channel points to the gatech.edu Web site.
Figure 23: The first Progress Dialog provides feedback on header retrieval.
Figure 24: The second Progress Dialog provides feedback on individual header retrieval.
Figure 25: The Packages Flagged to be Skipped screen allows you to override the default settings.
Figure 26: The Available Package Updates screen allows you to select which packages you want to install.
Figure 27: The wizard will display a progress bar while evaluating the package set and determining if any dependencies need to be dealt with.
Figure 28: The Retrieving Packages screen displays progress on each package as well as overall download progress.
Figure 29: If additional packages are needed to solve dependencies, they'll be listed in an interim screen.
Figure 30: The Retrieving Packages screen displays an "All finished" message when downloading is complete.
Figure 31: The Installing Packages screen displays progress similarly to the Retrieving Packages screen.
Figure 32: After repackaging, the Installing Packages screen displays the progress.
Figure 33: The All Finished screen displays a list of all packages that were installed successfully.
Figure 34: The foomatic package is listed out of order because it was installed due to a dependency requirement.
Figure 35: After you update your kernel, you will see multiple options in the boot menu.
Figure 36: Dialogs that appear when you (left) click the Red Hat Network Alert Notification Tool icon.
Figure 37: The Red Hat Network Alert Notification Tool is a remnant of the commercial version of Red Hat Linux.

Chapter 4: Getting Help

Figure 1: The opening screen in Fedora Core's help system.
Figure 2: Drilling down into the Applications section of Fedora Core's help system.
Figure 3: A partial list of public mailing lists supported by Red Hat.
Figure 4: The subscription page for the fedora-list mailing list.
Figure 5: The main screen for the fedora-list mailing list archives.
Figure 6: The mailing-list URL is included at the bottom of every message posted to the mailing list.
Figure 7: Sample result of searching for "update" and "strange error" text in the fedora-list archives.
Figure 8: At first, a generic error message doesn't offer much hope for targeted searching.
Figure 9: Searching on "Fedora" and a generic error message produced a manageable number of hits.
Figure 10: The Bugzilla bug report solved the mystery of the generic error message "There was an error installing packages."

Chapter 5: Configuring Your Desktop

Figure 1: The default Fedora Core desktop with GNOME is rather spartan.
Figure 2: The default Fedora Core desktop with KDE is just as uncluttered as GNOME.
Figure 3: The Desktop Switcher allows you to change from one desktop environment to another.
Figure 4: The Screensaver Preferences dialog provides access to dozens of screensavers.
Figure 5: The Window Preferences dialog allows you to configure interaction with standard windows.
Figure 6: The left half of my panel in GNOME.
Figure 7: The right half of my panel in GNOME.
Figure 8: You can navigate the Workspace Switcher with the keyboard's arrow keys.
Figure 9: The System Monitor applet from the panel.
Figure 10: The Taskbar displays boxes for each running application.
Figure 11: The Notification Area in the panel.
Figure 12: The Main Menu's items cascade into submenus.
Figure 13: The Mouse Preferences dialog allows you to configure how the mouse reacts.
Figure 14: The Mouse Configuration dialog allows you to define the type of mouse attached to your computer.
Figure 15: The Create Launcher dialog is similar to the Create Shortcut function in Windows.
Figure 16: The Calculator Properties dialog allows you to customize the appearance of the Calculator icon on the desktop.
Figure 17: Removing an icon from the panel.
Figure 18: You can add a launcher for an application to the panel through the panel editing context menu.
Figure 19: You can also add a launcher to the panel through the application's own context menu.
Figure 20: The Actions context menu has a number of handy options that can be added to the panel.
Figure 21: A number of accessories are available to be added to the panel.
Figure 22: The Weather Preferences dialog provides a number of configuration options.
Figure 23: The Launcher Properties dialog allows you to edit properties of existing launchers.
Figure 24: The panel-editing context menu also has a menu option for editing the panel's own properties.
Figure 25: The Panel Properties dialog allows you to customize the look and operation of the panel.
Figure 26: The Panel Preferences dialog allows you to control other preferences for the panel.
Figure 27: The Home Folder icon launches Nautilus with trees for my home folder and the entire file system.
Figure 28: You can add an entire menu as a launcher.
Figure 29: The Accessories menu added to the panel as its own launcher.
Figure 30: Options for editing a menu.
Figure 31: Adding the Red Hat Network Alert icon to the panel.
Figure 32: Adding the Red Hat Network Alert Notification Tool icon to the panel.
Figure 33: Use the System Monitor Preferences dialog to configure the System Monitor applet in the panel.
Figure 34: The System Monitor applets each have tooltips that provide a quick summary of resource usage.
Figure 35: The System Monitor applet has several views of the running processes on your computer.
Figure 36: The Resource Monitor tab of the System Monitor applet shows a variety of information about your computer.
Figure 37: The Clock Preferences dialog allows you to configure the Clock applet.
Figure 38: The Date/Time Properties dialog allows you to configure how your Clock applet knows what the date and time is.
Figure 39: The Weather Preferences dialog has two tabs that allow you to configure aspects of the Weather Report applet.
Figure 40: The Weather Report applet has three tabs (two shown) that display information about the weather in a selected locale.

Chapter 6: Files, Directory Structures, and File Managers

Figure 1: Your first look at a Linux directory structure can be overwhelming.
Figure 2: The Windows 2000 interface uses a tree structure to display the components of a personal computer.
Figure 3: Current Linux distributions automatically detect a CD-ROM and place an icon on the desktop.
Figure 4: Current file managers automatically detect a CD-ROM and place a node for the device in the folder structure.
Figure 5: Removable storage devices are found under the /mnt directory.
Figure 6: Midnight Commander is a popular character-based file manager.
Figure 7: You can access many of Midnight Commander's functions through the menu and keyboard shortcuts.
Figure 8: Nautilus automatically displays nodes for your Home Folder, the entire Linux file system, and any available floppies or CD-ROMs.
Figure 9: The File Management Preferences dialog allows you to tune Nautilus the way you want it.
Figure 10: Konqueror displays the current user's home directory, such as /home/whil, by default.
Figure 11: The second tab in the Navigation Panel in Konqueror displays your Web bookmarks.
Figure 12: Konqueror's Services tab displays a variety of nodes.
Figure 13: The leftmost buttons in the Main toolbar in Konqueror.
Figure 14: Konqueror fully supports the use of tabs in the right panel for any purpose.
Figure 15: The last few buttons in Konqueror's Main Toolbar, and the entire Extras toolbar.
Figure 16: Right-clicking a file in a file manager displays the primary file associations for that type of file.
Figure 17: The Open With submenu for a file without an extension.
Figure 18: Konqueror provides an easy-to-use graphical interface to manage your file associations.
Figure 19: The vnd.stardivision. writer file type isn't associated with the Open Office. org .sxw extension.
Figure 20: Searching for the .sxw file extension.
Figure 21: Associating The GIMP with the .tiff file extension.
Figure 22: Rearranging the Application Preference Order so that The GIMP is the default application for opening tiff files.

Chapter 7: E-Mail and Web Browsing

Figure 1: The root password dialog appears when an operation you are attempting requires root permissions.
Figure 2: The keys icon in the panel indicates that you have root authorization.
Figure 3: Clicking the keys icon in the panel displays an authorization dialog.
Figure 4: The Network Configuration dialog displays a variety of settings information.
Figure 5: The Ethernet Device dialog allows you to edit specific network settings for a device.
Figure 6: The Hardware tab of the Network Configuration dialog allows you to identify and configure a specific network card.
Figure 7: Use the DNS tab to set up the name servers your computer will use.
Figure 8: Evolution is the default Fedora Core e-mail client.
Figure 9: Evolution's e-mail client sports a popular three-pane interface.
Figure 10: The Mail Accounts tab of the Evolution Settings dialog.
Figure 11: The Evolution Account Editor displays a set of six tabs for configuring a specific account.
Figure 12: Use the Receiving Mail tab to configure the server for incoming mail.
Figure 13: Use the Receiving Options tab to configure incoming mail.
Figure 14: Use the Sending Mail tab to configure outbound e-mail.
Figure 15: You can choose to send a message from multiple Evo accounts.
Figure 16: You can create custom rules to handle incoming or outgoing e-mail.
Figure 17: You can create filters based on a specific message.
Figure 18: Use the Configure dialog to set up preferences for using KMail.
Figure 19: You have to fill in a name and e-mail address on the General tab before sending e-mail.
Figure 20: The Advanced tab allows you to specify automatic addresses and default folders.
Figure 21: The Network tab of the Configure dialog allows you to control the settings of the incoming and outgoing mail servers.
Figure 22: The Modify Transport dialog for the incoming e-mail server.
Figure 23: The Modify Account dialog for incoming e-mail.
Figure 24: The Addressbook dialog allows you to select recently used addresses, even if they're not in your address book.
Figure 25: Right-clicking a message in KMail displays a context menu that allows you to easily filter your mailing lists.
Figure 26: Mozilla is the default browser for Fedora Core.
Figure 27: The Preferences screen for the Mozilla browser.
Figure 28: Tabs in the browser window enable you to move from one Web site to another without leaving the current browser window.
Figure 29: The Cookies tab is where you'll find the Manage Stored Cookies functionality.
Figure 30: The Konqueror Web browser is the default for KDE.
Figure 31: The Konqueror Web browser's Settings tab.
Figure 32: The Browser Identification tab allows you to control how you identify yourself when visiting Web sites.

Chapter 8: Office and Productivity Applications

Figure 1: Fedora Core provides a number of potential text-file editors through the context menu's Open With command.
Figure 2: The gedit menu has common functions arranged in a familiar manner.
Figure 3: gedit opens multiple files under separate tabs in the same window.
Figure 4: The Plugins Manager in the Preferences dialog allows you to add functionality to gedit.
Figure 5: Options in the Tools menu are displayed after you select their respective plugins.
Figure 6: Insert options on the Edit menu are displayed after you select their respective plugins.
Figure 7: The Office menu displays all of the OpenOffice.org tools by default.
Figure 8: Use the Options dialog to choose the default file format for each type of OpenOffice.org document.
Figure 9: You can add your own template directory to the template path.
Figure 10: Adding a button to a toolbar.
Figure 11: Assigning the Edit | Repeat command to the F12 key.
Figure 12: The newly assigned F12 key now will execute the Edit | Repeat command.
Figure 13: The OpenOffice.org Stylist displays a list of available styles.
Figure 14: You can apply a specific style to a paragraph by using the Stylist.
Figure 15: The OpenOffice.org Navigator displays an outline of a variety of objects in a document.
Figure 16: The Navigator shows paragraphs assigned to an outline numbering level in an indented fashion.
Figure 17: Use the Outline Numbering dialog to map outline numbering levels to specific paragraph styles.
Figure 18: You can choose how many levels of headings to display in the Navigator.
Figure 19: The File | New menu in all OOo applications provides the ability to create any type of OOo document.
Figure 20: The KOffice Workspace acts as a launcher for the KOffice applications.
Figure 21: Clicking the Documents bar in the KOffice Workspace displays a list of open documents across all of the KOffice applications.
Figure 22: Gnumeric is a popular open-source spreadsheet application.
Figure 23: You can set a variety of preferences to customize Gnumeric spreadsheets.
Figure 24: You can import your QIF files the first time you run GnuCash.
Figure 25: The GnuCash help file is well written and packed with information.
Figure 26: The New Account Wizard walks you through the creation of new accounts.
Figure 27: The last step in the New Account Wizard prompts you to set up initial balances.
Figure 28: The main screen of GnuCash lists your accounts.
Figure 29: Opening a specific account in the main screen.
Figure 30: The register screen for an account displays the details for that account.

Chapter 9: Fedora Core Utilities

Figure 1: The main File Roller screen before adding files to an archive.
Figure 2: You can select the type of archive to create via the Archive Type combo box in the New Archive dialog.
Figure 3: A newly created archive file before files are added to it.
Figure 4: Selecting files to add to an archive.
Figure 5: An archive after files have been added to it.
Figure 6: The default view for archives that contain subdirectories is to display the folder itself, not the contents.
Figure 7: Selecting View | View All Files displays them in an archive, regardless of directory location.
Figure 8: The Extract dialog allows you to specify where and how to extract files from an archive.
Figure 9: The KAlarm main window.
Figure 10: Creating a new alarm so I don't leave the laundry in the washing machine overnight.
Figure 11: The KAlarm window with an activated alarm.
Figure 12: The KArm window with several tasks and subtasks.
Figure 13: Use the same dialog to enter and edit a task or subtask.
Figure 14: A clock face appears next to the currently active task.
Figure 15: A PDF created with Adobe Acrobat and viewed with GNOME PDF Viewer.
Figure 16: xpdf displays PDF files in a rather sparse interface.
Figure 17: The Control Center provides one-stop shopping for all user preferences.
Figure 18: With the Keyboard Shortcuts applet, you can define your own accelerations for actions you perform often.
Figure 19: The CD Database applet allows you to point to your preferred online music database.
Figure 20: The Session Options tab allows you to control a number of attributes about system startup and shutdown.
Figure 21: The Current Session tab contains advanced options; come back to this after you've gotten more seasoned with Linux.
Figure 22: The GIMP has been added to start up automatically.
Figure 23: The Hardware Browser provides information about hardware and drivers.
Figure 24: The System Logs viewer shows details for the last seven days.
Figure 25: The System Logs Preferences dialog allows you to add your own logs and point to different locations for existing logs.
Figure 26: The GKrellM System Monitor.
Figure 27: The GKrellM Configuration screen allows you to control which monitors are included, as well as to set additional parameters for them.
Figure 28: The GKrellM Chart Config dialog is used to configure the display attributes of the monitor.
Figure 29: The KDiskFree monitor displays space usage for each storage device attached to the system.

Chapter 10: Digital Images

Figure 1: The gtkam window before adding a camera to it.
Figure 2: You can select your camera from a pre-populated list, or gtkam can try to detect it.
Figure 3: gtkam's Detect feature identified my camera as a slightly different model, but it worked.
Figure 4: Once a camera is found and identified, it's displayed in the camera list in the gtkam window.
Figure 5: The thumbnails for your pictures are available as soon as the camera is successfully connected.
Figure 6: Selected pictures in the right pane are displayed with highlighted file names.
Figure 7: The "Save photos..." dialog allows you to determine what attributes to save as well as how to name the files on your hard disk.
Figure 8: I precede camera file names with the date.
Figure 9: The gtkam window displays the download progress of each file as well as the overall download progress.
Figure 10: The gtkam Summary dialog shows the amount of space on the storage media for your camera.
Figure 11: The gtkam Camera and Driver Configuration dialog doesn't actually provide much to select.
Figure 12: Pressing the PrtScn key on your keyboard captures the entire screen.
Figure 13: Alt-PrtScn captures just the active window.
Figure 14: KPaint is an open-source painting program that comes with Fedora Core.
Figure 15: The New Canvas Size dialog allows you to change the dimensions of the canvas.
Figure 16: The combo box in the upper right quadrant allows you to fill the control with predefined color choices.
Figure 17: The Line Properties and Fill Properties tabs of the Tool Properties dialog allow you to set the attributes for the currently selected tool.
Figure 18: The KIconEdit window provides an empty, 32-pixel-square editing window.
Figure 19: The Select Color dialog is a standard widget used by many KDE tools.
Figure 20: The GIMP Toolbox window.
Figure 21: The second main window in The GIMP is the Image window.
Figure 22: The Color Selection and Brush Selection windows are important parts of The GIMP's interface.
Figure 23: The Pattern Selection and Gradient Selection windows in The GIMP.
Figure 24: Right-clicking in the Image window displays a context menu.
Figure 25: You can capture a single window or the entire screen.
Figure 26: Saving a file from the Image window.
Figure 27: The crosshair represents one corner of the area to be cropped.
Figure 28: Cropping an image inside the rectangular area.
Figure 29: Zooming in to an image so that individual pixels are visible.
Figure 30: GQView allows you to scroll through and view a list of image files.
Figure 31: gThumb contains three panes that provide different views of your images.
Figure 32: Adding a custom category to gThumb Image Viewer.
Figure 33: The Convert Format function allows you to convert an image to another format and then decide what to do with the original file.

Chapter 11: Multimedia: Audio (and Video)

Figure 1: The Fedora Core Audio Devices dialog allows you to test your sound card.
Figure 2: The CD Player applet that comes with Fedora Core.
Figure 3: The CDDB Track Editor that's part of the CD Player.
Figure 4: The main Grip screen, with a Rolling Stones CD loaded in the drive.
Figure 5: Right-click the Tracks tab to select the tracks to rip.
Figure 6: If you don't select any tracks, you can rip the entire CD at once.
Figure 7: The top and bottom bars display per-track and overall progress.
Figure 8: The Rhythmbox jukebox, loaded with tracks.
Figure 9: Select tracks before creating a playlist.
Figure 10: The New Playlist dialog, ready to add tracks to the playlist.
Figure 11: Highlighting a playlist will display the tracks in the playlist.
Figure 12: Adding (dragging) a track to an existing playlist.
Figure 13: The Internet Radio Station source after the first station has been added.
Figure 14: Properties of an Internet radio station before adding it to Rhythmbox.
Figure 15: The XMMS windows— Main, Playlist Editor, and Equalizer.
Figure 16: The File Info dialog in XMMS.
Figure 17: The XMMS main menu and Options menu.
Figure 18: The MISC OPT button provides access to a context menu that can sort the playlist in a variety of orders.
Figure 19: The Playlist Editor context menu allows you to manipulate playlists.
Figure 20: XMMS with two different skins.

Chapter 12: Devices: Printers, Scanners, CD Burners

Figure 1: Kudzu automatically detects new hardware added to a machine.
Figure 2: Kudzu identifies specific hardware and offers you several choices.
Figure 3: Set up definitions for how to connect with a printer.
Figure 4: The wizard helps you create a print queue with an existing printer.
Figure 5: This dialog helps you to uniquely identify the queue.
Figure 6: This dialog displays the printer model and allows you to pick the queue type.
Figure 7: You must re-identify the printer for which you're setting up a queue.
Figure 8: You'll see manufacturer-specific models once you select a manufacturer.
Figure 9: The Finish dialog allows you to confirm the settings you're going to use.
Figure 10: The "Add a print queue" wizard allows you to print a test page and confirm that it printed correctly.
Figure 11: The error message for a disconnected printer is somewhat cryptic.
Figure 12: Answering "No" to the confirmation dialog in Figure 10 opens the error log so that you can troubleshoot what might have gone wrong.
Figure 13: The "Printer configuration" screen shows you a list of all printer queues set up on your computer.
Figure 14: The "Edit a print queue" dialog allows you to continue configuring the print queue.
Figure 15: The GIMP's print dialog respects the default print-queue settings.
Figure 16: The current version of OpenOffice.org doesn't respect the default print-queue settings.
Figure 17: The XSane license agreement appears only the first time you start XSane.
Figure 18: XSane will tell you it's looking for devices.
Figure 19: If a device isn't found or a connection isn't available, you'll see an error message similar to this one.
Figure 20: The XSane help is more helpful than many other software packages.
Figure 21: The XSane scanning tool's interface includes three windows.
Figure 22: The XSane main window allows you to set the type of scan to perform.
Figure 23: Here you can control the brightness and contrast of your image.
Figure 24: You can sneak a peek at the image before performing the complete scan.
Figure 25: Before scanning, configure XSane by using the Preferences | Setup option.
Figure 26: You can choose which mode to use with a scanned image.
Figure 27: Selecting a color image to scan.
Figure 28: The main window displays progress during the scan.
Figure 29: The scanned image appears in the Viewer window.
Figure 30: Highlight a source folder to copy.
Figure 31: Typing "burn—///" turns the Nautilus window into a CD-burning mechanism.
Figure 32: A Nautilus window with a folder ready to burn to CD.
Figure 33: Here you can set parameters before burning.
Figure 34: The Writing CD dialogs show you the progress of the burning process.
Figure 35: The CD shows up on the desktop with the name you provided in the "Write files to a CD recorder" dialog in Figure 33.

Chapter 13: Security

Figure 1: You must re-enter the current user's password first.
Figure 2: Then you're prompted for a new password.
Figure 3: Fedora Core won't let any old password by.
Figure 4: Retyping your password ensures that you didn't make a mistake typing it the first time.
Figure 5: If you don't repeat the password properly, you'll be notified.
Figure 6: You have to know the root password in order to change it.
Figure 7: Enter and re-enter the new root user password.
Figure 8: This is the control center for working with users and groups.
Figure 9: Adding a new user.
Figure 10: Adding a group in the User Manager.
Figure 11: The User Manager shows the new group, but without any group members.
Figure 12: Users who are eligible to become members of the "theboys" group.
Figure 13: Herman and Igor have now become members of the "theboys" group.
Figure 14: Creating a directory accessible only to members of a group.
Figure 15: The new "theboys" directory is owned by "herman" and is attached to the "theboys" group.
Figure 16: The Authentication tab of the Authentication Configuration dialog doesn't contain anything relevant to a desktop user.
Figure 17: Clicking the MD5SUM link will display the md5sum string in the browser.
Figure 18: Enter the root password so you can install the package.
Figure 19: The RPM installation process flashes a couple of progress windows.
Figure 20: Results of testing to see if f-prot is running or not.
Figure 21: The link for the F-Prot documentation on the F-Prot Web site.
Figure 22: The Security Level Configuration screen allows you to turn your firewall on or off, and to specify which ports should be open as well.

Chapter 14: Under the Hood

Figure 1: Here you can create a new profile, and optionally base it on an existing one.
Figure 2: The Edit Profiles dialog allows you to manage multiple profiles.
Figure 3: This dialog contains six tabs of attributes that describe the profile.


List of Tables

Chapter 9: Fedora Core Utilities

Table 1: Formats of common Linux archive and compressed files.

Chapter 14: Under the Hood

Table 1: Special characters you can use to customize your prompt.

Team LiB
Previous Section