Sunday, February 10, 2013

The GNU/Linux "Desktop"

Wildebeast or Gnu
Wildebeast or Gnu (Photo credit: jomilo75)
By: Robert Pogson

Personal computers and the software that runs them has evolved greatly over the years. In the process, motherboards (the guts of the computer) have become smaller and more functional as the number of transistors in a chip has risen from thousand to hundreds of millions and clock speeds have increased thousands of times. In the process, software has changed from simple monitors controlled by serial links to complex operating systems with hundreds of processes running and GUIs (Graphical User-Interfaces). For many years the GUI has followed the "desktop" paradigm, a virtual space where "documents" and images and multi-media "files" lay about or were placed in "folders" and a user pointed and clicked to start processes, usually starting a new application or a new process (usually seen by the user in a window). There are many personal computers these days leaving the "desktop" paradigm for a new style or out of necessity, being on tiny screens like smartphones. There just isn't enough space on the tiny screen for much of anything to point and click and fingers are fumbly pointing devices anyway.



Wherever the screen of a computer is large enough there will be a use for a "desktop" operating system so they will be around for awhile yet, probably until they can listen to us or read our minds and not need to be pointed and clicked... This is about the GNU/Linux desktop which is in use by more than 100 million people but may be totally unknown by the user either because the name never appears anywhere on the screen or the operating system stays out of the way and merely operates a single application, such as a web-browser or a bank-teller's application. This year, Canonical expects to ship Ubuntu, a GNU/Linux operating system, on 5% of the world's PCs being produced by OEMs (Original End-user Manufacturers, folks like HP, Lenovo, Dell,  Acer, to name a few). There's also Android/Linux on even more smartphones and tablets. Android is like GNU but different. The "Linux" part is the same however. That's the part that interacts directly with the hardware and ultimately controls resources of processes. Android is more suitable for tiny touch-screens and battery-operated devices because it requires few processes to run.

Linux is a huge part of GNU/Linux. It's a cooperative product of the world started by a single student about 1991 in Finland. A few years later hundreds of developers were contributing to it and large corporations like IBM began to use it mostly on servers, databases and the Internet. Others began to use it on desktop personal computers. Linux is wonderful. It's quite modular and efficient and so will run well on the smallest computers to large networks of the largest computers. The means by which the whole world contributes to Linux is that the software is covered by the GNU GPL v2 licence. Anyone can download the source code and examine and modify it and distribute it in such a way that it will run a smartphone or a PC with an Intel or AMD or VIA or ARM CPU. That's just the beginning. Because Linux had from the beginning the concept of being a networked OS similar to UNIX, Linux operating systems are great for client computers, server computers, gadgets small enough to fit in the pocket or huge networks used by the largest corporations. Linux is well-designed from the beginning using the latest techniques of computer science according to what works best. Every few weeks major upgrades are released for Linux and I or you can take the source code and build a working heart for my operating systems. It just takes a few minutes on a modern PC.

