Navigation:

Search



Related Articles

Our Friends

Articles Transitioning from Windows to Linux
 

Transitioning from Windows to Linux

A guide to doing "normal" tasks in Linux, such as managing files, installing applications, and customizing the environment.

This was written by Michael Imamura, Sonny Rao and given on Thu Jan 21 2002.

Table of Contents


1. Introduction
1.1. What is this all about?

The growth of Linux towards becoming a useful desktop platform over the past years has brought many new users into understanding the alternatives that exist in both operating systems and applications. The much-advocated system of Open Source development to improve software quality and collaboration has also made quite a splash, bringing in developers who would otherwise have never dreamed of becoming involved in such large, influential projects such as the Linux kernel, KDE, Gnome, and Mozilla.

That's all fine and good for software developers, but amid the talk of releasing source code, arguing over architectural decisions and which editor is the greatest in the universe, there are the cries of the non-developers:

"What's in it for me? How does this help me get my job done?"
2. Why Linux / *BSD / Unix?
2.1. Customizability

Everybody uses a computer differently, so being able to adapt your system to fit your needs is a valuable tool for getting work done efficiently. When there is such a large selection of environments to choose from (more on this later), the focus shifts from learning how other people work to learning how you as a user works.

2.2. Experience

Mastery of a single particular system is admirable, but a worker is always better off knowing what tools are available. Linux and the applications that run on it are tools for getting your work done, and it's a good thing to know if it is a better tool for the job by experience rather than a marketing brochure.

3. The User Interface
3.1. Choices

As mentioned earlier, Linux provides a dazzling array of ways to interact with your system, from the simple text-only console, to complete desktop environments such as Gnome and KDE . Graphical user interfaces are referred to as "window managers", and are interchangeable. In particular, Gnome and KDE are designed to be combinable with other window managers to further fit your style. While we will be focusing on Gnome and KDE (Gnome in particular), there are many others available, descriptions and screenshots of which can be found here: http://www.plig.org/xwinman/ .

3.2. Configuring the User Interface

In Gnome, most of the configuration options for changing the user user interface of the default window manager (Sawfish), can be found in the Gnome Control Center.

Tip: Middle-clicking on the desktop and selecting "Customize" is another method of changing Sawfish settings.

3.3. 'Help!' or, How To RTFM.

In Windows, standardized help is invoked via the F1 key. The standard help system on Unix systems are "manual" (or simply, "man") pages, commonly viewed via the man command. Both Gnome and KDE are able to view manual pages graphically from the file manager (Nautilus and Konqueror, respectively). To use this feature, just type "man: (application) " in the location bar.

The web, as always, is a valuable resource for finding support in addition to any help provided with the application. In particular, if you are getting started with an application, search for the word "HOWTO" in addition to you search terms.

4. Doing 'Normal' Things
4.1. File Management

Managing files in Gnome and KDE should feel familiar to users of the Explorer in Windows, using the standard folder and icon interface. The Gnome file manager is called Nautilus, and will be the focus of this section. If you are using KDE, information on managing files can be found here .

4.2. Understanding Unix Paths
"If the path be beautiful, let us not ask where it leads."
- Anatole France

There are three major points to remember when it comes to Unix-style filenames:

  1. The names of files and directories are case-sensitive.
  2. All paths start at the root directory ("/").
  3. Your personal files go in your "home" directory, which is usually " /home/yourname " and is often abbreviated as simply " ~ " (tilde).

Your hard drives, CD-ROM drives, and floppy drives are "mounted" to become accessible. Mounting a drive simply means that it is associated with a path, such as " /mnt/cdrom ", from which you can access the files on the drive.

4.3. Dot-Files (Hidden Files)

Unlike Windows, files cannot be marked "hidden". Rather, files which begin with a period (often referred to as "dot-files") are treated as hidden files, and are usually found in your home directory to store personal settings for programs.

4.4. Understanding Unix File Permissions

All files on a Unix system have settings for permissions. There are nine major permission settings which can be toggled on or off: three categories (user, group, and other), each with three settings (read, write, execute). Each file is also owned by a user and is assigned to a group.

The permissions for a file are usually abbreviated as 9 characters in a row, like this:

rwxrwxrwx

The first three characters are the permissions of the file as they relate to the file's owner (read, write, and execute). Read and write are self-explanatory; execute means that the file can be run as a program. The next three characters refer to the permissions relating to the file's group, and the last three refer to the permissions in regard to all other users. If instead of a character there is a hyphen ("-"), when that means the permission in that space is not set.

Examples:

  • rwxrwxrwx : This means that the file is open to all users (all users can read and write this file). Also, all users can execute this file as a program.
  • rwxr-xr-- : This means that the user who owns this file can read, write, and execute the file. Users who belong to the same group which the file is assigned to can read and execute the file. All other users can read, but not execute, the file.
  • rw-r----- : This means that the user who owns this file can read from and write to the file. Users who belong to the same group which the file is assigned to can read the file. All other users cannot read or write the file.
4.5. Finding Files

To search for files from Nautilus, select "Find" from the "File" menu, or click on the "Find" button on the toolbar. The location bar will be replaced with the Find bar, which will allow you to search for files matching your criteria. For a more detailed search, click on the "More Options" button multiple times.

4.6. Associating Programs to Files

In Nautilus, to associate a program with a particular file type, so that double-clicking on icons of that type will launch the correct application, first right-click on a file of that type, and select "Open With -> Other Application...".

