Mark's Ubuntu Book

This page describes the Ubuntu book that Mark Stone is writing, and provides some draft material.

Bibliographic Information

  • Title: Desktop Linux with Ubuntu
  • Author: Mark Stone
  • Publisher: Manning Press
  • Publication date: 2006

Draft Table of Contents

  • Preface
  • Intended readers
  • Using this book


Table of Contents

PART I - Getting Started with Ubuntu

Part Introduction

1.0 Why Ubuntu?

  • 1.1 Linux
    • 1.1.1 Overview and Rationale
    • 1.1.2 Linux Distributions
  • 1.2 Debian
    • 1.2.1 What Is Debian?
    • 1.2.2 Stable, Testing and Unstable
  • 1.3 Ubuntu
    • 1.3.1 Origins of Ubuntu
    • 1.3.2 The Ubuntu Community
    • 1.3.3 Ubuntu Design Philosophy
  • 1.4 Summary

Text of the Chapter 1 Summary:

Linux has grown from an experimental to a mature operating system, one that is now an important part of our technology infrastructure. For the desktop user this means that Linux is a more viable desktop platform than ever before.

Learning about Linux variations and the Linux community can be bewildering. Linux variations, commonly known as “distributions”, are differentiated in part by their package management systems. One key branch of the distribution family in this regard is the Debian distribution. Software in the Debian distribution is completely open source: it can be freely redistributed, modified, and the modifications freely redistributed. Thus while Debian is a large, comprehensive Linux distribution that evolves slowly, it has spawned a number of more focused distributions that start from Debian as a base.

Debian's package management system also uses a sophisticated approach that is highly network aware and does a superior job at tracking and managing dependencies between pieces of software. As a result, Debian-based Linux distributions are easier to update and maintained once the base software is installed.

Ubuntu is one Debian-based distribution, focused on ease of installation, ease of use, immediate usefulness, and regular release cycles.

A distribution is more than just a collection of software, however. It is also a community. The Debian community is one of the most mature and most active within the world of open source software, with tens of thousands of developers involved in maintaining the software, developing new software, or tracking and resolving bugs and security issues. The Ubuntu community is a separate community, but one that interacts and cooperates with the Debian community.

The Ubuntu community really consists of two parts. On the one hand, there is Canonical Ltd., the commercial company that provides services and support for Ubuntu, as well as dedicating some paid developers to work on Ubuntu. On the other hand, there is the community of Ubuntu volunteers, ranging from people who simply use Ubuntu to people who are actively involved in some of Ubuntu's many development project. Being an Ubuntu user means getting used to this broad, but unconventional supporting community. While commercial support for Ubuntu is available, your best resource for help is often the community of people just like you, learning and growing with Ubuntu.

2.0 Installing Ubuntu

  • 2.1 Getting Ubuntu
    • 2.1.1 Ordering a CD
    • 2.1.2 Downloading from the Internet
    • 2.1.3 Downloading with Bittorent
  • 2.2 Preparing for Installation
    • 2.2.1 Readying Your CD
    • 2.2.2 Finding Your Hardware Specifications
    • 2.2.3 Deciding on Single Boot or Dual Boot
  • 2.3 Initiating Installation
    • 2.3.1 Installation First Steps
    • 2.3.2 Partitioning During Installation
    • 2.3.3 Installing and Configuring Software
  • 2.4 Troubleshooting
    • 2.4.1 Command Line Basics
    • 2.4.2 Commands and Files for Diagnostics
    • 2.4.3 Manually Configuring Your Display
  • 2.5 Summary

Text of the Chapter 2 Summary:

In this chapter we've discussed the procedure for installing Ubuntu Linux on your computer. Ubuntu has a well-deserved reputation for being an easy Linux distribution to install, and your installation experience will most likely be straightforward. However, you have configuration choices to think through, and complications that may arise. We have tried to cover the most common situations that arise.

