It would not be right for me to present only half the story, however. The hurdles generally come down to the following:
Linux may not be the best choice for you if you're not keen to do a bit of experimenting. Some of the things I am doing with the eBox are cutting edge under Linux at this time, and not fully polished. You don't have to be a programmer though, and with the instructions and information I have provided here it should take the load off. If you do choose to try Linux, then building an eBox-type machine will certainly teach you a lot. I learned a fair amount, and I thought I knew a lot about Linux before I started.
More information on Linux is available at linux.org and linuxnewbie.org, among many other places.
If you want to try Linux for the first time I'd suggest you get a copy of Mandrake, or better still Knoppix (which doesn't require you to even install it - the CD boots right into a Linux desktop.) Both are available either for purchase on their respective websites or at your local computer store, or free download (you'll need a fast connection). As it is quite legal to redistribute Linux, there may also be companies or individuals in your area who sell copies of these on CD for a cheap price.
There are many, many other "distributions" of course (a distribution being the Linux kernel plus tools, applications, documentation etc.), but these two are the easiest to get into without hiding too much of the customisability. For pure desktop use, you might also want to check out Lycoris Desktop/LX, which is very impressive. Personally, I use Gentoo Linux for my home machines and Fedora (basically the community version of Red Hat) at work.
If you're having a problem:
commandis replaced with the command you're interested in).
/var/log/messages. This is a global log file and sometimes when an application fails it puts some useful information here. Other applications may have their own logs which will be in
/var/log. Some applications don't write to log files though.
Despite what you may have been hearing, in Linux you don't really need to recompile your kernel just for the sake of it, unless the one you are using a kernel that doesn't support a feature you want. Most distributions include a fairly well-built kernel with modules built for any special stuff you might need. However, if you want to get the most out of your machine it can be worth doing.
Linux applications can be installed from packages (RPMs, DEBs etc.), or may already be included with your distribution, but sometimes if you choose to, or you want the absolute latest version, you will have to compile an application yourself (usually if it comes in a tar.gz or tar.bz2 file - these are known as tarballs). Compiling applications from source is pretty easy, it's usually as simple as extracting the tarball (type
tar zxfv filename if its a tar.gz file, or
tar jxfv filename if it's a tar.bz2),
cd into the directory that just got created, then run the following:
./configure make make install
You can pretty much ignore all of the output, including any warnings, but if you get an error (usually includes the word "error", or make says something ending in the word "stop") then there's a problem - look for a file called README, INSTALL, or a docs directory or similar. Note that if you have checked the project out of CVS (described below) then you may have to run another command first, something like
If you want to try out the latest things the developers are working on, you will probably need to use CVS. CVS is a system that helps programmers to manage source code and other project files, but can also be used by users - one or two commands are usually sufficient to begin downloading the project you're after. Most application projects that use CVS provide instructions on their webpages describing how to get access, and if you're lucky they may provide "snapshots" automatically built daily from CVS that you can download instead to save time.