Most users want to change their software, add and experiment with other software options, install and use hardware devices like printers, access remote files, use the terminal, and maybe even run some Windows programs. Ubuntu provides many ways to do each of these things, and this chapter gets you started with each of them and more.

As you've seen so far, Ubuntu is relatively straightforward to set up and use for the common day-to-day tasks. With time, though, most users want to change their software, add and experiment with other software options available in Ubuntu, install and use hardware devices like printers, access remote files, use the famous (and sometimes feared) terminal, and maybe even run some Windows programs. Ubuntu provides many ways to do each of these things. While they are a little more complex than the material covered in previous chapters, the Ubuntu community has worked hard to make them as easy as possible, and this chapter gets you started with each of them and more.

Adding and Removing Programs and Packages

While Ubuntu already includes the things most people need, sometimes you want or need something extra, such as a desktop publishing application for school or a game to pass the time. The easiest way to add these is with Ubuntu Software Center, which is extremely simple to use but has a few limitations. This section also highlights a couple of other options. Work done using one tool to add or remove software is recognized by the related tools, so it is okay to mix and match which ones you use.

Using Ubuntu Software Center

Like other tools discussed later in this chapter, Ubuntu Software Center installs software from the online Ubuntu software repositories.

To launch Ubuntu Software Center, simply click on the entry at the bottom of the Applications menu. When it is run for the first time, and occasionally afterward, it will take a few moments to initialize itself and the list of available and installed applications. Once this is complete, you will see the main screen shown in Figure 4-1.

The interface is divided into two parts. On the left are options to see what software is already installed or to get new software. If you highlight the Get Software option, the right panel provides you with a list of software categories to explore, including a Featured category that includes some of the more popular choices for software available from the Ubuntu repositories but not installed by default, as in Figure 4-2. To get more information or to install an item, click on the appropriate option. It really is that easy. To navigate back to the main menu, simply click the previous option from the hierarchy at the top of the pane or Get Software from the list in the left pane.

By default, Ubuntu Software Center shows all applications that are supported by Ubuntu, including those supported by community volunteers called MOTUs (more on them in Chapter 7). While using Ubuntu Software Center to install new applications from both the officially supported Ubuntu-provided repositories as well as the community repositories is perfect for most users, there are times when a more conservative approach to software choices may be appropriate. In this case, you may limit the number of applications shown from the View menu by selecting Canonical-Maintained Applications in order to see only those pieces of software that are actively watched over and updated by Canonical, the company behind Ubuntu. This is sometimes preferred in corporate environments that desire or require a stronger guarantee of support.

Terminology

You might want to know a few terms before we continue. These are words used to describe how the software gets installed on your machine as well as how the system works.

APT: Advanced Package Tool, or APT, describes the entire system of online repositories and the parts that download them and install them. This is not highly visible when using graphic interface–based systems like Ubuntu Software Center but very clear when using command-line tools like apt-get or aptitude. Either way, APT is at work.

Repositories or software channels: In the Ubuntu world, these giant online warehouses of software are divided between official Ubuntu repositories and unofficial ones.

Packages: Applications are stored in packages that not only describe the program you want to install but also tell your package manager what the program needs to run and how to safely install and uninstall it. This makes the process of dealing with software dependencies smooth and easy for end users.

Dependencies: Dependencies comprise the software that is needed as a foundation for other software to run. For example, APT is needed for Ubuntu Software Center to run because APT takes care of many of the details behind the scenes.

Managing Software with Synaptic

Synaptic is a powerful graphical tool called a package manager. While Ubuntu Software Center deals with packages that contain applications, Synaptic deals with all packages, including applications, system libraries, and other pieces of software. Changing the system on this level is more complicated but also allows more detailed control. For instance, you can choose to install a specific library if you need it for a program that is not available in a package format.

Tip: What's a Library?

In this context, a library is a collection of software functions that may be useful to more than one program. This collection is put into a separate package to save space by not forcing multiple programs to include the same code but instead simply refer to the library when a certain function the library contains is needed. It also makes updates easier, such as when a security issue is fixed, because the programming code may be changed in one place while benefiting all programs that use the function. Libraries streamline software support to be more efficient.

Synaptic may be found at System > Administration > Synaptic Package Manager. Launch it and you will see the main window, as shown in Figure 4-3.

Why the name Synaptic? Synaptic is a play on words, based on your brain's synapses and the word APT.

Installing a Package

As with Ubuntu Software Center, installing packages with Synaptic is fairly easy. After you find the package you wish to install, click the checkbox to the right of the name of the package and select Mark for Installation. A dialog box may pop up (Figure 4-4) showing you what dependencies need to be installed—if any—which you can accept by clicking the Mark button. After you have selected all the package(s) you wish to install, click Apply on the Synaptic toolbar to begin installation.

Removing a Package

To remove a package, click on the green box, and choose Mark for Removal. As with installing a package, you may be asked to mark additional packages for removal (Figure 4-5). These are generally packages that depend on the presence of the main package you are marking for removal. If you wish to remove all the configuration files too, choose Mark for Complete Removal. After you have selected the packages you wish to remove, click Apply on the toolbar to start the actual process of removing the package.

Finding That Package

So you are looking for a package but don't know where to start? The fastest and easiest way is to simply enter a word in the Quick Search box at the top center of the Synaptic window. You can also click the Search button on the toolbar or type Ctrl+F to launch a search dialog box. By default, the regular search looks at both the package name and the description, but it can also search just by name or a number of other fields.

If you know what section the package is in, select it in the left pane (you may need to go back to the Sections pane). Select the button in the lower left labeled Sections, and browse through the packages in that section.

In addition to Sections, there are other package listing and sorting options worth exploring that you may access using the buttons at the bottom left of the Synaptic window. Status lets you sort according to installation status. Origin sorts according to the repository from which the software was installed (or no repository for manually installed software, see the section later in this chapter on installing software that is not in a repository). You can even make custom filters to aid your search.