Installation begins with an Ubuntu install CD, which you can either order to have shipped to you or download as a CD image to be burned to a blank CD. When downloading you can either download from a central server, or download using Bittorrent. While Bittorrent is a bit complicated to set up, it offers a more scalable, robust means for downloading.

Before beginning installation, you should gather as much information as you can about your system: what devices are part of your system, including manufacturer and model, and what the characteristics of your system are (RAM, size of hard drive, screen resolution and monitor information). Before beginning installation you will also need to decide what setup you want. The main choices are between a single boot system (Ubuntu only), and a dual boot system (Windows and Ubuntu). You may want a dual boot system to continue running certain Windows applications. Before deciding you need a dual boot system, however, you should consider other options. You may want to try Ubuntu as a Live CD before actually installing it on your hard drive. You may also want to try running Windows applications directly under Linux, using an emulation technology or using a virtual machine.

If a dual boot system is the right step for you, then your installation will include re-partitioning your hard drive to present as if it were two hard drives, one for Windows and one for Linux. You should be able to re-size your existing Windows partition without data loss to make room for new partitions as the target of your Ubuntu installation.

Once you begin the actual installation process, you will be guided through a series of menus and questions that will prompt you to make choices and provide information specific to your computer. These questions are generally straightforward to answer, or offer acceptable defaults for you to select. Throughout the process the installer will be working behind the scenes to auto-detect and auto-configure your system, minimizing the choices you must make and the expertise you must have to complete a successful installation.

When installation problems do arise, we have presented a troubleshooting guide to get you started on diagnosing problems. This includes using commands and reading files that contain information about which devices your system has recognized and how it has configured them. We have also covered the most common installation problem in detail, namely low resolution setting for your graphical display.

With installation complete, you are now ready to start using Ubuntu Linux as a desktop system.

3.0 Surveying the Default Setup

  • 3.1 Booting Up and Logging In
    • 3.1.1 Booting with Grub
    • 3.1.2 Logging in via GDM
  • 3.2 Exploring Desktop Elements
    • 3.2.1 Using Virtual Desktops
    • 3.2.2 Understanding Gnome Panels
    • 3.2.3 Launching Applications with Icons
    • 3.2.4 Exploring Menus
  • 3.3 Navigating Files and Folders
    • 3.3.1 Viewing Default Folders
    • 3.3.2 Manipulating Files
  • 3.4 Getting Started with Applications
    • 3.4.1 Using Evolution
    • 3.4.2 Using Firefox
    • 3.4.3 Using OpenOffice Writer

    • 3.4.4 Using OpenOFfice Calc
  • 3.5 Summary

Text of Chapter 3 Summary:

Before making changes and cutomizations to your new Ubuntu system, you need to understand what you actually have in the default setup, and the basics of how to use it. This chapter has presented the most important features of your Ubuntu desktop system, as well as the most typical tasks and applications in which users engage.

Ubuntu, like all Linux systems, is a true multi-user system. As a result, a great deal of user-specific customization is possible. The first step, however, is logging in identify yourself as a user to the system. In this chapter we've examined the Grub boot manager and the Gnome Display Manager (GDM), the two key pieces that enable you to start up your computer and log in. Once logged in, you are presented with the default Ubuntu desktop, a unified suite of the Gnome Desktop Environment, Metacity Window Manager, and Nautilus File Manager. We have looked at how these programs coordinate to produce the desktop, icons, panels, and menus that make up the default setup. An important differentiating Linux concept here is the idea of virtual desktops, or, as Ubuntu calls them,”workspaces”. These workspaces divide your total available desktop space into a number of different workspaces each of your screen resolution size. In this way you can expand your available desktop “real estate” by using and switching between workspaces.

We have also looked at the basics of the Nautilus File Manager. Nautilus is a sophisticated program for viewing, previewing, and manipulating files, but here we've lookedat just the most common file operations: changing between folders, creating folders, getting information about files, and moving, copying, or deleting files.

