|
©1994-2007 Kevin Boone | ||||||||||||||||||||||
|
Home > Computing > Linux
The Linux alternative: how to get rid of Microsoft Windows and use Linux instead
Last modified: Fri Aug 3 08:22:26 2007
(Last major update: June 2000. Since I first wrote this article in 1998 I have installed Linux on many
hundreds of PCs and workstations. Many of the issues described in this article
are still relevant, but things have moved on a bit -- KB)
Summary
1 Introduction
So great is the domination of the PC software arena by Microsoft that the majority of PC users are not even aware that there is an alternative to Windows as an operating system. For the great majority of PC users, the choice of operating system is between Windows '95 (now Windows 2000) and Windows NT, which is hardly any choice at all. The purpose of this article is to describe an alternative approach to PC computing based on Linux, a free version of Unix. I am not discussing alternatives to specific Microsoft products -- there are plenty of these -- but a whole new working environment. There is nothing in principle to stop Microsoft producing software for the Linux environment, and many people would welcome such a development, but it does not. This means that a change to Linux means in practice a wholesale abandonment of Microsoft's products. So why bother? Why abandon the cosy, familiar world of Windows for something totally different that hardly anyone knows about? Those students that have been taught about Unix have been amazed to find that I use it of my own free will, rather than Windows. It seemed to me that there were three sound reasons for doing so. First, Linux and many applications written for it are technically superior to Windows and its applications. Anyone who doubts this should remember that `NT' stands for `new technology', and `new' for Windows means features that Unix had over 20 years ago. Features like multi-tasking, multi-user operation and the ability to take advantage of all the resources provided by the computer have always been features of Unix. There is absolutely nothing new about `long' filenames. It is not a technological breakthrough when programs stop being limited to 640 kB of memory. Second, one of the underlying philosophies of Unix -- using small, highly specialized, programs in combination to achieve complex goals -- is more appropriate for many tasks than the development of monolithic, bloated programs that the Windows environment seems to favour. Third, Linux itself is free, and many good Linux applications are free. As there is no commercial motivation behind most Linux software development, programmers can freely exchange ideas and information, leading to greater interoperability of products. Before anyone misinterprets my motives, I should point out that I am for Linux, not against Microsoft. I bear the company no ill-will, and if they can dupe the buying public into parting with good money for products that are technically inferior to free ones, then good luck to them. Such is the price of democracy. Also, I should point out that I was not a complete Unix novice when I adopted Linux for my PCs. I was already familiar with Unix (Solaris, in particular) on file servers, Web servers and other important centralized systems, so I did not have as much to learn as would a person whose only exposure has been to Windows. Although Linux is free, retailers are allowed to charge for the cost of distribution and any products they add to the basic Linux system. Thus there are a number of different `distributions' of Linux in use, as well as different versions of Linux itself. Different distributions all run the same software, but the processes of installing that software may be different. I am currently using a generic version of Redhat version 6 (Redhat Software Inc.), which costs only slightly more than the CD-ROM it is distributed on. A boxed pack with printed manuals costs about £35. 2 Installation
For most people the first sudden poke in the eye will arrive when it's time to organize the Linux file systems. This is equivalent to partitioning a hard disk under DOS or Windows, but DOS and Windows users don't normally do this. For Linux you need at least two partitions, and the textbooks recommend more. I had to apply some trial and error at this stage, as the configuration program was poorly documented and the information presented in Linux terminoloy. For example, which part of which hard disk is `/dev/hda5'? If you're installing Linux on a system on which you want Windows to retain a presence, you should be careful not to make any changes to partitions or disks that contain Windows software. Fortunately the configuration program at least indicates where these are, so you should not have any tradgedies. The worst that can happen is for the installation to fail. It's worth pointing out that the Linux installation program assumes some basic familiary with general computing concepts, unlike the Windows installers which assume none. On the whole it does not make any descisions on the user's behalf. There is not usually a button to click labelled `typical'. This suits me perfectly; I like to have a say in the way my computer is configured, but it will not suit everyone. After this point, no decision the user takes is likely to be irreversible. Provided that enough of the system gets installed that it can boot, you can add or remove software components and reconfigure when the installation is finished. That's provided you know what you're doing. If you are sharing a system between Windows and Linux, the installation process configures the `lilo' boot loader, to give the user the choice of which operating system to start at boot time. It does this automatically if it detects DOS or Windows partitions. There are some restrictions on where you can install Linux if you have a PC with more than two hard disks (as I do). If you are in this position, I advise that you consult an expert before starting. The consequences of making a mistake here are quite unpleasant, resulting in a computer that will not boot either Linux or Windows. Installation of the X11 graphical user interface was complicated on the laptop as it has unusual display hardware. This issue is discussed in more detail below. 3 Hardware support
It is simple in principle for a software vendor to provide versions of any Linux software for any supported hardware platform, and some do. For example, I have used Nescape's Communicator on PCs and DEC Alpha systems and the different versions look identical, as they should. Of course, if you have access to the source code for the software, you can compile it on whatever version on Linux you are using. Most Linux software is written in C or C++, and a C++ compiler will always be supplied, so this should not present too many problems (see below). Where Linux still scores badly compared to Windows '95 (and to NT to a lesser extent) is support for peripheral hardware, like printers and sound boards. This situation is improving all the time, but Linux still has a long way to go in this respect. The reasons are clear: the hardware manufacturers have no financial motivation to provide Linux software support for their products, as the potential market is so small. Generally Linux users don't want to pay for anything, let alone device drivers. At the time of writing, I still have unresolved hardware problems on all my Linux systems. Some of this hardware is unusual, so this is probably to be expected. However, Creative Labs' AWE32 soundboard is not a specialist product, and it galls me that I can't get it to work fully (since I first wrote this article, Linux has evolved support for the AWE soundboards; but to get my radio board to work I had to write the software myself. What a drag). The rest of this section describes support available for specific peripherals; note that it deals with my particular experiences, and there may well be support available for other hardware not mentioned. 3.1 Displays
As far as I know, there is no support for video overlay devices, so if you use your PC as a television as well you're probably better off with Windows. I doubt this situation will change much in the future. However, there is increasing support for non-overlay video input devices. There is also an ongoing project to develop software support for `Firewire' video input sources. 3.2 Printers
Provided you have a relatively popular printer this reliance on PostScript should not cause any problem, as the GhostScript program will convert PostScript to a variety of other formats very accurately. On the whole this operation is transparent to the user. I use a Hewlett-Packard 6MP without any problems. The format conversion is fully automatic and faultless. I have experienced problems with Epson colour printers. Infra-red (IRDA) printing is now also supported, but it is still a bit fiddly to set up. However, Linux support for IRDA relies on the infra-red hardware being connected to a real serial port. A number of PCs (especially laptops) don't use a serial port for infra-red, and these will probably not work with Linux IRDA. Another area of bad news is for users of `GDI' laser printers. These were developed specifically for Windows printing and will probably never work with Linux. 3.3 Soundboards
3.4 Disk drives
3.5 Network adapters
3.6 Mice
3.7 Modems
3.7 Scanners
3.8 Other hardware
4 Main differences between Linux and Windows
4.1 Configuration
4.2 Graphical user interface
Another difference between X and Windows that has far-reaching consequences is that X itself has very limited authority. It provides rectangular areas of the screen for programs to display their outputs in, and that's about it. It does not provide any facilities for controlling these screen areas, or for displaying controls like buttons. The first of these jobs is the responsibility of a window manager, and the second of a widget library. There are many different window managers, and these dictate the `look and feel' of the user interface. Linux has a window manager called fvwm-95, which provides a user interface very similar to that of Windows '95. You can instead use fvwm-2 or twm which provide more `traditional' Unix screens. Most Linux users now use KDE, which is a very sophisticated system, with a range of integrated utilities, rather like Windows. The important issue here is that the look and feel of the Linux user interface is highly configurable, whereas with Windows it is fixed. The X user interface does not impose anything on individual programs either. So if a program wants to display a button or a menu or a list box it will use a widget library to do so. And, as there are several different such libraries in use, different progams have slightly different user interfaces. This is totally different from Windows, in which Microsoft has specified in advance exactly what a button will look like and how it will behave. There are advantages and disadvantages to both approaches. Configuring the graphical user interface in Linux is not the `drag-and-drop' operation that it is in Windows. It requires editing one of many arcane configuration files. While this is very much more flexible, it is not a task that a casual user would want to undertake. More modern window managers like KDE are starting to provide menu-driven graphical configuration tools. Personally I find KDE too much like Windows '95 for me to be entirely comfortable with it, but this again is a matter of taste. 4.3 Command line
Some of the standard Unix command line utitiles are extremely powerful, and when used in combination can do some fairly amazing things very quickly. This is central to the Unix ethos: rather than write a program for every job, Unix developers would rather provide a range of simple, general-purpose programs that can be used in combination. It requires considerable knowledege and experience to be able to take advantage of this flexibility. 4.4 Security Linux is a true multi-user system. Every user must have a separate identity, and will have a separate work area for files. The Unix security model is simple, and open to abuse in large systems. However, it is ideal for a personal computer. Every file has an owner who has complete control over it. Other rights can be granted to a group of individuals of which the owner is a member, and other rights (or none) to everybody else. The user called `root' has complete access to everything. When you first install Linux you will have only one user, `root', but you should create at least one more as quickly as possible. You should never work as `root' unless you are configuring the system or installing new software. By doing this you limit the extent of the damage you can cause if you make a mistake. An ordinary user will not have access to system files, or be able to change any hardware settings. Most PC users find this a bit odd at first, but it soon becomes familiar. When using Windows '95, every user is `root' (i.e., there is no restriction on what a user can do) and this now makes me uncomfortable. I am suggesting that you have at least two user IDs on your Linux system, even if you only ever use it yourself: one for day-to-day use, and one for system maintenance. Windows NT has a very sophisticated security model, but most users of desktop computers do not take advantage of it. Specifically, they use the same file structure as Windows 95 or DOS where anyone can do anything to any file. 4.5 The file system
However, the differences become more pronounced when working in a networked environment. In this environment the different directories may correspond to completely different computers. This also is for integration; in a complex networked environment the end user should not have to be concerned with the physical location of his or her files. If you have to share data with a Windows system, you will be pleased to know that Linux fully understands the DOS and Windows '95 filesystems. This applies both to fixed disks and to removable disks (e.g., Zip disks). Naturally the converse is not true. 5 Application software
5.1 Software for office tasks
Because Microsoft Office has such a large share of the market, file compatibility with it is probably an important issue when choosing an equivalent Linux product. 5.1.1 Application suites
Applixware contains a word processor, a presentation graphics program, a picture editor (essentially the presentation graphics program with only one page), a spreadsheet, an e-mail program, and an HTML (Web page) editor. I have used all of these extensively except the e-mail program (I use Netscape mail) and have been perfectly satisfied. All the Applixware components are interoperable, and have macro programming support if you need it. The sorts of facilities offered by Applixware are similar to those offered by Microsoft Office, with a similar user interface. To be fair, the Microsoft product is slicker, with more trendy features, and its keyboard shortcuts for common actions make more sense for a PC user. The keyboard actions in Applixware are configurable (as is everything in the Unix world), but the default settings are rather odd. For example, the 'end' key does not move to the end of a line in the word processor. These are trivial problems that are easy to fix (when you know how), but it would have been better not to need to. Such problems exist because Unix in general (as opposed to Linux in particular) is not dominated by the PC. Some machines running Unix do not have an 'end' key on the keyboard, so it could hardly by a default. Although stable, Applixware is quirky and unaccountably lacks certain features, which makes it even more like its Microsoft competition. Applixware is claimed to be able to read and write files in Microsoft Office formats. In pratice I have not found that it is able to do this well enough to be useful. However, the Applix word processor will read and write RTF files, and so can Word, so some degree of interoperability is possible. Other Linux application suites include StarOffice and Cliq (from Quadtratron). 5.1.2 Spreadsheets
5.1.3 Document preparation
There are a few systems that provide graphical front-ends to LATEX, such as `LyX', but I can't comment on these. 5.1.4 Presentation graphics
5.2 Networking and the Internet
Where Linux really scores over Windows is its ability to act as an Internet server as well as as a client. A Web server is provided in the standard distribution, and all Unix systems have servers for FTP, Telnet, DNS and the other standard protocols. No configuration was necessary to use any of these. I was pleasantly surprised that I could get access to the Internet from my laptop via both a local area network (Ethernet) and a dial-up connection using a modem. Both of these are self-configuring in that appropriate IP numbers and gateway addresses are set automatically when a connection is established. It is fortunate that configuration was so straightforward, as most Internet service providers appear unable to give any guidance on configuring Linux systems to use their services. 5.3 Databases
On the other hand, there would be no problem implementing a mutli-user relational database server. Linux is supplied with the Postgress database server, a full implementation of an SQL server for `mission critical' applications. It also has lightweight SQL servers for less demanding applications (e.g., not requiring roll-back facilities). 5.4 Multimedia
5.5 Software development tools
6 Conclusion
However, for the knowledgeable computer user whose needs extend beyond Web browsing and typing letters, Linux has certain advantages over and above the obvious financial one. Although Linux has both deep and superficial differences from Windows, it is not different enough that a skilled Windows user should be deterred from trying it. Links
Applied information Systems (http://www.ais.com)
Applix Inc. (http://www.applix.com)
Lyx (http://www.elec.uq.edu.au/~rae/LyX.html)
Microsoft Inc. (http://www.microsoft.com)
Netscape Communications Inc. (http://www.netscape.com)
Quadtratron (http://www.quadratron.co.uk/)
Redhat Software Inc. (http://www.redhat.com)
Xi Graphics Inc. (http://www.xigraphics.com)
|
|
|||||||||||||||||||||