Categories
Linux

The Linux Guide for Windows Users

Why Linux?
Some people come to Linux because they’re sick of spyware and adware, and they want something more secure. Some people just want to try something different. Some people love the idea of “free” software (free as in cost-free and/or free as in freedom). Some people have old computers that can’t run any version of Windows except 3.1. You could come to Linux with any of those reasons or any other reasons, and the Linux communities will likely be more than happy to help you find your way through the land of the penguin (Tux, the Linux mascot).

Background on the Author
I’m not really qualified to talk about Linux. I don’t know how to compile a kernel. I don’t know any programming (I took a computer science class in high school on writing in Pascal, but I don’t think that’s going to help). I’m not a computer scientist. In fact, for five out of my six years out of college, I was a high school English teacher. So why write this? Well, it’s the same reason I don’t teach elementary school children Moby Dick. Sometimes, when you’re too advanced, you take certain things for granted that novices don’t necessarily grasp. A techie may forget that a newbie doesn’t know what a mount point is, or what a kernel is, or what the command-line looks like. In fact, a newbie may not even know what a newbie is. (Hint: if you don’t know what a newbie is, you’re probably a newbie.) The idea is that I want to help someone who is computer-savvy (i.e., Windows-savvy) but who knows next to nothing about Linux—the me of last year. I want to answer the questions I wish I’d had the answers to when I started using Linux. So, this is targeted to a particular group: people who are comfortable with computers and Windows and who are willing to give Linux a try. So I’m not going to explain what memory is or what a file is or the basic structure of a computer. I’m going to explain only Linux-related terms.

Terminology/Glossary: not official definitions here, just enough so you understand what I’m talking about.

Apt-get/Synaptic. Debian-based distros use a software installer called apt-get, which uses the Debian dpkg system to retrieve, unpack, and install software. Apt-get is the command you use to get that software. For example, you might say sudo apt-get update (sudo or su gives you administrative privileges and update will refresh your list of what software’s out there), then sudo apt-get install gnocatan (this will install the game called gnocatan, a Linux version of the German game Settlers of Catan). Sudo apt-get upgrade will upgrade your currently installed software to the latest versions. Synaptic is the GUI version of apt-get.

Command-line/terminal. Remember DOS? The command line is kind of like DOS and it appears in what’s called a terminal. At first, particularly for people used to the current versions of Windows, the command line may look daunting. Honestly, though, for novice Linux users, the command line can be your new best friend. It’s a lot easier to receive instructions and help from documentation and strangers through the command-line. With the command line, you can just copy and paste in character-for-character some string of commands you don’t understand. With GUI, you need descriptions, screenshots, and very specific instructions.

Dependency hell. Apparently, not too long ago, there was something called “Dependency Hell.” You may still read about this on Linux forums every now and then. I guess in the past people would try to install software X that would depend on software Y already being installed, which in turn would depend on library Z being installed. Most up-to-date distros do not have this issue, whether they use RPM or dpkg/apt-get to install software. Apt-get, for example, will automatically mark dependencies for installation when you install new packages.

Distribution/Distro. Distributions are different versions, varieties, or flavors of Linux. No version is necessarily better than any other version. Many versions, however, are based on previous versions. For example, you may hear a lot that some distro is Debian-based or Fedora-based or Slackware-based. It just means someone took an already-existing distro, tweaked it a bit, then created a new distro. Mepis, for example, is Knoppix-based, and Knoppix itself is Debian-based.

GUI. Stands for “graphical user interface.” Usually involves pretty graphics and a point-and-click ability.

ISO. I don’t remember what ISO stands for, but if you download a file with an .iso extension, it is probably a disk image. A disk image is exactly what it sounds like. Rather than being a collection of separate files that get burned to CD, a disk image is what the CD looks like after that collection of separate files has been burned. The difference between an image and a collection of files is kind of like the difference between the letters in a printing press and the page it produces. The letters are separate entities and can be rearranged. The page that printing press produces is a single document with those same letters, but the letters can no longer be rearranged.

KDE/Gnome. These are the most popular desktops in Linux. Linux has different desktops (and hardcore Linux users make a very sharp distinction between desktops and windows managers, but I can’t tell the difference). Windows and Mac do not give you that luxury. Each desktop has its own pros and cons, and I can’t go into all of them right now. You just have to explore a bit. Gnome is slightly more light-weight, but KDE looks a lot more like Windows initially. Ultimately, you can configure either for your needs or visual preference.

