How To Use Linux ~ 02 Distros

This is a continuation of a series of posts written for non-geeks just starting out with Linux. Today, we look at the concept of a "distro" and why it is important to you as an average user of Linux.

It would be nice if you knew the meaning of these terms ...

  • OS (operating system),
  • Distribution,
  • Kernel,
  • Window Manager,
  • Desktop

.... but mainly it would be nice to know about "distribution" because it really puts all the other terms and concepts together.

An Operating System is a part of your computer that does not do any of the things you need your computer to do, but without which your computer won't work. It "runs" the "software" or "applications" and makes the hardware work, etc. Windows is an Operating System, OS X (on a Mac) is an Operating System, and Linux is an operating system. The Linux operating system runs on the same kinds of computers that Windows and OS X run on, as well as a range of other computers.

The deep under the hood part of Linux is called the "Kernel." Other than that it exists, you need to know nothing more about that. But you'll see the word, so I thought it prudent to define it very briefly.

In order to communicate with "the Kernel" and to run software and stuff, you need to use a "shell." I don't know why they call it "shell." The most basic "shell" is also known as the command line and it looks like a primitive computer screen with nothing but letters on it, and you don't need to use it ever (but you will want to for fun and profit, we'll get to that later). The most common "shell" people actually use is the "window manager" which is a "Graphical User Interface" thingie that lets you use menus and windows and stuff on Linux. The Window Manger is usually integrated into a thing called a "desktop" which adds a lot of other visually useful stuff (and some useless stuff) like a default file manager, icons and "wallpaper" and so on. The "Desktop" on your computer is Gnome (pronounced Ga-Nome or Ge-Nome), which is a very intuitive and easy to use desktop. By now you already know how to use it, most likely.

Linux is an OS distinct from Windows. There are different flavors of Windows, as you know (like "professional" or "home edition" or "me edition" and so on). Similarly, there are different flavors and "versions" of Linux. It work like this, as hierarchy:

OS (Family (Distribution (Version)))

There is only one Linux Kernel, but there are three or four families of Linux that use this kernel in different ways. As an Ubuntu user, you are using Debian Linux. The other two major families are "Slackware" and "Red Hat." Each of these families is represented in anywhere from a few to many dozen different "distributions." Each distribution has a series of versions starting with the first version, then new versions up to the present, current version. Often there are two "current" versions ... the one that works really well and is most trusted, and a newer "bleeding edge" version.

You are using the Linux operating system, the Debian family, the Ubuntu distribution (or "distro").

Versions are numbered, and higher numbers mean more recent. You are probably using Version 9.something. Many Distro manufacturers also name their versions. Ubuntu uses animals with attitudes. Hardy Heron, or Daper Drake for example. Another distro called "Mint" uses female names that end in A. So some day Mint will produce a Julia and an Amanda. But it will never produce a Betsy or a Lizzie.

A distro is more than just a name, however. A distro is a functional unit that matters to you as a user. The distro is what you install, and the distro is managed by a group of people who have a philosophy, an orientation, and so on, that affects you as a user.

If there was such a thing as a "Windows distro" (and there is not) it might look something like this:

Windows XP is the OS
Microsoft Office for day to day tasks
Adobe Illustrator is included automatically
Internet Explorer is the default browser
Some other software bla bla bla

All packaged together, and branded with a certain default desktop wallpaper, a default screen saver, and some other bells and whistles. The many things you can configure on windows (show hidden files vs not, etc.) would all be configured by the distro managers to follow the distro's philosophy or purpose.

A typical Linux "distro" will have the Linux Kernel, a certain system for installing and removing software, and a bunch of applications (like Office applications and graphics applications etc) automatically installed with it, and will default to a certain desktop (like the aforementioned gnome).

Once you install that distro, your software management system gives you access on-line to more software than is automatically installed, which live in the distro's "Repository." (Well talk more about this in a subsequent post.) The people who manage the distro keep track of what software is working well with other software. Two different distros might have two different versions of a particular software package (like the spreadsheet, or whatever) because the maintainers of each distro have different opinions about the readiness of each version to be deployed in their distro.

So the distro is like a committee of experts that manages what limits you should put on yourself for what software you actually install on your system. You will not follow these rules perfectly, but if you mostly follow the rules of the distro (and following these rules is the default automatic behavior of your computer) fewer things can go wrong. If you look back at the comments on this thread, you will see many negative anti-Linux tirades by unhappy people who had bad experiences. There are two kinds of Linux miscreants (other than the paid Microsoft fanboys). Those who used Linux five years ago or so when it was not as idiot-resistant as it is now, and those who did not limit themselves to the repositories of a good distro. Not limiting yourself to a good distro is like buying your groceries from some guy in an alleyway. You might be intrigued at the possibilities at first, but later there is going to be vomiting and diarrhea.

Ubuntu is considered one of the most user-friendly distros. It is one of three or four distros that was designed explicitly to be nice to regular computer users, but the only one that was distributed for free and had a cool logo. Ubuntu is said to be an "African" word (there is no such thing as an "African" word) and as best as I can figure it is a Zulu term but found in a few other languages as well. If you look it up on the internet you will find a lot of people trying to define what it means, including Nelson Mandela himself. They struggle with the definition because they miss the point or make it too complicated. Ubuntu means "OpenSource."

In the next installment, we'll look at where your files are stored and how you might back up your stuff.

For a list of all the posts in this series, CLICK HERE.

~~~

More like this

Windows Manager,

A Freudian slip, perhaps? No 's', please.

I don't know why they call it "shell."

The shell "encases" all those handy little Unix programs so you can call them from the command line. (You can't activate them directly from the keyboard. You need something that reads the command line and makes the appropriate OS calls.) Besides, it's only a shell - it doesn't do anything itself. It always calls another program to do the real work.

By Lassi Hippeläinen (not verified) on 21 Dec 2009 #permalink

Greg - Nope, the OS encases the hardware. Humans talk to programs (like the shell), programs talk to the OS, and the OS talks to the hardware.

One can draw a diagram in which the shell encases the OS. But in a multiuser operating system even with only one user, the typical instance of the shell, if anything, standing next to and hacking into part of the OS, through a process of negotiation. And a shell gets to live or die only if the OS lets it, and is very much part of that system.

My memory is that the early use of the shell is that the user interface is encased in it.

Excuse me!? Gnome is NOT the Desktop Environment on my computer. Why ANY distro would make it their default desktop is beyond me!! KDE is by far the most easily usable and popular desktop, and is the default for most distros that are not based on Ubuntu. And while Ubuntu is used by many people, that is ONLY because it has had the backing of Mark Shuttleworth, and considerable advertising. Mepis is a much more suitable distrio for ANYONE than Ubuntu is! And its more stable and has far fewer problems.

Greg,

Good to see someone from the SciBlog community doing this. Might take some of the "fear" away from people wanting to give Linux a try.

You might cover it later, but something you might want to point out to your readers (who don't already know) is that there are a number of Linux distributions that can be run from a Live CD. Pop it in. Boot it up. And away you go with a basic linux desktop running right off the CD. No need to fully install. No need to abandon what you know. Just the time to download and burn a disk.

One thing I will question though, is your explanation of the desktop. As a *NIX user, I'm sure you know, but it might be useful to be straight up right off the bat about how the GUI under Linux is fundamentally different from the GUI in Windows.

With Windows, the GUI is tied into the core of the OS. Windows IS, in many respects, its GUI. In the *NIX world (Linux, BSD, Solaris, etc.) the GUI is separate. Usually X (or X Windows as it's often known) which is just a display driver. The Desktop/Window Manager runs on top of the kernel -just like any other program- and adds all the bells and whistles to the desktop. Unlike Windows, it's trivial to change what your desktop looks like, because there are a variety of Window Managers you can choose from.

Though that is one of the ways that one program can interfere with others. It is possible for a program to try something with the display that disrupts the X server, and takes down the entire GUI. It doesn't happen often, but it can. X goes down, everything on your display is apt to go down with it.

Cheers,
-M

RE: Shell

If I am not mistaken, you have to look at the shell as part of the OS - the shell is the interface (whether CLI or GUI) that allows the user to tell the underlying OS what to do.

The name shell originates from shells being an outer layer of interface between the user and the innards of the operating system (the kernel)

Nonya: You need to read the original post in this sequence. There are parameters.

Nonya... do bear in mind that what works for some people does not work nearly so well for others. Some people say Mac OS is great, however the interface really doesn't work for me at all. I have tried KDE on several occasions (both KDE3 and KDE4) and have basically found it a horrendous experience - the environment got in my way. GNOME on the other hand fits how I want to work a lot better. Personally I find that Xfce is best for me... maybe trickier than I would like to get it set up how I want it but after that I am very happy with it.

KDE is by no means the most easily usable desktop - sure if it works for you, fine, but other users may regard it as a steaming pile of excrement and be much happier with something else (and then they'd regard that as the most easily usable desktop). Similar thing goes for distros.

Nonya @ 5:

KDE versus Gnome is an argument to have around advanced usage. This is an introduction to Linux, and Greg is giving his opinions and his viewpoints. If you disagree, blog up your own live-KDE-or-die mantra. But some of us like Gnome and are neutral to or dislike KDE. But exclamation points and what comes across to me, in my reading, as shrill or hysterical reaction to the suggestion that someone uses and enjoys Gnome is a bit overkill on a friendly post intended to help people understand and enjoy Linux, specifically Ubuntu.

Additionally: any distro, with a dedicated or knowledgeable user, can use the desktop manager of their choice, be it KDE, Gnome, XFCE, IceWM, Fluxbox, or anything else. Another one of the wonderful freedoms of Linux distros.

Lastly, there is a KDE Ubuntu, called Kubuntu. It's a virtual machine (32bit) that I use mainly for programs that won't run on my x64 primary system. I just don't enjoy KDE. Small things that I don't want to have to adjust bother me. Some of the notification bar is nice, but other parts irritate me. I dislike the default mouse pointer. I don't like their menu tree structure, it gets in my way. I could change all of that, if I wanted, or I can get all the same functions that I do use, without the same problems, from Gnome.

Nuff said.

By TechSlave (not verified) on 21 Dec 2009 #permalink

It should be pointed out that the Gnome desktop is becoming increasingly dependent on the open source port of Microsoft's .Net developer framework called Mono. At some point, Ubuntu and all the other distros that default to Gnome are going to get burnt by the MS patent lawyer brigade. It's a timebomb waiting to go off.

Kudos for pointing out the central purpose of the Linux distributor -- ensuring that all the supplied software bits work well together, can all be upgraded, etc.

It's worth mention, to those unfamiliar with Linux, that there is nothing in the Microsoft World that really corresponds to a Linux distro. Linux users (can/should when new) get _all_ their software from their Linux distributor as part of their distro. This is a far cry from Microsoft. Although Microsoft supplies major components and makes sure what they sell works well together, Microsoft does not come close to supplying all the software needed to run a computer. Drivers, to control hardware bits, are notably absent. The user has to install a driver as new hardware is added to their MS Windows computer. Often the user must search the Internet hither and yon for the right driver. In any case there are inevitably other non-Microsoft programs installed. The end result is that the Microsoft Windows computer breaks, or at least slows down significantly, as time passes.

Because the Linux user relies (or should rely) on the experts who put together the distro, all the bits of software on the Linux computer work well together and the Linux computer just keeps working, even as it gets updated with the latest software.

As pointed out in the article, Linux users who manage their system like they have managed their Microsoft Windows system, getting drivers and software from various places will suffer the same fate as on Microsoft Windows. Their system will break. It takes an expert to do system integration, although of course the degree of expertise varies depending on circumstances.

Some readers of the original post may think that because they get their drivers and third party software from reputable sources their system won't suffer from bit rot. This is a misunderstanding of the problem. It is not just bad software that will break a system, although downloading cracked wares from some random Internet site is a good way to allow an attacker in. There are many interactions between seemingly unrelated software components and even the most reputable of software sources can produce a program that will subtlety break your system. (Good design can go a long way to mitigate this problem, but discussing the significance of the differences between the design of Linux and MS Windows is too far afield.) The closest thing a MS Windows user has to a Linux distributor is the company that sells MS Windows PCs -- the company that installs all the original drivers and pre-loads all the original software. MS Windows users who never add new hardware or software have a system that corresponds to a Linux distro. The difference of course is that with the MS Windows computer the user is responsible for all further systems integration and upgrades whereas the Linux distributor (should) ensure that hardware and software changes, and software and system upgrades, to the Linux system are smooth and without breakage.

A shell encases the kernel, think of a kernel of corn with its shell encasing its contents.

An issue bugging me is the Broadcom 4306 rev 2 wireless card in 9.10. A friend asked me to install Ubuntu on his Compaq 2000 laptop after XP discombobulated and he couldn't find the XP CD. All went well during the install, but the wireless still won't work. I think I may have the solution but I have to get access to a lan, which is possible, but depends on many different conflicting things happening in the right way.

This is my only issue with Ubuntu right now. Wireless cards. If they can get this right, it will be ready for prime time. Even if it means that they have to run a front page alert to which wireless cards won't work with Ubuntu X.04 or X.10. Really, I would like to see Ubuntu.com have a laptop page easily seen and written in English that gives a how-to. While ubuntuforums.org is useful, I have noticed answers to problems have dropped recently. This is regrettable.

By mikey.duhhh (not verified) on 21 Dec 2009 #permalink

That wireless card is very easy ton install, I'll tell you how.

Activate the Universe repository.

Search for the word Broadcom in the repository. You will find a few options, pick the one that looks right and install it.

You modem will now work.

SInce the broadcom driver is non-OSS, it is not in the main repositories. (That is not something I agree with, but it is the choice of Ubuntu).

Mike (above) .... your experience is not my experience with respect to the end users. It is true that Linux is not for everyone but you sell your customers short. Well, you are in IT, obviously so I can see where that might develop as an attitude over time.

@Greg Laden

Why do you disagree with a policy that puts non-free stuff in a separate repository? To my mind users deserve a warning when they are using non-free stuff -- partly because non-free stuff may not be there in the future. Hardware companies that release proprietary drivers have a vested interest in selling new hardware, which means that they eventually stop supporting older hardware. Linux on the other hand has committed to supporting every device so long as there is one user using it.

User's deserve a way to tell the difference between works now and will work forever. Separate repositories are a good way to do that, especially because there are a number of other properties associated with non-free software (security comes to mind). It makes sense to separate them out.

Karl, perhaps there is a misunderstanding here. I am annoyed that the non-free stuff is not in the repository. It should be in there. It would be nice to have a FOSS version of everything, but we don't. Where we don't, and it is legal, the repository should have the non-free version for the simple reason that without it the install will for all practical purposes fail, in that an installation with a dead wireless card is an epic fail.

@Greg Laden

There is no "the repository" there are multiple repositories. Assuming Ubuntu follows Debian there are 3: free, non-free, and contrib.

You probably want to argue that the non-free repository should be available by default, as is the free repository. But then there would be less reliability by default (per my post) and built-in confusion as to why and who is responsible. Better to require that the user make a decision, so that he is at least aware that there is a decision made. Perhaps the user will purchase hardware that is more Linux friendly next time.

It's simple enough to enable the non-free repository. Normal people should not be expected to install operating systems in any case. One more choice won't matter much one way or the other getting the system going but will help users tell the difference between free and non-free, a distinction that does not matter much up-front but has significant long-term implications.

Part of the issue with the repository separation may be licensing. I don't know about the Broadcomm drivers in question, but the licensing may be such that Canonical has decided the legal headache isn't worth putting it into their main "supported" repository. The most glaring omission is Adobe Acrobat Reader. Sure, there's the open source variants like Okular or Evince, but Adobe has a Linux port that is conspicuously absent in the Ubuntu repositories.

Todd, it could be licensing but I'm not sure in this case. Other distros include it. Internal to Ubuntu's community, there is an ongoing discussion about this, and I've not kept up lately, but I think this is philosophical. A whole lot of helpful Ubuntu contributors walked a few versions back when HQ unilaterally decided that non-FOSS was good when needed, and the next version of Ubuntu dumped the non-FOSS to get them back, IIRC.

Thus, Ubuntu-based versions such as mint have been developed.

@Greg
"Philosophical" reasons _are_ licensing reasons and have real-world implications. In your introduction piece you write "If there are two "competing" applications that do more or less the same thing, it is not at all unlikely that the people who make the software could meet up and decide to merge them into one project, rather than try to kill each other in the usual corporate way." Why do you suppose this is? Because it makes sense given the licenses. Likewise you write: "A bug is a bug, and people generally admit that it is a bug." Why is this? Again because the licenses grant access to the code so there's little point in denial or finger-pointing.

The restrictions the copyright holder puts into the code's license, any license, has subtle and profound implications. The distros' separate repositories by license so that the end-user does not have to think too deeply but is still able, and required, to make a decision -- trading robustness and reliability for functionality and freedom (lack of lock-in), or whatever the trade offs are given the distros' repository decisions.

An issue bugging me is the Broadcom 4306 rev 2 wireless card in 9.10. A friend asked me to install Ubuntu on his Compaq 2000 laptop after XP discombobulated and he couldn't find the XP CD. All went well during the install, but the wireless still won't work. I think I may have the solution but I have to get access to a lan, which is possible, but depends on many different conflicting things happening in the right way.

This is very easy to fix, but it does require that you get on the internet (though it could be done with a CD I suppose)

Get on the lan, get your universe respositories turned on, and search for "boradcam" in synaptic and you'll find the driver. THen install it.

This is so annoying to me that my next installation of Linux is very highly unlikley to be Ubuntu plain. Either a derivative or some other Linux.