Finally, we've examined the most commonly used applications, with an emphasis on showing both the ease of use of these applications, and their similarity to their counterparts on systems like Microsoft Windows. The applications covered here are Evolution (for email), Firefox (for web browsing), OpenOffice Writer (for word processing), and OpenOffice Calc (for spreadsheets). We have also provided a brief introduction to whole suite of applications.

Eventually you will want to completely customize your Ubuntu system, to give it a look and feel that is your own, and to customize applications and short cuts to behave the way you want. You'll no doubt want to add applications, and maybe even remove a few. You'll want to edit menus, and add icons for your most frequently used applications. Before you change anything, though, you should understand what you have. Ubuntu is a very capable desktop system right out of the box with the default configuration, and you should explore that default configuration thoroughly before deciding what changes, if any, you want to make.

4.0 Getting Online

  • 4.1 Understanding Network Basics
  • 4.2 Identifying Your Network Setup
  • 4.3 Adding or Modifying a Network Connection
    • 4.3.1 Dial-up
    • 4.3.2 Direct Broadband
    • 4.3.3 PPP Over Ethernet
    • 4.3.4 LAN
    • 4.3.5 Wireless
  • 4.4 Activating and Deactiving a Network Connection
  • 4.5 Running Simple Network Diagnostics
    • 4.5.1 Checking the Network Interface
    • 4.5.2 Checking the Gateway
    • 4.5.3 Checking the Name Server
    • 4.5.4 Using Ping
  • 4.6 Summary

Text of Chapter 4 Summary:

At present we think of “computer” and “networked computer” as virtually synonymous. The Internet is the knowledge engine of our time, and knowledge workers must have their computers connected to it. Fortunately, Linux was born from the same lineage as the research community that produced the Internet. Ubuntu carries that lineage, and offers a very capable networking system. In this chapter we've looked at networking with Ubuntu, and seen how to configure and manage the main types of network connections.

We have examined the basics of a computer network, including basic physical types of network connection (network media). We've also looked at the common patterns of logging on and authenticating on a network, as well as the basic elements that need to be present in a functioning network: a gateway for reaching other network destinations, and a name server to map network addresses onto network names. We've also looked at the key element of network management in Ubuntu, the Network Adminstration window (which you can open from “System -> Administration -> Networking”). This tool will show you currently configured network interfaces, as well as enable you to change or add network configurations. These configurations can even be made location specific, so that, for example, laptop users can use a different configuration depending on where they are. We've shown how the Network Administration window can be used to configure and manage the most common types of network configurations, specifically:

  • Dial-up
  • Direct Broadband
  • LAN
  • Wireless

Finally, we've looked at some of the diagnostic tools available to help determine the source of a problem when a network connection isn't working properly. These diagnostics involve an early glimpse at one of Linux's most powerful management tools, namely working from the command line interface. This approach provides a more direct view into the settings and configurations of an Ubuntu system. While seldom necessary for routine use, the command line interface provides access to the basic underpinnings of your Ubuntu system. Using direct network commands, we've seen how to examine your address, gateway and name server settings. We've also seen how to verify that those settings are live and producing reachable network results.

Mastering the basics of computer networks is the first step towards connecting your Ubuntu system to other computers and other devices. With a functioning network connection, you have not just a desktop system, but a powerful Internet work station.

5.0 Connecting to Other Devices

  • 5.1 Understanding Connection Modes
  • 5.2 Connecting to Typical Devices
    • 5.2.1 Configuring Your Printer
    • 5.2.2 Using Your Scanner
    • 5.2.3 Connecting Your Digital Camera
    • 5.2.4 Synchronizing With Handheld Devices
  • 5.3 Summary

Text of Chapter 5 Summary:

Connecting to a network is only one step in having a well-connected PC. These days, an effective PC must coordinate and communicate with an array of peripheral devices. In this chapter we have reviewed the primary modes of connection between a PC and peripheral devices, emphasizing USB as the most important connection mode.

