Archive for April, 2013

Admit it, if you’ve been part of the GNU/Linux community for any length of time, you’ve probably have thought about finding that perfect distribution. There’s got to be a distribution that doesn’t have _______. Fill in the blank yourself. We’ve all been there. I believe it is that thought that causes distro hopping. Distro Hopping is that disease where you try a “flavor” of GNU/Linux for a month or two and then find another “perfect” distro that will be the one. The one distro that provides the computing ecstasy that you are looking for. I will burst you bubble now. That perfect distro doesn’t exist. It never will. Why? Because we all look for the latest flashy wallpaper and we don’t look at some central issues that are more critical to our computing satisfaction. I am starting a series of posts on choosing a distribution. I am doing it for myself as well as you, the reader.  I hope to help just one distro hopper to end their journey. I also want to end my travels and settle down with one distribution.

For most of us, the world consisted of Microsoft’s operating system and Apple’s operating system. Those were the choices. Since Apple’s answer is pricey, that left most of us with Microsoft’s answer.  We were happy.  Well, not happy, but we settled for it since there weren’t any other options.  Once we found GNU/Linux, we realized there was a choice, then we discovered there are many, many, many choices.  We search that list of distros in order to find the “perfect” GNU/Linux version.  I keep hearing say there are almost 400 active distributions.  If you’ve used GNU/Linux and never heard of Distrowatch, I am sorry to introduce you to that site. They list the top 100 distros on their site. To add to the confusion, most reviewers of distros use a surface level reviews which consist of just looking at the surface of a distro.  I admit I have my favorite reviewers, but when I look at what they review in a distro, I am somewhat disappointed because they don’t seem to point out the differences that matter to me.  You see, I can load almost any package on any distro. So the initial installation doesn’t matter that much.

This series of articles is about another way to evaluate a distro and how to find one that you can stick to for a long time.  I really don’t believe that there is a perfect distro, but I hope to show you how to select a distro that you can live and use for a long time.


To all readers, please give me feedback. I will watch and update this series.

It was the best of times, it was the worst of times . . .  I never actually read the book “A Tale of Two Cities” by Charles Dickens, but a book covering these three kernels and how they interrelate would be fascinating.  A few years ago I heard of the Hurd, and I wanted to see what was up today. (Yes, I couldn’t resist that play on words.)  I then decided to see how BSD and its derivatives related to GNU/Linux.  Here’s the tale . . .

It all started with Bell Lab’s product called UNIX, which stands for Uniplexed Information and Computing Service.  The unique trait with UNIX is that you got the source code for the OS as well as other things.  That way you could modify it and recompile it if you wanted.  The compiler for C was the new thing because for the first time, source code was portable because you just needed the pcode to assembler part of the compiler in order to take source code written in C to compile for your machine.  A group from the University of California, at Berkeley got really aggressive and heavily modified and ‘fixed’ some issues they saw with UNIX.  In fact, their fixes and adjustments to UNIX were so popular, they made it available.  Computer Scientists really studied the code and the methodology behind this new and powerful system.  UNIX was made available to Universities at a lower cost so that people would be hitting the market trained to operate and maintain the UNIX system.

About the same time, a new computer innovation hit, the 16 bit home computer.  Computer Scientists wondered if they could bring the UNIX system to the PC.  There were many in Berkeley, who tried this kind of project.  They called themselves Berkeley Software Distribution (BSD).  Many used the letters BSD (Berkeley Software Distribution) in their project’s name.  The Berkeley modifications to UNIX had the letters BSD associated with it.  Soon AT&T sued the Berkeley group because they were worried about their intellectual property rights and wanted to make sure Berkeley wasn’t taking code that was constructed by AT&T and using for their own purposes.  This lawsuit put a hold on everything that had BSD in its name.

A man by the name of Richard Stallman announced on Usenet the founding of a project he called GNU.  It stood for Gnu is Not Unix.  Its goal was to make a version of Unix, following Open Source standards.  It was, as I understand it, to be in the spirit of Unix, but not a dedicated port of Unix.

What is a kernel? As I currently understand it, it is the program that interfaces with the physical hardware and the applications that a user wants to run.  BASH, Firefox, apt-get, and almost all commands from the terminal, as well as your desktop apps are just that apps that the kernel runs in coordination with other things.  All operating systems need a kernel.  Kernels are designed with a certain philosophy in mind.  One type is a monolithic structure where everything is together.  Another type is a distributed kernel where the different tasks are run concurrently and they communicate with each other.  This, from my understanding, is called a micro kernel structure.  Unix, from Bell Labs, has a micro kernel structure.   Back to our story . . .