Kernel. This is the core of Linux—the thing all distros share. I don’t know why it’s called the kernel, but it is.

Mount/Unmount. The closest Windows users come to doing something called “mounting” is plugging in an MP3 player or digital camera into a USB port. If you’ve done this, you should know not to unplug the MP3 player or camera before “ejecting” the hardware so that it is “safe to remove.” Think of mounting as plugging in and unmounting as ejecting. The only difference is that sometimes distributions don’t always automatically mount something plugged in. Also, Linux can also mount partitions, not just devices.

Newbie. Someone new to a product or community. If you’re reading this page, you’re probably a Linux newbie.

Open Source. You may have read some webpages or books saying that Linux is “free as in freedom, not free as in beer.” The idea behind open source is that proprietary software is written in programming code that’s hidden. You usually receive it in an executable (or binary) form, but you don’t actually see all the “if… then… else” stuff that someone actually wrote to get it working before compiling the code. In open source, the programming code is freely available—meaning that people can look at the code for bugs, suggest changes, and even appropriate the code, modify it, and re-release the code as a new version (hence, new distributions). The new hit browser Firefox is open source. Internet Explorer and Opera are closed source. Of course, much of open source software is also “free as in beer.”

Packages. Even though packages technically are not exactly software, for all intents and purposes for a novice, a package is software. When someone says, “Install this package,” she’s really saying, “Install this software.” As I understand it, a package includes what you need to install the software—it’s not just the software itself. It’s all just semantics, though.

Partition. Exactly what it sounds like. A partition separates within something else. If you have a
room or are in a room, imagine a screen or thin wall that divides the room in half. That’s a physical partition. Think of your hard drive as a room. You can divide that room up with these “screens” and you’ll have several hard drive partitions.

Repositories. This is where software packages are stored and updated. If you enable a new repository, you’ll have access to new software. Repositories usually look like some form of web URL: ftp.something.org or http://www.something.org.

Root. You know how in Windows there’s an administrator? You may not. Current Windows versions (though it’s rumored Longhorn may change this) usually make the first user the computer administrator. That means you can install programs, change system files, and do just about anything to ruin or improve your computer. In Linux, this user is called “root.” By default, most Linux distros force you to create at least one general user. Then, you’re separately prompted for a root password. Some distros prevent you from logging in as root, so you’ll have to temporarily assume root privileges for individual tasks, instead of having open reign over your entire computer to do anything you want.

RPM. Red Hat Package Manager (Red Hat/Fedora’s packaging system/ software installing system). I think I read somewhere it actually stands for RPM Package Manager. Linux people are really into recursive acronyms.

Su. I read in a book recently that, contrary to popular belief, “su” actually stands for “switch user” and not “super user.” Does it matter? When someone types in “su,” she’s usually prompted for the root password. You’re not just switching users, you’re definitely switching to the root user, which is the only super one out there.

Sudo. In an effort to discourage users from logging in as root, some distros come with something called sudo (whose name always reminds me of Phil Collins for some reason). It allows users to perform specific tasks as administrators without having to use the root password or logging in as root. As long as you put “sudo” in front of a command, Linux will recognize your command as a root-like command. If sudo isn’t enabled, you’ll probably have to type in “su” and be prompted for the root password instead (see above).

Swap. There’s a lot of debate about swap. Some people say having a swap partition is like having added memory. From what I’ve read, swap will take some info in RAM that isn’t being used and temporarily write it to the hard drive to be retrieved later. Other people say swap actually makes your computer slower because you have to use extra RAM to read what’s been written to swap. There also seems to be no consensus on how large swap should be. Some say half your RAM. Others say 1.5 times your RAM. Still others say the same as your RAM. There’s really no harm that I can see in including swap, and I haven’t seen the size to be demonstrably important. Try whatever works for you.

Which distro (or version)?
The first problem any Windows migrant to Linux encounters is, “Which one?” Linux has many different flavors or versions (officially, they’re known as “distributions” or “distros”). This was my first problem, and it’s also the most frequently asked question on message boards besides, “How can I get my screen resolution to work?” There are basically two responses you’ll see from Linux veterans. One is a variation of “Slackware. Slackware is the only way. Slackware is the only true distro!” The other is a variation of “Oh, you just have to try all the distros and see what works for you.” To a certain extent, this second piece of advice is something you have to follow. I’ll recommend a few distros here, but if one doesn’t work with your hardware (i.e., doesn’t recognize your mouse, doesn’t recognize your ethernet card or your video card or your sound card), then you have to try another one.