We have also examined connecting to four of the most common types of peripheral devices: * Printers; * Scanners; * Digital Cameras; * Handheld Devices.

Linux, and hence Ubuntu, depend heavily on the willingness of device manufacturers to publish driver specifications and APIs. Where there is a history of cooperation from manufacturers, or where standards have changed gradually, Ubuntu's support for those devices is good. For printers, scanners, and digital cameras, Ubuntu support is generally good and you can expect many of the most common devices in these categories to work well with Ubuntu.

Where standards and devices change more rapidly, or where manufacturers are less forthcoming with device specifications Ubuntu, like Linux in general, lags behind in device support. While PalmOS handheld devices are well supported, many other models of PDA and most cell phones have only primitive support at this time. The nature of open source development, however, is to rapidly fill an emerging need. For software developers, basic Linux tools now exist for some models of cell phone and for the emerging Bluetooth wireless communication protocol. We can expect that stable, user friendly versions of these tools will emerge soon.

Part Summary

PART II - Using Ubuntu

Part Introduction

6.0 Updating Software

  • 6.1 Understanding Packages and Dependencies
  • 6.2 Relating Ubuntu to Linux
    • 6.2.1 Free, Non-free, and Commercial Software
    • 6.2.2 Debian and Ubuntu
    • 6.2.3 The Ubuntu Release Process
  • 6.3 Exploring Ubuntu's Software Repository
    • 6.3.1 Main
    • 6.3.2 Restricted
    • 6.3.3 Universe
    • 6.3.4 Multi-verse
  • 6 .4 Working With Package Management
    • 6.4.1 Synaptic
    • 6.4.2 Apt
    • 6.4.3 Dpkg
  • 6.5 Summary

7.0 Working With the Ubuntu Desktop

  • 7.1 Understanding Gnome
    • 6.1.1 The Desktop and Workspaces
    • 6.1.2 Panels, Menus, and Applets (include: making items sticky)
    • 6.1.3 Icons
    • 6.1.3 Other Desktop Environments
  • 7.2 Managing Windows with Metacity
    • 6.2.1 What's a Window Manager?
    • 6.2.2 How Metacity Works
    • 6.2.3 Other Window Managers
  • 7.3 Keyboard Shortcuts
  • 7.4 Handling Folders and Files with Nautilus
    • 7.4.1 Understanding File Properties
    • 7.4.2 File and Folder Operations
    • 7.4.3 Nautilus File Attributes
  • 7.5 Summary

8.0 Internet Applications

  • 8.1 Browsing the Web
    • 8.1.1 Firefox
    • 8.1.2 Alternate Browsers
  • 8.2 Sending Email
    • 8.2.1 Evolution
    • 8.2.2 Thunderbird
    • 8.2.3 Other Mail Clients
  • 8.3 Instant Messaging
    • 8.3.1 GAIM
    • 8.3.2 Connecting to Yahoo or Google Chat
    • 8.3.3 X-chat
    • 8.3.4 Other IM Clients
  • 8.4 Summary

8.0 Using Office Applications

  • 8.1 Understanding

    • 8.1.1 Word Processing
    • 8.1.2 Spreadsheets
    • 8.1.3 Presentation Software
  • 8.2 Considering Office Application Alternatives
    • 8.2.1 AbiWord and Other Word Processors

    • 8.2.2 Spreadsheets
    • 8.2.3 Presentation software
  • 8.3 Working with PDF and PostScript

    • 8.3.1 Evince, Acroread, and XPDF
    • 8.3.2 Ghostview
    • 8.3.3 Creating PDFs with OpenOffice

  • 8.4 Managing Your Contacts
    • 8.4.1 Evolution
    • 8.4.2 Gnome Addressbook
    • 8.4.3 Other Contact Managers
  • 8.5 Summary