Next, select the application you wish to associate with the file type in the list. If your application is not listed, you may add it in the "File Types and Programs" section of the GNOME Control Center (click on the "Go There" button in the dialog). In this case, the program we want to use (NEdit) is already listed. Click the "Modify" button.

Finally, click on "Use as default".

4.7. Managing Music and Images

Nautilus automatically generates thumbnails for all image files, and you can zoom in and out on the image by either using the zoom control (next to the location bar), or by selecting "Stretch Icon" from the right-click menu and stretching the icon larger or smaller.

Nautilus also allows you to preview and play MP3s from the file manager. Hold the mouse over an audio file to preview the sound file (moving the mouse away will stop the playback). Also, if you have a directory of MP3 files, you can select "View as Music" to show the built-in MP3 player. You can also use the method described in the " Associating Programs to Files " section to use XMMS or another MP3 player to play the files.

5. Package Management

Installing Programs (or "Packages" as they are often called in the *nix world) is handled in a multitude of ways depending on what distribution or system you are using. Even between different distributions there are several different package management systems in use today. The most prevalent system is called RPM - Redhat Package Mangager which is used on RedHat, Mandrake, and Suse (and probably others). Beyond that, there is the Debian package management system which has the famous "apt" - Advance Package Tool set of scripts and the minimalist Slackware Package Management system.

5.1. RPM

From the man page:

rpm is a powerful package manager, which can be used to build, install, query, verify, update, and erase individual software packages. A package consists of an archive of files, and package information, including name, version, and description.

RPM does package and architecture dependency checking for you and maintains a database of what packages are installed. The manpage for rpm is rather daunting, but thankfully there are a few simple invokations that should get you through most situations.

Installing a new package: rpm -i foo-0.1.rpm

Upgrading an existing package: rpm -U foo-0.2.rpm
(more verbose version): rpm -Uvh foo-0.2.rpm

Removing a package: rpm -e foo

If console commands strike fear into your heart, don't worry, most RPM-based distributions come with their own GUI management system. We don't really know how well they work (they have generally not been very high quality in the past).

Also of note, is Mandrake's high-level "urpmi" system for automatically fetching and installing RPM packages.

See man pages and how-to's for more details.

5.2. Debian

Debian uses several systems in concert to handle package management. Among them is the low-level dpkg command, the menu-driven dselect, and the high-level apt system. Debian maintains a great deal of meta information about packages such as dependencies, recommended packages to install, and stability status.

For the simple tasks you will use either apt (and specifically the "apt-get") command or dselect to manage packages on Debian. Apt-get is a simple command line tool for package installation where you specify installation, removal, or update of packages whose names you know. Dselect is a menu-driven system where you can look at package names, descriptions, dependencies, and what is currently installed. Apt grabs packages from web-based central repositories of debian packages, verifies their integrity, and installs them all automatically.

5.3. Slackware

Slackware packages are merely glorified tarballs with special files that are executed after untaring the package. No meta information is kept other than what files were installed where.

The main commands to know are installpkg, removepkg, and (possibly deprecated) pkgtool. The syntax of installpkg and removepkg is fairly straightforward. Installed package information is stored in /var/log/packages as text files with all of the installed files.

5.4. Autoconf

GNU autoconf is not package management per-se, but is typically how raw source packages are configured and then subsequently built with make when packages are not available or one is intentionally avoiding using the package manager.

Compiling and installing packages from the authors is not terribly difficult when autoconf is used to configure it. It basically boils down to three easy steps:

./configure
make
(as root)make install

Remember to cd into the directory where the program untared

Sometimes, you will have to pass options to the configure script and you can determine what options are available by typing: ./configure --help

Usually, this system works fairly well, but in the case where it does not, it can often be a rather complex task to assure that everything is working correctly, and you should try and find packages if possible.

6. Whizzy Stuff
6.1. Changing the Desktop Wallpaper

To change the background image of the desktop when using Nautilus, right-click on the desktop and select "Change Background Image" from the menu.

6.2. Changing the Toolkit Theme

You can change the appearance of buttons, scrollbars, and other elements of certain applications. The part of an application which draws the on-screen components is called the "toolkit", and there are a number of different toolkits (such as GTK+, Qt, Motif, XForms, and Tk) used by different applications. Unfortunately, since not all applications use the same toolkit, changing the toolkit theme is different for each application, and some toolkits are very limited in what can be customized.

Gnome uses GTK+, as do applications written for Gnome. To change the GTK+ theme, open the Gnome Control Center and choose the "Theme Selector" (in the "Desktop" section). A number of themes are bundled with Gnome; others can be downloaded from http://gtk.themes.org/ and installed using the "Install new theme..." button.

Below are examples of three different GTK+ themes: (Click on a thumbnail to view a full screenshot).

Metal Theme Screenshot
Metal Theme
SatinBlack Theme Screenshot
SatinBlack Theme
by Nakitoma Mitsuoni
CurlyMonster Theme Screenshot
CurlyMonster Theme
by CurlyMonster .

Note: The CurlyMonster screenshot is also using the windowsXP Sawfish theme by Patrick McDermott .

The GTK+ CurlyMonster Theme can be downloaded from: http://www.themes.org/resources/542/ .

The SatinBlack Theme does not appear to be available anywhere anymore :(.


This article has external documents! Click here.