There are certain distros that some people call “mainstream” distros. These have a significant corporate backing and usually have a ton of books written about them. They’re often targeted specifically at Windows users. These are SuSE, Red Hat (and its branch-off Fedora), Mandriva (the merging of Mandrake and Conectiva), Xandros, and Linspire (formerly known as Lindows). I’m not going to bash any of these distros, but I didn’t find them particularly useful. First of all, with distributions like these, you often have to pay to get the latest version, and the second-to-latest version is often crap. Right now, Xandros offers an “open circulation edition” with the limitation that the CD burning program will let you burn at a speed of only 2x. Linspire offers a live CD, but you have to pay to get the real installer CD (and apparently you need to pay a yearly subscription to download software or something like that). If you like books, Fedora/Red Hat may be your distro. Red Hat puts out many books—extremely detailed books—about their distro(s), and the books often have a copy of the distro attached to the inside back cover.

Unless you’re feeling extremely adventurous (“I’m going to roll up my sleeves and dive right in!”), I’d advise against having Slackware, Gentoo, Debian, or Linux from Scratch be your first distribution. These distros force you to really get to know Linux and its structures even before you’ve installed Linux.

You may have a really old system with less than 128 MB of RAM for memory or a less than 333 MHz processor. In that case, I’d try Puppy Linux, Damn Small Linux, or Feather Linux. You’ve got to do a little trial and error with these barebones distros and post a lot at their forums. I believe Damn Small and Puppy just passed the 1.1 or 1.0 versions. Still, anything to get your system running at normal speeds again. Windows XP certainly won’t do the job!

Otherwise, some of the best distros out there for beginners are the lesser known ones—Ubuntu, Mepis, and Blag. I’m going to recommend these three. It doesn’t mean there aren’t other worthy distributions out there (some people swear by PCLinuxOS—I personally love Knoppix, but I can’t find a way to install it fully in English; something always ends up in German). Recently, I read an article comparing the various distros, and one newbie’s critique of the article was that it lacked a decision tree—it talked about the various distros but didn’t tell you what you should use. Well, I’m going to tell you:

Mepis – use this distro if you want to avoid the command-line as much as possible, you want to dual-boot with Windows, you like pretty interfaces, and you want to try out Linux but you’re not sure if you want to install it. Mepis has the distinct advantage of being a full-blown distribution (with all the bells and whistles) that is also a live CD. That is, if you download the Mepis CD and boot from it, it will be a “live” CD, not damaging your hard drive but running completely off the CD and your computer’s memory. Once you’re in the live session and have played around with Mepis, you can click the “Install Me” icon on the desktop, and the installer wizard will walk you through all the steps you need to install Mepis, including a graphical partitioning tool. Mepis is Knoppix-based, and it comes with a lot of stuff that Knoppix is great for (in fact, if you can read German, you’re better off installing Knoppix instead of Mepis! Knoppix is less “bloated” and isn’t as slow or cluttered with unnecessary programs). Mepis has an icon you can click on that will browse files and folders as root. It has an integrated control center that can change style, fonts, keyboard shortcuts, login options, display configuration, etc. It also automatically has all your hard drive partitions appear on the desktop, whether mounted or unmounted. The one Linux book out there that focuses specifically on Mepis is rightly called Point-and-Click Linux. You can use the command-line here, but you really don’t have to.

Ubuntu – use this distro if you want to be absolutely certain that you will never have to pay a single penny for Linux (you cheapskate). In fact, if you are so cheap that you won’t even download and burn your own CD (’cause it would cost you the $.50 you need for a blank CD), Ubuntu will even ship you free CDs and pay for postage (of course, they may not arrive for months, but that’s what you get for being cheap). It’s backed by an extremely wealthy South African dude who was apparently the first African to go to space. He started up a company called Canonical, which is dedicated to Open Source software, particularly Ubuntu. Ubuntu is extremely stable and doesn’t come with a lot of software (it has “basic stuff” for the internet, office applications, graphics, and multimedia)—though, you can always install software from the 20,000 or so packages available via apt-get. It uses the Gnome desktop by default and doesn’t suck up as much memory as Mepis, which uses KDE by default. Another advantage Ubuntu has over Mepis, besides being guaranteed always free, is its responsive and helpful community and its extremely thorough documentation. For those who fear the command-line, Ubuntu may not be the best first choice. I have to say, though, it isn’t that difficult to copy and paste some commands and hit Enter.

