Well, here's a guide to help you get started successfully.
Step 1: The LiveCD
Whilst Linux supports more hardware than any other OS, many hardware manufacturers are still reluctant to release drivers or documentation from which drivers could be written. It's wise to make sure your hardware is Linux-compatible before you try and install.
You could do this by googling every component in your PC, but this could be an arduous task. You might also take one look at a working Linux system and run away screaming.
So to start with, it's wise to consider a LiveCD. This is a complete working Linux distribution that can be run from a CD, with absolutely no hard-drive installation. It's the safest way of trying out Linux, as it doesn't touch your hard drive.
The archetypal LiveCD is Knoppix. Its automatic hardware detection is about the best in the biz. The only real downside is the size of the download: It's not a lightweight by any standard. If you want to spare the bandwidth, try the Knoppix-derived DamnSmallLinux, which is only 50MB.
Whichever you choose, download the ISO, burn it to CD with any ISO-burning software you may have, and then reboot your PC, making sure that the BIOS will boot the CD rather than your Hard Drive.
If it works, you know Linux supports your hardware. If it doesn't work, it's time to hit Google: It may well be that support is available, but not provided with the LiveCD for technical or legal reasons.
Once you're confident that you can run Linux and you want to run Linux, it's time for step 2.
Step 2: Select a distro
This is both more and less important than many people think.
Unless you're intending to become a power-Linux user and willing to devote a lot of time to learning, choose from the newbie-friendly distros: Ubuntu, PCLinuxOS, Suse, and Mandriva are all worth considering.
As part of the install, you'll need to supply some space on a hard drive for Linux to live on. The install guides will go into more depth, but I'll give you one piece of advice on partitioning strategy:
- Clear as much space as you're willing & able to for Linux use.
- Create a small FAT partition, as both Linux and Windows will be able to access this, making it easy to transfer files between them.
- Create only one partition for Linux to live in, which should be comfortably larger than the distro's minimum size, but smaller than the space available.
Nobody ever gets it right first time when choosing what partitions to use & how big they should be. Leaving free unpartitioned space will allow you to add new partitions later, as & when you need them. It will also allow you to install another Linux distro in future, should you so wish. However, on that note. . .
Step 3: Be persistent
A common mistake made by new users is to go in search of "The Magic Distro" - the one that supports all their hardware out-of-the-box, the one that configures everything the way they like it by default, the one that comes with every piece of software they want to use.
It doesn't exist.
The important thing to understand is that different Linux distros are not different operating systems: they're just differently-configured versions of the same GNU/Linux OS. They all (potentially) support the same hardware. They all (potentially) run the same software. They are all the same OS.
Don't fall into the "Well, Knoppix recognised my graphics card, but Ubuntu didn't, so I tried Suse and it found my graphics card but wouldn't work with my printer, so I downloaded Mandriva. . ." trap. The most reliable way to get results is to stick with one distro & iron out the problems. Trusting to luck & distro-hopping is not the way to go.
Step 4: Make a house a home
A 'vanilla' Linux distro install will not be exactly what you want. There'll be problems to fix, eyecandy to set up, software to install, and so on.
Linux is configurable to an almost unlimited degree. Unlike Windows, which always has one taskbar, a "My computer" and "Recycle Bin" icon on the desktop, and has Internet Explorer, Windows Explorer, and Windows Media Player* built-in.
* Except in Europe
A Linux desktop may have multiple taskbars, or it may have none. It may have a range of desktop icons, or it may have none. And the number of web browsers, file managers, and music-players around is impossible to calculate with any accuracy.
You have a lot of choices to make & get comfortable with. This is the first big difference between Linux and Windows: Windows comes with Microsoft's specific applications, and no choice is needed.
Linux comes with the official Gnome applications, the official KDE applications, the command-line applications, and a bunch of "unofficial" applications as well. The huge amount of choice means there's very likely to be an ideal choice out there for you, but it can make it a little tricky to find it. It can also be tough to find out how to get that perfect choice set up to be perfect. So your best strategy is:
- Stick with what you know
If you're a Windows Firefox user, rejoice! Firefox is also available for Linux: You can even copy your Windows profile & run a perfect copy, extensions & themes & all. If you use WinAMP, rejoice! XMMS is a near-perfect clone. And so on: Look for software that works like what you're used to
- Stick with the defaults
Not everything that you've used on Windows has a direct equivalent. Where this is the case, there will probably be a number of different choices. Until you know enough to make an intelligent choice, stick with whatever seems to be the default. It's better to use something that does the job, than not use anything because there might be something better
- Start exploring the choices
There's no reason to be reluctant about trying out each of the available choices. Try everything you've got installed, search for other software that isn't installed but that's available. It doesn't cost anything to try out Free Software.
Once you've got a working Linux installation set up exactly the way you want it, sit back, sigh in contentment, and start sharing your wisdom on the Linux forums :o)
Sounds too easy?
Well, yes, there's a lot that's been glossed over. The road to a perfect Linux setup can be very rough. Many new users have stumbled on potholes in the road to progress. If you want to avoid repeating their mistakes, remember:
You're not alone
There are web forums devoted to Linux. There are chat rooms devoted to Linux. There are IRC channels devoted to Linux. There are web pages devoted to Linux. There is a Google search devoted to Linux. Don't struggle on with nothing but the man pages to help you: If you have a problem, Google for others with the same problem, then ask people for help if you still need it. You might not be able to phone Tech Support with Linux, but it's still one of the best-supported OSes around.
But do bear in mind. . .
You're not talking to mindreaders
You'll get very little help in response to "It doesn't work". You'll get far more helpful replies if you ask intelligent questions: "I tried using THIS, but I got THIS error message. I'm using THIS hardware, I tried THIS solution, and it still doesn't work." Because, after all. . .
You're not a paying customer
Windows users are used to demanding support because they handed over cash for the software. They have every right to do so: Support is part what they paid for. That can cause problems for them if they don't remember that Linux isn't the same.
You didn't buy Linux, and the people on the web who you may ask for help are not being paid to provide it. They're helping out as a favour to you. Demanding help, or complaining that the help you got wasn't fast enough or detailed enough, will just result in people not bothering to help. Stay polite, and you'll get much better results.
Also, don't forget. . .
You're not a paying customer
Because so much of the software available for Linux is non-commercial, it faces many difficulties. Drivers for hardware are written without any help from the manufacturer. Interfaces are created by coders, not professional interface experts. Applications are written by hobbyists for free, in their spare time.
This means that you should not expect everything to be polished, professional, and highly-intuitive. That's not to say that there's not a lot of things out there that are all three, of course. But there's a lot that isn't, too.
It can be very frustrating to download something, wrestle with it for hours, and wind up with something that still doesn't work. It can be oh-so-tempting to shoot off a flame about it. It can be very hard to resist adopting an attitude of "If you can't do it properly, you shouldn't do it at all"
But please at least try to resist. Remember that the application is something you got for free because the developer(s) made it available for anybody who might want it: They didn't take your money and promise you it was the eighth wonder of the world. You're using somebody else's hobby, not a commercial product.
Constructive feedback ("I tried using your software, have you considered doing X instead of Y, as I think this would be better") is always welcome. Bug reports and fixes ("Using THIS hardware and THIS software on THIS distro with THIS kernel, I got THIS error message, which I fixed by doing THIS") are always appreciated. Even rants ("I spent hours trying to get THIS damn software working and it still gives me THIS error message. Somebody please save my sanity and tell me how to fix it!?!") are generally understood. But flames ("THIS software sucks, the developer sucks, Linux sucks, everything sucks! Windows is much better!") are not welcome.
Keep a blog
There's enough free blog hosts for this to be easy. This isn't a blog aimed at generating lots of readers, tho: It's a blog for you to record every problem you have & how you fixed it. This is helpful to others, of course, but believe me, it'll be helpful to you when you come to try and change something you changed once before but can't remember how. It happens to everybody, it will happen to you. Keep notes! It will keep you sane later ;o)
Keep an open mind
The reason you're looking at trying Linux is because you think, in some ways, it might be better than Windows.
For it to be better, it has to be different. It has to work in different ways. It has to try new things.
Resign yourself to the fact that, no matter how newbie-friendly and windows-like a distro is advertised to be, it will do some things differently. The single biggest cause of frustration in new Linux users is their expectation that it will be a free version of Windows. They're frustrated by the amount of choice available, they're frustrated by the command-line, they're frustrated by configuration files. . . They're even frustrated by drivers being built into the kernel & software being managed by package managers, because they expect to have to trawl through the manufacturers' websites and resent being spared the effort.
You wouldn't believe how many Linux newcomers suggest that Linux be altered to do things the same way as Windows. It never seems to occur to them that maybe the developers have actually used Windows too, and have done it a different way for a reason.
It's Free as in Freedom
Free software is about being free to do what you want to with the source code. It's not about not costing anything. It's nice for us end-users that it tends to be both.
But do remember that the software that was given to you for free wasn't provided for free: Somebody had to invest their time, somebody had to pay for it to be hosted. If you find a product you like & use a lot, consider making a donation to the project. I'm sure you agree that it'd be a real shame if your favourite app. went away because the developer couldn't afford to keep it going.