Stallman wanted a micro kernel structure due to some perceived advantages.  Just before the GNU project was announced.  One of the BSD projects, which became known as FreeBSD was coming along nicely.  The FreeBSD OS is a ‘port’ of Unix without ripping off AT&T’s intellectual’s rights.  FreeBSD is developed and maintained as an entity.  Stallman’s GNU project was to be a community effort.  This means there would be many maintainers and developers.  This is one of the BIG differences between GNU and FreeBSD projects.  Stallman was tempted to choose the BSD kernel, but due to the lawsuit, he stayed clear and started the Hurd kernel project which would be the center of the GNU operating system he proposed.   HURD stands for HIRD of Unix-Replacing Daemons and HIRD stands for HURD of Interfaces Representing Depth.

Somewhere in Finland, a young man who had been captivated by assembly programming on his VIC-20 computer, began a quest for this new computer, a PC running an Intel 386 processor.  He also had discovered a work called Minix.  This is another work where the UNIX foundation and design was ported to a PC.  Using an open standard, he began work on a kernel, not because of Stallman’s announcement  as I understand, but because it was in his nature to write a kernel because he was enamored with assembly programming.  His announcement totally stunned the world and drew the focus off of the HURD project.

Having a working kernel, even though it is monolithic in nature, was better than no kernel, and the dream of getting the GNU system running was very intoxicating.  So intoxicating that the GNU project became known as Linux.  Now this name change has been disturbing to Mr. Stallman.  That is why I refer to it as GNU/Linux rather than Linux.  If HURD gets to a workable state, which I understand it is to an extent, then the releases are called GNU/HURD.  Debian Project is one of the entities working on the HURD kernel.  In a very short time, Linus’ kernel was turned into a working kernel and the GNU/Linux operating system rose to life.  The HURD project has suffered from a lack of support due to most people not really caring about the architecture of the kernel in their computer’s operating system.  I believe very few people even care about such heady and intense considerations.  I also don’t think most people care about the Open Source movement or the Free Software Foundation and the philosophy behind them.  They just like the free OS and apps.

I wonder what would have happened if Mr. Stallman had chosen the BSD kernel?  What would be different today?  Would we even know about Linus Torvalds?  What do you think?  Give me some feedback.

After running GNU/Linux for a little while a user will no doubt want to get to know the guts of GNU/Linux.  One of the first steps is to enable your file manager to see the hidden folders and files.  For Thunar, it is to click on View and then Show Hidden Files.  You will notice there are file and folders that start with a period.  It is these folders and files that are a big  key to how GNU/Linux works for you.  They are, or contain, config files.  GNU/Linux uses config files to set how programs, and processes work.  Users of Microsoft’s OS are probably thinking, “That is a really ancient way of doing things.  Microsoft uses the registry.”  Well, the registry is just one large file that is encrypted.  It also holds some hidden areas, something you won’t find in GNU/Linux.  Everything in GNU/Linux is available for the user to see and modify, sometimes at your own risk. (Side note: If you haven’t ruined your install of GNU/Linux, then you haven’t explored it enough!  lol.  I know I have done it a few times.)

Config files are a really simple way to set program information. Most config files are small text files which are easily and quickly read by almost every programming language.  That is why GNU/Linux uses them.  It is a simple way for the OS and users to use.  Some config files you probably will explore are these .bashrc, .config/xfce4/terminal/terminalrc, and many others.  Don’t be afraid to open them with your favorite editor.  As long as you don’t save it you will be ok.  If you want to do some customization just do a search on the config file and you will find a site that will discuss how to edit it.  Remember, GNU/Linux is open and you can find some documentation on every file.  One last thing, check each program in question, many of them have a preferences area that will set all of the settings you find in a config file.  The .bashrc is a file I edit because it controls your Terminal session.  If you get into Linux, you will definitely get used to the Terminal.

When working within the terminal environment, there will be times you want to edit a file.  I found that nano is an EXCELLENT program to use.  It is easy to use and pretty powerful.  The homepage is here:   Nano is usually installed on most distributions, or it can be loaded easily from  your distro’s install program.  It has a file browser to find where to save a file.  To save your work just use CTRL O.  Most of the commands are combos of CTRL and a key.  It even has options to have color highlighting for files, which helps seeing command words and the like.  This link shows how to get the config file up and running.  Again, read the site.  All the information is there.  Nano makes editing files and such easy.  When making BASH scrips, I will use nano.

For those who love to customize XFCE with themes, icons, cursors and wallpapers, I found settings that will help make it easy.  Now, I found all this from the XFCE site.  It is easy to setup what you need in your home area.  With these folders, you will just drop in what you want and the system programs will find the new theme elements.  To setup custom wallpapers you make a the following path in your home folder:  .local/share/xfce4/backdrops  All of your custom wallpapers will be dropped here.  I can’t remember which folders I created, but just how deep you can go and create what is not there.  If I remember correctly, I had to create the xfce4 and backdrops folders.  Anything you put in there will be automatically picked up by the appropriate tools.  Additional themes will be dropped in a folder by the name of:  .themes .  Cursors and icons are dropped in a folder named   .icons .  These config folders really help with adding new themes.  I used the site to get new themes.  Just untar or unzip with the archive manager the downloads and drop them in the appropriate folders.