Blag – this distro is almost unheard of. Last time I checked on DistroWatch, it was just barely in the top 100. It’s kind of a weird distribution. It seems as if the people who make Blag are in some kind of conspiracy to take over the world, and all the Blag backgrounds look like scary clips from the latest Hollywood thriller (think Stir of Echoes). The documentation is quite skimpy, and people rarely post in the user forums. So why am I recommending Blag? Well, first of all, it has a ton of software on its one CD. This is a Fedora-based distro that uses both Apt-get and RPM to install software, and it includes a lot of random codecs and other little bits that will help you play your MP3s and commercial DVDs (these codecs you have to go out of your way to enable in Mepis and Ubuntu). It uses Gnome, and the installer is far more custom than either Mepis’ or Ubuntu’s. You can decide not only what kind of package types you what but each specific package you want to install. So what’s wrong with Blag? Well, apart from all the aforementioned stuff, it’s a bit unstable. I’m not sure what kinds of repositories it uses, but if you “mark all upgrades” for installed software, your system could bust. Also, even though the installer lets you not select Gnome as a windows manager, Blag will not load up properly without Gnome installed. You can install Gnome and use another windows manager, but you must install Gnome. So who is Blag perfect for? Someone who wants a complete up-and-running system (albeit a quirky one) with an easy GUI installer and a lot of flexibility. Particularly if you have bought or checked out from a library a Red Hat/Fedora book, Blag may be a good distro to play around with, as it is Fedora-based. Both Mepis and Ubuntu are Debian-based (and thus use apt-get to install software).

Is there any real difference between distros?
Well, no, not really. I mean, when it comes down to it, they all use a Linux kernel (2.4 or 2.6 or whatever version). They may have Gnome or KDE installed by default, but even if you install Mepis with KDE, you can always install Gnome and use that instead (the reverse is true as well—you can download KDE for Ubuntu… in fact, they make a special version of Ubuntu called Kubuntu that has a KDE default desktop). Even though Red Hat/Fedora-based distros use RPM to install software and Debian-based distros use dpkg/apt-get, both draw on a wide variety of software.

So what makes one distribution preferable to another? Well, a lot of the aforementioned considerations: documentation, ease of installation, amount of GUI, community support, number of CDs needed, default desktop, amount of memory needed. The ultimate deciding factor should be what works for your hardware. I feel so sorry for people who stick with a distro because it’s “easy to use,” but they can’t get the sound to work, the CD-ROM drive recognized, the monitor resolution fixed, etc. If you have to do that much work to get your distro to even function, get a new distro.

Where do I get Linux?
It’s up to you—whatever’s easiest. Some people get Linux in books (either from the bookstore or the library). The good thing about this approach is that the book that comes with a Linux CD will usually have quite a bit of instruction about how to use the CD. The bad thing about this approach is that even if the book is relatively new, the distribution version may be out of date.

You can order CDs from outside vendors or from the distribution’s website. The ordering can be anywhere from $1.25 per CD to $100 per CD, depending on the distribution. I don’t really see this as a viable option for most Windows-to-Linux newbies because at this point why would you shell out money for something you haven’t even tried yet? …especially if you’re not sure which distro will work best with your hardware.

You can download CD images from the web. The downside to this is the amount of time it takes. You also need to have either a CD burner or a friend with a CD burner. Even with a broadband connection, each CD will likely take hours to download. If you have dial-up, just forget it. Nevertheless, this is a great way to get multiple distros at almost no cost (you have to pay the cost of the blank CDs). This is how I was able to try well over ten different distros (including Red Hat, Mandriva, PCLinuxOS, SuSE, Xandros, Lycoris, Damn Small Linux, and Debian). If you do have a CD burner and broadband, I’d advise finding the ISO somewhere (either at LinuxISO or the actual distro’s website) and downloading it overnight and burning it in the morning.

For those with meager resources (no CD-ROM, only dial-up), you may want to consider Damn Small Linux or another distro that’s able to do some kind of boot from a floppy. You’ll have to do research on this, though. I have no clue how to do it.

How do I burn an ISO?
One of the big problems a lot of newbies run into is not knowing how to burn an ISO. They’re so used to just dragging and dropping files into a blank CD icon or CD-burning area that they end up burning the ISO as data and not as an image. Whether you’re using Nero or Easy CD Creator (you may even be using something else), there should be an option somewhere to “burn disk image” or “burn CD image.” There’s also one in OS X (under Applications > Utilities > Disk Utility).