The GNU part of GNU/Linux is similar but it began much earlier, around 1984. UNIX operating systems at that time were being controlled by corporations who restricted access and demanded huge payments for the privilege of using working copies and even larger amounts for seeing the source-code. UNIX had started humbly with code being shared around but when it became popular, the powers that be began to seek ways of making money from it. GNU and GNU/Linux permit people to make money from it but the licence requires changes to be available to all so there is Software Freedom and it cannot be revoked. That is, the GNU GPL (GNU Public Licence) permits running the software, examining the source code, changing the source code and distributing it under the same conditions. Thus, with each modification and public distribution, GNU/Linux gets better and the work is shared by the whole world. It's a beautiful system. Each person or organization contributes what they can or want to contribute and they get to use everyone's contributions. No one has to pay for all of it and everyone gets to use all of it. This feature of GNU/Linux (and Android/Linux, mostly) mean OEMs can produce PCs for lower cost (they don't have to pay for software-licences) and the product is state-of-the-art.

GNU was intended to be a duplication of the great features of UNIX operating systems. By 1991 it was still missing a kernel, the hardware/resources manager, and Linus Torvalds stepped up by starting Linux. Many thousands of developers and hundreds of corporations large and small have contributed code to Linux. Torvalds used Minix to get his Linux kernel going but soon used more GNU tools and eventually had a GNU/Linux working. By about 1994 it began to be used by many ordinary users and has been growing in usage ever since. Unfortunately, GNU/Linux was not owned by any single corporation so little funding was available for salesmen/advertising and Microsoft worked out exclusive deals with OEMs and retailers to exclude GNU/Linux from retail shelves. That has changed with the advent of Android/Linux. The world, seeing that there was a better/cheaper alternative on small cheap computers began to see that GNU/Linux was viable. As the price of computers dropped the advantages of $0 licensing and the good design resulting in little or no malware caused many OEMs to shift to producing more GNU/Linux PCs. Governments, schools and some businesses use GNU/Linux widely on servers (web-sites, databases etc.) and desktops. Students who were exposed to GNU/Linux in schools are now seeking GNU/Linux PCs on retail shelves.

If you are not in Brazil, Cuba, India or China, you may have trouble finding GNU/Linux desktops on retail shelves but fear not, if you have a PC which runs that other OS and annoys you with malware, slowing down and re-re-reboots, you can install GNU/Linux on it and get better use of your hardware. There are many suppliers of GNU/Linux. Some are commercial entities like Novell, Oracle, RedHat, Linpus and Canonical but many are organizations formed for the purpose of distributing GNU/Linux systems, usually for little or no cost to users. You can find hundreds of distributors at Distrowatch. A few have been around for nearly two decades like Debian GNU/Linux. You can download a few hundred megabytes of software in a CD or USB-drive image and boot your PC from it. The slickest installation is to visit Goodbye-Microsoft from Microsoft's OS and download an installer and reboot your computer. There must be 50 ways to install GNU/Linux and I have used many different methods on computers old and new. It gets difficult to install GNU/Linux in a computer more than about ten years old mostly because memory may be too small. The smallest installations of GNU/Linux need 64MB to run and may need several hundred GB of disc storage. The installer probably wants more memory.

GNU/Linux XFCE Desktop
The simplest installations of GNU/Linux will have a text-based user-interface, not even a GUI. They can still be useful to run databases, routers and servers. The GUI is much more interesting these days. Almost anyone can use the GUI immediately, with very little training or practice. You point at something and click on it to see what it does. There are icons and words appearing so you know what everything does just by looking at it. Simple. Unlike operating systems developed by single companies, GNU/Linux has a rich panoply of GUIs. I like clean simple ones like XFCE4. Others like fancy ones with 3D-ness and bouncing/shaking/floating things all over. Still others want a clean desktop with the operating system holding their hand all the time with helpful hints, searching for applications or data and so forth. I find that mind-numbing. I have one wife. I don't need my operating system to be another.

Anyway, GNU/Linux is perfect for everyone. Most GNU/Linux distros (distributions of software) have a system of applications for package management. Instead of installing the whole thing and having to like or lump it, you can choose to install this or that and get a system that suits you. You do that by installing a minimal system and then adding what you want. The user asks the installer to install a few packages and all the other packages that are needed to get things to work are automatically pulled in. Of course a novice can take the default installation and customize it later after they learn more about the package-manager. Debian GNU/Linux helps by having pseudo packages that do nothing but call in packages needed to get some typical configurations. For instance, installing,

    xfce4 brings in
    •   xfwm4, a window manager, you know, controlling those rectangular regions of the screen,
    •   xfconf, a set of configurations,
    •   xfce4-settings, widgets for setting up everything on your desktop,
    •   xfce4-panel, a rectangular region of the screen to keep your widgets,
    •   xfdesktop4, a set of packages most desktops will need,
    •   thunar, a file-manager,
    •   xfce4-utils, more stuff,
    •   gtk2-engines-xfce, ways for your applications to communicate with your    windows,
    •  xfce4-session, a login,
    •  xfce4-appfinder, a means of finding applications,
    •  xfce4-mixer, a controller for sounds,
    •  orage, calendar and scheduling, and
    • other suggestions.


                              That doesn't actually give you a system with a GUI because that's all high-level stuff. To handle your monitor, keyboard and mouse you need to install another package, xorg, which pulls in all of that.

                          That gives you a minimal system with a GUI but very few applications. In GNU/Linux you usually will have a choice of multimedia players and creators, office suites, games, Internet applications like browsers, graphics applications like drawing programmes and editors. Your package manager may have both graphical and text-based applications for package selection and installation. In Debian GNU/Linux, synaptic is the GUI, and aptitude, apt-get, dpkg and apt-cache are the usual packages that help.

                          Applications that I usually install in GNU/Linux include

                          • LibreOffice, an office suite,
                          • chromium, a web browser,
                          • vlc, and mplayer  media players,
                          • gimp, and imagemagick, image editors,
                          • xfce4-goodies, neat stuff like screen snapshots, weather reports and network monitors you can place in the panel,
                          • dia, diagrammer,
                          • geeqie, image manager, and so on for thousands of items if you want.


                          You can find these and more in Debian GNU/Linux.

                          When you get your PC with GNU/Linux at the store or installed by you or your buddy, what will it look like? Whatever you want. Here's a collection. Thanks to the millions of developers who have contributed to this rich environment for information technology.

                          The best way to learn about the possibilities of GNU/Linux is to obtain a PC running GNU/Linux or to make one. Text documents like this will just slow you down. Use GNU/Linux and love it. Join many millions of users experiencing the benefits of Free Software whether as Android/Linux or GNU/Linux. It's all good but don't think the desktop stuff is obsolete. Apple sells Mac OS X which is based on BSD UNIX and it's going strong. GNU/Linux however has been more popular than MacOS for many years. At the time Ballmer made that statement, Apple was selling about 2.7 million PCs with MacOS per quarter while the world made ~90 million PCs. Apple sells 4million per quarter these days.

                          Convinced? This is only the beginning. With GNU/Linux a modern PC makes a good server and database as well as a desktop. There's no limit to what you can do except your imagination. Give it a try. It has worked for me for over a decade.

                          -- Robert Pogson

                          Enhanced by Zemanta