9.0 Enjoying the Multimedia Experience

  • 9.1 Playing Audio
    • 9.1.2 Playing CDs
    • 9.1.3 Playing MP3s
    • 9.1.4 Using RealPlayer/Helix
    • 9.1.5 What About iTunes?
  • 9.2 Burning Disks
    • 9.2.1 Burning CDs
    • 9.2.2 Burning DVDs
  • 9.3 Capturing Audio
    • 9.3.1 WAV, MP3, and Ogg
    • 9.3.2 Using Audacity
  • 9.4 Playing Video
    • 9.4.1 Understanding Video Formats
    • 9.4.2 Making Sense of CODECs
    • 9.4.3 DVD Playback (xine)
    • 9.4.4 Internet Media (real)
  • 9.5 Working with Digital Photos
  • 9.6 Summary

10. Playing Games

  • Games

  • 10.1 Casual Games
    • 11.1.1 Card Games
    • 11.1.2 Puzzle Games
    • 11.1.3 Simple Arcade Games
  • 10.2 Strategy Games
    • 11.2.1 Lincity
    • 11.2.2 Freeciv
    • 11.2.3 Wesnoth
  • 10.3 RPGs
  • 10.4 Summary

11.0 Interacting with Other Operating Systems

  • 11.1 Wine
  • 11.2 Crossover
  • 11.3 Win4Lin

  • 11.4 VMWare
  • 11.5 Summary

12.0 SOHO Networking

  • 12.1 Anatomy of a SOHO Network
  • 12.2 Sharing Files and Printers over the Network
  • 12.3 Remote Connections to other PCs
  • 12.4 Summary

Part Summary

PART III - Care and Upkeep of Ubuntu

Part Introduction

13. Exploring Ubuntu's Anatomy

  • 13.1 Understanding Users and Groups
    • 13.1.1 What Is a Multi-User System?
    • 13.1.2 Super User and Sudo
    • 13.1.3 Default Groups and Permissions
    • 13.1.4 Adding or Changing Users and Groups
  • 13.2 CLI - Philosophy of the Command Line Interface
    • 13.2.1 The Bourne Again Shell
    • 13.2.2 Customizing Your Shell
    • 13.2.3 Shell scripts
    • 13.2.4 Using Text Editors
  • 13.3 Configuration Files
    • 13.3.1 Overview of the Linux File Hierarchy
    • 13.3.2 Boot Files and Start-up Files
    • 13.3.3 Understanding Etc
    • 13.3.4 Configuration Files in Your Home Folder
  • 13.4 Summary

14.0 Managing Your Information

  • 14.1 Making Archives
    • 14.1.1 Zip
    • 14.1.2 Tar
    • 14.1.3 Gzip and Bzip
  • 14.2 Mounting File Systems
    • 14.2.1 NTFS
    • 14.2.2 FAT
  • 14.3 USB Storage Devices
  • 14.4 Backing Up Your Files
    • 14.4.1 Local backups
    • 14.4.2 Network Backups with Rsync
    • 14.4.3 Scheduling Backups
  • 14.5 Summary

15.0 Diagnostics and Troubleshooting

  • 15.1 Processes and Resources
  • 15.2 Device Management
    • 15.2.1 The proc Directory
    • 15.2.2 HAL - The Hardware Abstraction Layer
  • 15.3 System Monitor
    • 15.3.1 top
    • 15.3.2 ps
  • 15.4 Networking Tools
  • 15.5 Summary

16.0 Getting Help

  • 16.1 The Ubuntu Community
  • 16.2 Ubuntu Forums and Mailing Lists
  • 16.3 IRC
  • 16.4 General Linux Resources
  • 16.5 Summary

Part Summary

Appendix A Ubuntu Variations

  • A.1 Kubuntu
  • A.2 Xubuntu
  • A.3 Edubuntu
  • A.4 Ubuntu Live CD



MarksUbuntuBook (last edited 2008-08-06 16:25:53 by localhost)