On a related issue, the BIOS setting on your computer dictates in what order your computer should look for a place to boot. If you load a CD in, and it doesn’t boot from the CD (i.e., it looks only at the hard drive or floppy to boot from), you’ll have to change your BIOS settings. Usually, the BIOS menu can be accessed by pressing F2, F1, or Esc during bootup. You’ll have to play around with this or find some documentation for how to change your BIOS settings.

Should I Dual-Boot?
Luckily, with the advent of live CDs, you can try out Linux without damaging your hard drive. In fact, some distros (like Damn Small Linux
) can run from and store data in a USB key (the entire Damn Small operating system is 50 MB). Nevertheless, some people want to “try” Linux in an even more committed way without abandoning Windows altogether. A dual-boot is very easy to do, and I’d advise it, especially if there are some Windows programs you just can’t let go of (my weakness is iTunes). There are usually Linux alternatives to Windows programs, but sometimes there just aren’t, or you may decide the alternatives are missing some key features. If you’re willing to shell out some extra money, there are programs you can pay for that will run Windows applications in Linux (Crossover Office, Win4Lin). One free program called Wine can run some more basic programs but is severely limited in running more complicated ones that draw heavily on .dll files. By all means, though, if you know you need just email, internet, and office, wipe out Windows and do a clean install of Linux. The installation process will be a lot easier.

Partitioning
The first thing you have to do if you want to dual-boot is repartition your hard drive. Most likely you have only one hard drive, and most likely your Windows partition probably takes up all your hard drive space. Even if you have a 160GB hard drive with only 20GB used for actual data, you don’t necessarily have 140GB free for Linux. Windows probably claims all 160GB for its partition, regardless of how much free space there actually is.

Before undergoing the actual partitioning, back up all your data in any way you can. This could mean burning a lot of CDs, burning a DVD, copying to an external hard drive, loading up zip disks, uploading to an internet site you own, or even using fifty different floppy disks. Whatever you’ve got to do to back up your data, back it up. Of course, even if you’re not preparing for a dual boot, you should always back up your data, but any time you’re messing with the filesystem itself, you’re playing with fire. You could be doing everything “correctly” and still screw something up. Along with backing up your files, you may want to make sure you have a copy of Windows or some kind of restore disk. Otherwise, if your Windows installation gets corrupted, and you decide you don’t like Linux… you’ve got nothing.

The next step in preparation is defragmentation. You’ll likely find this using the Start Menu (All Programs > Accessories > System Tools > Defragment). Windows often leaves your filesystem fragmented with little bits here and there. Before you resize, you want to make sure there’s a lot of clean unused space to make into a new partition.

Okay. So you’ve backed up your data and you’ve defragmented. Now you have to pick your partitioning tool. Almost every Linux installer comes with a partitioning tool. Some are easier to use than others. Some are text-based. Some are GUI. I would personally recommend the QTParted that comes with Mepis. Mandriva’s DiskDrake is even better. If you want to pay money for a partitioning tool, I’ve read many recommendations of something called Partition Magic.

Now the question is how much space do you want to partition? How many partitions do you want? Well, it depends. It all depends. First of all, what version of Windows are you using? If it’s XP, 2000, or NT, your Windows installation probably uses an NTFS filesystem. If you’re using 95, 98, or ME, your installation is probably a FAT32 filesystem. I honestly don’t know that much about the two different filesystems (I think NTFS is supposed to have better user-specific file security). What I do know is that Linux can read from both filesystems but as yet cannot reliably write to NTFS. So, if you’re dual-booting with Windows XP, for example, and you want both XP and Linux to have read/write access to your files (documents, music, pictures, etc.), you’ll need to create an extra FAT32 filesystem in the middle that both can access. You may want to create a partition for your “home” folder. In Linux, there’s a folder with all of your settings for various programs (the Windows equivalent is c:\Documents and Settings\username\Application Data). If you create a home partition that gets mounted as the home folder, you can preserve your settings easily, even if you reinstall Linux or install a new Linux distribution. If you have 256 MB of RAM or less, you may also want to create a swap partition. Some people say they need swap with even 512MB RAM, but I haven’t personally found this to be the case. Certain Linux distributions may force you to create a swap partition, though.

I’ll give you an example of how I partitioned my hard drive to do a dual-boot. You can probably do something similar with your computer. Of course, a lot depends on how much hard drive space you have, how much memory, and what version of Windows you have. My computer has Windows XP, 160GB of hard drive, and 512MB of RAM:

