This is a welcome to the Microsoft Windows users, who are interested in Linux.
Dear Windows user.
You are looking into the world of Linux? Welcome to another world of computing. As a MS Windows user you are familiar with one way of doing things. Be prepared to familiarize with a different way of doing things. This can sometimes be confusing, sometimes frustrating.
I hope that you can remember when you were learning Windows. Some people come from another background (eg. MS-DOS). Other people jump directly into learning how to manage a computer running MS-Windows. At any rate, learning the ins and outs of an OS is a task which requires some work, time and patience. Learning how to manage your computer with Linux will not be any different -- because Linux is not trying to replicate MS-Windows, it is a system of its own. Learning a new operating system takes months -- maybe years (to reach an almost complete level of knowledge).
Linux is a Unix based system. The earliest Unix systems are from the early 70s, a decade before the personal computer became a reality with the "Microsoft Disk Operating System" (MS-DOS). It was dedicated computers, with teams of system maintainers, and these maintainers have arranged Unix in a way, which is most organized and suitable for maintenance. This is why you can trust me when I say, Linux is arranged in a smarter way than some other operating systems.
To summarize; when you feel confused or frustrated, keep on battling and eventually you will see light at the end of the tunnel.
Nobody promises effortless conversion from MS-Windows to Linux -- although certain Linux distributions attempts to be closer toward MS-Windows than others. Distributions which are closer toward MS-Windows would be for example Linspire (formerly Lindows). Distributions further away from MS-Windows would be basic general-purpose distributions like Debian and Slackware -- which are closer to the Unix inheritance. To the benefit, all Linux distributions have the same base "under the hood" so to say.
If you prefer to go easy, feel free to search for easy Linux distributions, I shall be the first to applaud anyone who is willing to enter the battle to convert from another operating system to Linux -- your free Open Source alternative. Personally I recommend that you try a little harder and search for one of the Linux distributions which are still quite close to the Unix inheritance. My reasoning is that although you must be prepared for a slightly harder battle to learn using your computer the Unix way (a steeper learning curve), you will also be faster at reaching an understanding of the advantages and benefit from this setup.
There are many reasons for converting from another operating system to Linux. Each person has an individual relation to this, but typical reasons are:
1) I have old hardware and I want new software than runs well on my machine. Maybe Microsoft has quit their support of the OS that was installed on the computer from the beginning. Linux reduces the need to upgrade or replace hardware when upgrading to newer versions because it is very efficient and designed to be scalable.
2) I want to spend my money wisely, not on updating software (and my morals are too high to use piracy software). Linux and much of the related software is available at no cost.
3) I have a political agenda when choosing free Open Source software. You may not be willing to accept the constraints of commercial software (financially, regarding file formats, bug fix support is in the hands of some developers and it can be difficult to get their attention, etc). The most advanced form is GNU Copyrighted software (so-called GPL), as defined by the Free Software Foundation, but other standard copyrights exist as well.
For people who have used Linux for a while, and tested some different Linux setups (typically downloading various distributions and testing whether they suit their needs), another advantage is the ability to configure your system to your personal taste -- more wide and more deep than is possible with MS-Windows. This personal taste is usually developed as you go along with Linux and discover new possibilities.
You should be aware that although Linux had its base in the server area (where also computer maintainers familiar with the Unix way of doing things were situated), Linux has come a long way toward the average desktop user. Linux is a truly multi-purpose OS, which can be implemented also in cellphones and PDA's, harddisk recorders, telephone management systems, satellites, network routers, high performance (multi-processor) super-computers and clusters, etc.
It must be admitted that Windows is also spreading into other areas than the core desktop usage (and server usage, with the NT basis). For example Microsoft has made a dedicated Media Center edition for home theater applications, Windows CE (for embedded systems), etc. This does not to any extent reach the flexibility of a Linux system, where the Open Source approach provides developers with complete freedom. It continues to amaze me that such a scalable and flexible system as Linux can be made freely available and it amazes me that Linux is a suitable choice for such a wide field of application. Things done right from the beginning.
Since we are assuming that you are joining us from the average Microsoft desktop / laptop user base (either at work or at your home PC), you will benefit if you focus on Linux distributions who focuses on the desktop part of the user base. Many new Linux distributions exists with the particular purpose of making a package for you, easy to like -- or maybe even fall in love with.
So, what are the differences between Linux and MS-Windows that are so hard to learn? Well, for some people it is harder than for others, but let us start with the most basic differences:
1) Linux is arranged in a way where you have a directory root. Here you mount your entire file system -- with the small twist that "everything" is a file in Linux (also your mouse, your screen and your keyboard + your USB port and other I/O). You mount your harddrive(s) to this root (well, the Linux boot sequence does this for you, of course).
2) The harddrive and file system is arranged in a logical manner, where there is a / for the root, a /boot for the boot area, a /dev for your devices (screen, keyboard, mouse -- and more) and so on. There is also a separate location for binary (executable) files and a separate location for libraries. Everything generally very easy to read and maintain.
3) Linux is a multi-user system from the beginning, intended to be maintained by an administrator (we call him "root"). There is a /home directory where each user of the system has his personal directory with files. The home directory is the user's realm : a standard Linux user can't damage the system, he would have to login as root for this. In MS Windows the user is generally not aware that he's running as root nearly all the time.
4) The entire Linux configuration is built around readable and editable text files. Such files are placed in the /etc directory (etc = editable text configuration files). You might find exceptions, but they are not regarding your base system -- and they are very few. Most Linux operating systems provide graphical configuration frontends for nearly everything. In MS Windows not everybody has the knowledge to understand the registry, Linux configuration is easier to understand.
5) Since Linux is a multi-user system from the beginning, it has always been a part of the Linux core to have users separated into groups, each with their separate permissions (and also stuff they are not allowed to do). The file system is built with different permissions for you as a user, a group of users, and for system administrators (who are allowed to do basically anything). This means that you cannot accidentally flush your system down the drain (it is for example not allowed to format your harddrive when you're a normal user). Each user has his personal directory to store settings and data (the applications stores user settings in the user directory as well as user data, eg. emails). Safety and security (eg. against any computer virus) is built into the system and it is a main concern.
This file structure is very unlike MS-Windows, which was initially built as a single user system. MS Windows has a very loose file structure where each program goes in its own subdirectory but also Windows goes in the \Windows directory, where also shared libraries are located and other common stuff. I find this system lacking a lot of structure, but you have to become used to the Linux way where an application is "spread all over" your harddrive into the respective directories and not located in a single location (or a few locations). With MS-Windows there is no root-administrator as in Linux -- instead all things are tied into the kernel. Devices, storage drives and so on are not visible on your disk -- only you might find a driver configured to load into memory and each storage drive is named C: or D: and so on -- and you're not able to distinguish between different types of storage drives (harddisks versus CD/DVD-ROM/RW drives versus USB pens, etc.).
MS-Windows is/was (at least originally) built around a more limited FAT file system, all with a starting point of being a single-user system. Admittedly Microsoft chose to implement server versions of Windows and since made attempts at merging the server side with the desktop user side (then suddenly Windows was running a different file system, NTFS).
Probably this move also had effects upon the core of the system -- but it is my impression that MS-Windows still carries fundamentals from a single user system, not least in their file system and the way it is organized and the fact that any user on the system has access to system maintenance facilities, which can break your system. This also makes Windows more accessible to computer virus and other malware -- on the system level (user data can also be affected by virus and malware in a Linux system, if the user is careless).
To make the management of installation and removal of applications easy to handle, it is normal for Linux distributions to supply applications in so-called "packages" which include information about the files installed (binary or source). This unified installation database is a powerful way to maintain your application suite, as opposed to the Windows anarchy where each application may bring its own installer (and put files in random places + forget to remove them if the application is uninstalled).
If a package does not exist (it happens very rarely) you are encouraged to either make one yourself, or install from source (well made source is quite easy to compile with the make utility). This is a normal operation for skilled Linux users, but the rest of us will have to ask someone to do it for us. Many helpful people are ready to provide you with their help. Luckily many packages already exist for many different applications waiting to fulfill your needs for various tasks.
In general, if you need to configure something in Windows, search for an application that does exactly that for you. In Linux the configuration files are readable and editable text. You can search the Internet for options and make the setup to your needs. This is more hardcore (more what a geek likes), but it is flexible and if you choose a full featured desktop environment (eg. KDE), it will supply you with interfaces through applications, like Windows, but still just change the text files accordingly.
Many myths have arisen over time about Linux. Some of them should be busted as fast as possible. Let us call this the myth-buster section:
* Linux is too complicated.
- No. Linux is just different, as I have tried to lay out in the text above. Also, even if you have no friends working with Linux (nobody to ask for help in your local community), the Internet is an open space of helpful people. Search and you shall find answers.
* Linux is old-fashioned text mode, no graphics.
- This is so wrong. Linux has a more advanced Graphical interface system than eg. MS-Windows, named X-Window (the work started in 1984). Today you can put a Window manager on top of this system -- and on top of that a Desktop environment which all together provides you with flexibility and modularity unseen in any other operating system (unless they take advantage of the Open Source projects available).
* Linux is for computer geeks only.
- No, today Linux is for everybody because it is your choice how much of a geek you want to be -- whether you want to play with the fundamentals (eg. trimming performance) or whether you want a machine that "just works" -- a productive environment for your tasks (eg. writing letters or other stuff in word processing, doing your budget calculations in spread sheets, etc.)
* Linux is difficult to setup.
- I'm afraid you're wrong there. Linux is dead easy to setup. First time I installed Linux it took me four hours. Today it takes some 20 minutes to install that same basic system -- configuring takes another 20 minutes. The reason it takes more time in the beginning is because things are different -- but they are not difficult. Just do your preparations and read a carefully written installation guide -- you should be safely on your way toward a successful installation. MS-Windows on the other hand requires much more time to install and continuous user intervention (so you cannot leave the computer to do the job on its own). Many Linux users confirm that MS-Windows is more difficult to install than Linux -- when you know the basics about your computer and when you get used to the Linux way of doing things.
* Linux does not support modern hardware.
- False. Linux has had its battle with hardware support due to careless manufacturers of hardware, but today -- as Linux has more weight in the desktop world -- there is excellent support. Linux has native support for the most important hardware:
o Basic CPU's (beyond AMD and Intel platforms)
o IDE + SCSI + SATA hard drives, etc.
o Native support for peripherals as your mouse and keyboard
o The important videocard manufacturers (NVidia and ATI) do take care to support Linux with (binary) drivers -- and of course you can choose an Open Source driver as well.
o Netcards are widely supported, and when it comes to the large range of wireless netcards (wi-fi), if not supported directly with a manufacturer driver or through the Madwifi Open Source driver, Linux can "wrap" a driver written for MS-Windows and use it with Linux -- amazing, but true.
o Linux supports many sound cards with ALSA (Advanced Linux Sound Architecture).
o Webcams are usually plugged in the USB port. You just need the webcam application to support this hardware. It gets mounted onto the Linux file system in /dev -- and off you go. In case of trouble, read one of many "how-to" instructions.
A default Linux system without any extra drivers added (and loaded) will usually be much better off than a similar MS-Windows system (without any extra drivers loaded). With available lists you can steer away from unsupported hardware. Regarding support for modern hardware -- developers sometimes choose to start with Linux (because it is so open) then transfer to other operating systems -- which means that some times Linux support is ahead of supporting hardware through other operating systems. Remember, a developer of hardware is in a dilemma when having to develop hardware and software (including driver support) side-by-side. Advanced telephone systems (like UMTS/3G) have been developed with the use of Linux.
* Linux does not have enough applications.
- Well, enough is an "elastic" word. Let me start by saying that the fundamental nature of Open Source creates a wide selection of applications due to many spin-offs from existing projects. I truly believe that for many tasks you will find more Open Source options with Linux than you will find commercial software for MS-Windows. I can find a hole here, maybe there are not as many good games for Linux as for MS-Windows. You can keep your Windows box for games, or you can try to modify Linux to your MS-Windows needs (Linux has options to run some Windows applications through various interfaces, like WINE). For games you could also go "semi-pro" and invest in a game console (Playstation or Xbox). A fellow has mentioned that gamers under Linux could look into Transgaming.org.
* Without the commercial angle, Linux provides no support
- As wrong as you can be. The whole community around Linux with free software provides a "pass it forward" mentality -- people gave you friendly and free support, this encourages you as a user to also help others as you become more skilled -- but this is a free initiative of course, nobody requires that you become a supporter. In the Open Source community you will find the quality of free technical support to come as a shock (at least a very positive experience). If you run into problems getting the right answer -- it helps to provide sufficient information about your problem. So be aware, providing the right question is a part of getting the right answer. Garbage in gives garbage out.
As a wise man once said: When you really think about it, you can see why there are lots of reasons not to use Linux. There just aren't any good ones. Well I'd add that maybe it is boring to teach yourself another operating system -- that is entirely a matter of personal motivation.
I hope this introduction has provided you with information to decide whether you should throw yourself into the battle-scene of Linux.
Ready to move ahead? I have a big recommendation. You can jump directly from a commercial MS-Windows world with Microsoft Office and other commercial applications at your disposal into a free Open Source Linux world. Chances are that this will be a very hard battle -- maybe also unnecessarily hard. Since Open Source software for Linux is usually also available for Windows you can make a smooth start by first familiarizing yourself with the software under MS-Windows, then later make the jump to Linux and be pleased that you know the applications already -- being productive from the get-go and therefore have a more relaxed approach to understanding the underlying Linux system (if you like to). Software to consider for your MS-Windows computer is:
* Web browsing : Firefox
Make sure you can use your Internet banking and check that other important sites works for you.
* Email : Thunderbird
Try to convert your emails in eg. Outlook Express into Thunderbird and work with Thunderbird. Later you can move your Thunderbird emails from MS-Windows to your Thunderbird in Linux (because the mailbox file structure is unchanged and can be copied directly between the two operating systems).
* Graphics : GIMP
If you like to work with Photoshop or other graphics (or image processing) software, try to familiarize yourself with GIMP instead. There are other options, but GIMP is a good choice.
* Office : OpenOffice
This office package is not as rich on features as Microsoft Office, but try to use it under MS-Windows. If you don't like it you can save your documents in eg. MS-Word file format and forget about it. If OpenOffice works for you, keep the files in the OpenDocument Format (and maybe also convert other documents to this format) before moving the files to Linux.
* Instant messaging : GAIM (EDIT: Name has changed to Pidgin)
I am personally not a user of instant messengers but I have been informed that GAIM (now Pidgin) is a great Open Source Messaging Application and it is available for MS-Windows too.
It is my feeling that this "bridge" of Open Source software between different operating systems is a major benefit for your freedom to explore your choices of different operating systems.
When you move from MS-Windows to Linux I can recommend to start with a dual-boot setup. It is pain free -- and if you fiddle with the Linux system, maybe trash something, it will always be possible for you to boot your MS-Windows system -- go on the Internet and find answers. Many people, even very experienced Linux users, still have a harddisk partition with MS-Windows available (for one reason or the other), maybe because the computer came with it (ie. you already paid for it).