hda1 Windows XP C:\ (NTFS) 10GB
hda5 documents D:\ (FAT32) 134GB
hda6 Linux (ext3) 10GB
hda7 home (ext3) 5GB
hda8 swap 512MB

I have no idea why the numbers suddenly jumped from 1 to 5, but that’s how it happened. Once you’ve created the FAT32 partition, Windows should automatically recognize it as D:\ Your Linux distro will probably ask you which partition you want to use to install Linux, and you should pick the ext3 partition. You may pick another ext3 partition for the /home directory.

Installing Linux
I can’t really give many general instructions on installing Linux, as each Linux distro has its own method of installation. Some are text-only. Some are GUI. Some walk you through the process. Some try to do more things behind-the-scenes. There are a few things Linux distributions have in common, though. You’ll probably be asked what language you want, what keyboard layout you want, what time it is in your timezone, where you want to install things, whether you want to dual-boot, where you want to install Grub (or Lilo), and what packages or kinds of packages you want installed (this isn’t that standard, actually). You’ll also be asked for a root password, a username, and a user password.

There are a few things I want to highlight here.

When you’re picking partitions, there are two things to keep in mind for each partition: 1. where you’re installing things and 2. what you’re mounting. For example, you may want to mount the FAT32 partition at /windows. This means that you won’t actually format or install anything on the FAT32 partition, but when you boot into Linux, there will be a folder called “windows” that will be your FAT32 partition. You’ll click on the folder “windows,” and it will appear as if the partition exists inside of your Linux partition, even though the folder itself (or mount point) is referencing an entirely different partition. Likewise, if you create a separate “home” partition, you will choose to have it mounted at /home, and it will appear to be just a folder called “home,” but it will actually be referencing the outside partition “home.” If you don’t create a separate partition for /home, /home will actually be a folder. Think of mount points as pointers, aliases, or shortcuts.

You’ll be asked to create both a root and user password because the Linux assumption (a good one) is that you will operate as a user most of the time. You’ll invoke your administrator privileges only when necessary. Some Linux distros use sudo, which invokes the same principle but doesn’t need a totally separate password to execute commands with the power of root.

I’ll be honest and say I don’t have much experience with Lilo. As I understand it, Lilo is simply an older version of Grub. I’m not sure what the exact definition of “boot loader” is, but boot loaders essentially enable you to choose boot options. All three of the distros I recommended earlier use Grub, but Lilo serves more or less the same purpose. There’s a rea
l controversy about whether to install Grub on the MBR (master boot record) or at /root. As far as I can tell, there’s no real danger to doing either. I would highly recommend putting Grub on the MBR, though. Here’s the difference:

If your Linux installation recognizes your Windows partition (as it most likely will), it will include Windows as a boot option in the boot loader, so when that boot loader is in the master boot record, you’ll have both options available—Linux and Windows.

If you install grub at /root, Windows will not recognize it. You’ll have to find some way to copy the boot loader into a binary file to put at C:\ on your Windows partition. Then, you’ll have to manually edit the C:\boot.ini file to add in the Linux boot option.

The only time I’ve found it advantageous to install Grub at /root is when I’ve triple-booted Windows with two Linux distributions. When you’re more comfortable with Linux, you may want to try this, but for now it’s probably best to stick with the dual-boot.

Configuring Linux
Depending on what desktop or windows manager you use, configuring Linux can be easy, hard, and/or extremely fun. You’ll find that sometimes when you search for icon, desktop, or splash themes online (particularly for KDE) that they don’t install exactly the way you thought they would. Nevertheless, with a little persistence, you can get your desktop to look just about anything you want it to. I prefer to get mine Mac-like.

You may have to do a bit of tweaking to get sound, video, keyboard, mouse, modem, wireless, ethernet, printer, etc. working. If you notice that more than two things aren’t working straightaway, you have the wrong distribution. Get one that recognizes your hardware. Usually you can find the solution to any of these problems on some Linux forum. I can tell you the most frustrating thing is the wrong screen resolution because you may not even be able to navigate properly if the screen windows appear too large. The solution usually lies in /etc/X11/xorg.conf or the XFree86 equivalent. You have to modify this file as root (or sudo) and change the VertRefresh and HorizSync ranges to your monitor’s appropriate ranges. I had to do quite a bit of research to find out that my monitor’s ranges were 50-70 and 30-62, respectively.

You may notice, particularly with free distributions, that certain multimedia don’t seem to work correctly. For example, you may find that when you try to play a commercial DVD that the FBI warning shows up (yes, I live in the US, and I think most people reading this page probably do as well), but then the DVD fails to play after that. You may find that all the media players don’t recognize your MP3s. Well, I don’t know all the details, but basically this is because MP3 and a lot of other popular encodings are proprietary. They can’t come with a free distribution without proper licensing. Every distro will have a way around this. It kind of reminds me when I was in the UK and would order a Red Bull and Vodka, but the bartender couldn’t mix it for me; I had to get the Red Bull and the Vodka separately, then mix them together myself. Installing these multimedia codecs usually is part of the distro’s documentation. It usually means enabling another repository, which brings me to the next topic…

Installing Software in Linux
You know how in Windows you download an .exe file or a .zip file that extracts to an .exe file? You click on the file and a wizard of some kind walks you through the installation process? Well, in Linux it’s a bit different. You can download packages and try to install them yourself, but that usually involves doing weird command-line stuff like

cd Desktop
tar -xvzf blahblahblah.tar.gz
./configure
make
make install

This doesn’t guarantee you’ll have any idea where to find the program once it’s installed. This also doesn’t deal with dependency hell. Most distros come with some kind of package manager. The most popular are Debian’s dpkg (or apt-get) and Red Hat’s RPM. You usually search for a package; then, a program installs it for you, resolving all dependencies. How do you find these programs? Well, let’s say you have five progams you want to install. Instead of going to five different websites to download five different .exes with five different wizards (which will each prompt you to reboot after installation), you’ll probably go to Synaptic Package Manager, reload your repositories, search for the packages, mark them for installation, then hit “apply” to download and install all the software. See a graphical tutorial of Synaptic Package Manager.

Do I have to worry about viruses and spyware in Linux?
Short answer: no. Of course, no system is immune to bugs, malware, and hacking. There are a few things working in favor of Linux that Windows currently doesn’t have. First of all, it’s a smaller target—though, many Linux advocates point out that Apache servers are compromised far less often than Microsoft servers, even though Apaches dominate the server market—so it’s less likely to be attacked. Secondly, the default user is usually not the administrator or root in Linux. The user may temporarily assume administrative privileges to perform a task, but anything sneaking in is not likely to have access to critical system files. Thirdly, on a related note to the last point, the default web browser (usually Firefox) is not integrally linked to the operating system. In other words, the same tool that connects you to the internet (and who knows what sites) is not the same tool that downloads and installs updates to your computer behind the scenes. Now, is it theoretically possible to create a virus for Linux? Yes, it’s theoretically possible, and it may have even happened once or twice in the past. It’s not a big enough phenomenon to even be noticeable, though, and any virus that breaches Linux’s security model is not likely to have any kind of effect on other users of that computer or users of other computers. The virus would stop dead in its tracks and then… well, not really be a virus.

Isn’t Windows easier to use/install than Linux?
Let’s take this apart one issue at a time. First of all, the word “easy” is a little misleading, seeing as how what’s “easy” for a Windows user is usually easy simply because it’s what she’s used to. For example, I’ve asked this myself, and I’ve often seen it asked in Linux forums: “How do you control-alt-delete in Linux?” Think about it. How is “control-alt-delete” in any way intuitive or easy? The truth is that when things malfunction in Windows, most people just brush it off and don’t see it as a reason to ditch the OS altogether. There may be a message about .dlls or some program failing at start-up, but most Windows users just put up with that.

There are a few things that factor into making Windows “easy to use.”

  • People have had a long time to learn Windows. I, for example, have used Windows ever since 3.1 came out. I even used DOS before that. I’ve had well over twenty years to learn this operating system. Now that I’ve had that experience I know all sorts of weird quirks about it (defragmenting, scandisk, regedit, etc.)
  • It’s widely used, and widely supported. Since Windows is everywhere, if you get to know it, you usually don’t have to worry about using someone else’s computer, as her computer is likely to also be a Windows computer.
  • Since most people use Windows, it’s very easy to share tips and tricks with each other by word of mouth. I’m not that close to anyone who uses Linux, so I have to rely on message boards to figure out Linux problems.
  • If there’s a popular piece of software, you’re almost guaranteed to see a Windows version of it.

Now, often people confuse “easy to use” with “easy to install.” The truth is that very few people have installed Windows from scratch. We used to have a Dell laptop that came with three CDs. The first CD w
as a Windows XP installer CD. The second CD was the drivers and utilities CD. The third was the InterVideo WinDVD installer. When our Dell was infested with spyware last year, we had to wipe the hard drive clean and reinstall Windows (Spybot S&D and AdAware weren’t cutting it). At the time of the reinstallation, I couldn’t find those second two CDs, and it was hard getting the sound to work and the DVD-ROM to work. I had to download MPlayer, and the codecs didn’t always work. Of course, once I found the CDs, it was a lot easier to install Windows. Our eMachines computer is even easier to “install” Windows on. It comes with three CDs restore disks. If you want to reinstall Windows, you boot the first CD, then insert the second and third CDs when prompted to do so. This three-CD combination installs Windows, all the appropriate drivers, and software (PowerDVD, for example).

Using restore CDs is not “installing” Windows; it’s restoring Windows. Someone—a company you paid for your computer—spent quite a bit of time and energy tweaking the software and hardware to work together seamlessly. That restore CD is a work of art. When you install Linux, Linux is usually not designed for your particular hardware—Linux has to be designed for every piece of hardware—nor was your hardware probably designed to work with Linux. How can Linux know which drivers to download or what hardware profile you have? In fact, when I think about it this way, it’s a wonder that so many Linux distributions can detect hardware for the most part.

In practical terms, installing any OS is a pain, and you should always get an expert to do it for you, if possible. For Windows, that expert is usually the company that’s sold you the computer. For Linux, it may be a friend who’s a techie… or it may be that you make yourself an expert.

Once Linux is installed and configured, though, it’s as “easy” to use as Windows (easier in some respects), especially if you’re using a Gnome or KDE desktop (very point-and-click, with taskbars, windows managers, and start menus). If you use Mepis, Ubuntu, or Blag, it shouldn’t be too difficult for you to figure out the installation process.

A few things about Linux I wish someone had told me at the outset…

control-alt-escape If you press this key combination, your mouse should turn into a skull and crossbones. Any app you touch after that will be force-quit from. [Actually, this may work in only KDE, not Gnome]

control-alt-backspace Closes all open programs and restarts the graphical user interface.

startx If you somehow end up lost at a user prompt in what looks as if the terminal/command-line has taken over your screen, you can try typing this in to get the GUI up and running again.

/etc/apt/sources.list This is where the repositories live for Debian-based distros.

/boot/grub/menu.lst This is where the boot options live for the Grub menu.

/etc/fstab This is where the mounting/automounting of partitions lives. You can specify here what partitions (or other devices—floppies, CD-ROMs, etc.) you want mounted upon boot.

SMEG helps you edit the menu in Gnome for Ubuntu. For some reason, menus were editable in Blag’s Gnome but not in Ubuntu’s Gnome. I also had to dig around to find out how to install SMEG. This is how you do it. Download it to your desktop. Then open up a terminal/command-line. Navigate to your desktop (most like cd /home/username/Desktop). Then, type in sudo python2.4 installsmeg.

In Gnome, you can make aliases/shortcuts from a FAT32 partition to your desktop by middle-clicking and dragging the file to the desktop, then selecting “make link.” In KDE, you don’t have to middle-click; you can just drag the file and select “link here.”

Final tips
If you want to successfully explore Linux, you have to be adventurous, try different things, and ask a lot of questions. First of all, spend time getting to know at least three distributions before settling on any one. Secondly, when you have settled on a distro, register at its forum and introduce yourself to the community. Generally, Linux communities are very supportive of new users. Lastly, search for stuff. Even though communities are supportive, a lot of times people get tired of answering the same questions over and over again (I’ve tried to answer some of those questions here). Odds are (though this isn’t always true) that if you’re encountering a problem, someone else has already encountered that problem. Your best bet for Google searches is to type in the error word-for-word or to search for the question you have (go ahead and ask it in the form of question) or search for the rant you have (“My resolution sucks in linux”).

I’m by no means an expert. In fact, I’ve probably gotten my terminology all wrong here, but no one ever introduced me to Linux. I’m not good friends with any Linux users. Still, by checking books out from the library, trying various distros, and asking a lot of questions, I’ve gotten to the point where I’m comfortable using Linux, and comfortable enough to try to help others out. I’m still learning, though, definitely—and I’ll probably keep updating this document as I learn more. Welcome to the journey!

One reply on “The Linux Guide for Windows Users”

Leave a Reply

Your email address will not be published. Required fields are marked *