Now let us turn our attention to the process of selecting a distribution. I’ve been in this process for a while. Xubuntu has worn on me due to some quirks. Ubuntu has also caused me some concern as well, so I have thought about this change because I don’t want to start the distro hopping that characterized my GNU/Linux use. Here is my suggestion as to how to choose a distribution of Linux that will satisfy. Here are the steps and then I will describe what I mean and then show you how I have made my decision.
- What do you use a computer for?
- What kind of hardware do you have?
- What is your skill level with computers in general?
- What is your experience with Linux? And How much time do you have for computers?
- How do you like to interact with a computer?
- Getting new applications.
- Intangibles.Let us look at each item.
1. What do you use a computer for? — Do you use it for Business only? Do you use it for pleasure or school? Do you use it for a combination of the above? What applications that you currently use would be considered “must haves?” This alone is important. If you need certain applications, then you need to be sure that any distro you use has the ability to run these applications. This is important because if you load a distro and can’t get that app running, it then is a huge waste of time.
For me, I use my laptop for Business and Personal uses. My “must haves” are rdesktop, an internet browser, and a word processing program. One last “must have” is minecraft. Yes, I play minecraft and have played it since alpha 1.5. I also need to have Samba to connect to printers that are on windows machines.
2. What kind of hardware do you have? — Are you using a recently purchased computer, or are you using an older pc/laptop that hasn’t seen use for a while. This could be important because some distros need better hardware and some distros are designed to be used with older hardware. Since I am not a die hard gamer. My laptop is more than adequate to run any distro that I would choose.
3. What is your skill level with computers in general? — When switching, or using, Linux, a person needs to up their computer skills. You will be learning how to use computers in a new way rather than the Microsoft way. If you would classify as a person who just uses computers rather than a “computer geek” this will direct your distro search. Some distros are more for the computer geek while others are for the computer user. Knowing this will help you. Recently I tried out Manjaro. I like it on the surface, but there are some things that were beyond my current skill level. I don’t have the knowledge to get some important things working. This brings me to my next point.
4. What is your experience with Linux? And How much time do you have for computers? — If you are just getting into, or back into, Linux then maybe a distro that is more setup for you, Ubuntu, or Mint, or Linux Lite are a few examples. If you don’t have much time to spend on computer use, then Arch, Gentoo, or Linux from Scratch are not your best choice. Be realistic here. It would be a shame to spend all your precious time with your computer doing things you’d rather not do. Some distros require more tweaking and setting up and maintaining than others. Looking at this area can help you spend your time on things you want to do rather than spending time on things you don’t want to do. For me, I can do quite a bit with Linux and have some experience, but my time is limited. I don’t want to spend time with system maintenance. I want to spend time doing the things I want to do. These things are learning Java and Python and working on my bucket list of writing a computer strategy game.
5. How do you like to interact with a computer? — This has to do with computer desktop environments. Microsoft and Apple offer only one desktop paradigm. Linux offers many different desktops. Each one has a strength and weakness. Are you a keyboarder? Do you want to do everything with the mouse. Or are you a toucher? I have always wanted a minimalist desktop. I started to play with different distros and their desktops. I tried openSUSE and KDE just to see what KDE was about. I was shocked how much I liked KDE. One thing I discovered is that until I use the desktop environment, I really don’t know if I like it or not. Which also makes me appreciate some of the veteran distros like Fedora, openSUSE, and Debian. These distros allow you to load multiple desktop environments and try them out all with one install. I suggest load one of these, especially using VirtualBox and install as many desktops with that distro and see how different each desktop is with that same distro. I have done this with Fedora 18 and it really has changed my view of desktop environments.
6. Getting new applications. — In the past I used Slackware for quite a while. I liked it very much. I only switched from it when the maintainer talked of dropping Gnome and being KDE only. That was about 5 years ago or so. I turned to a Debian based environment because of the Synaptic Package Manager. I think these types of apps are very good and necessary for a distribution. A good package manager is a must for me. I won’t waste my time with a distro that does not have a package manager. While Slackware helped me with learning how to compile my own packages for use, I don’t want to go back to that. It is easier to load a package rather than compile it. Many distros have good package managers. I also want a distro that has a large repository that is very diverse and has many apps for me to choose from.
7. Intangibles. — No matter how many things you consider, there is always something that doesn’t fit a category. For me, I want a more “traditional” Linux experience. Ubuntu has been good for Linux, but Canonical is really focusing on the phone and tablet environments and I wonder how much time they are going to spend on the desktop. Since I tried KDE, I also want a distro to have a native packaging of KDE rather than a spin or a community sponsored variant like Kubuntu. I have heard that openSUSE is part of a company that has financial ties to Microsoft. I don’t want my distro to have ties to microsoft financially. I also want a distro that has been around for a while because I want something that is pretty much stable without bugs. I thought I would want a rolling release, but it seems that rolling releases are also much more apt to break things with each upgrade.
Summary – In the end, the time spent on choosing a distro will help you with your choice in the end. I have chosen Fedora as my new distro of choice. It came down to Fedora because Debian has an aversion to “free only” for stuff that gets put into their distro. I like the Open Source movement, but I am not fanatical about “free only.” openSUSE has financial ties to microsoft. Arch is just too much work for me right now. I don’t know where Ubuntu is going and the changes they are making to Linux are taking Linux in a direction that is not good for Linux in general. I wanted to wait for Fedora 19, but my Xubuntu upgrade to 13.04 was just acing badly and I just had to reinstall just to see if it was Xubuntu or my installation. Since I was going to go with Fedora 19, I just loaded 18 and am happy. Right now my Fedora 18 has Cinnamon, Mate, XFCE, and KDE installed. It still runs great. I am extremely happy with Fedora, and KDE is fantastic. I can stick with this fine.
Take some time to investigate and you might be surprised what you find and end up a happy user of Linux.
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 http://www.distrowatch.com 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 http://www.youtube.com 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.
NEXT TIME: Part 2
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: http://www.nano-editor.org/ 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. http://www.nano-editor.org/dist/v2.2/faq.html#3.9 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 http://xfce-look.org/ to get new themes. Just untar or unzip with the archive manager the downloads and drop them in the appropriate folders.
One of the best things I like about GNU/Linux is the choices that it offers. You can do so much with GNU/Linux. GNU/Linux allows you to adjust and tweak settings to your liking. Open Source philosophy allows you to read manuals and dig into the guts of the system to make it what you want. That is right, you can adjust many, if not all, parts of GNU/Linux. If you wanted, you can get all the source code and compile it just for the computer you want to run it on. Most people don’t get started with GNU/Linux that way though. The process to compile and assemble a working box takes some skill and effort. Most people get started with a version of GNU/Linux that is easy to install and use. Ubuntu is that distribution that many people have started with. Though, many move onto a different distribution for one reason or another. For me, though, the ability to tweak is a trap. I start to tweak and then sooner or later I don’t know when to stop.
Other than icon sets, cursor sets, wallpapers, window themes, and sounds, you can also load applications to do system tasks to your liking. There are many built in programming languages. Bash, which is great for many tasks and is mostly used in the Terminal Window. Python is an open source object oriented language. Java and C/C++ are also easy to install an IDE to compile and run. C/C++ come with every version of GNU/Linux and just needs an IDE to use. The best choice is Eclipse which can be used for both Java and C/C++ development. Not to mention the thousands of apps that do this or that. And that is where I am at, in tweaker’s paradise. I don’t get anything accomplished because I am getting everything the way I want it. Well, today I am calling a halt to that. No more tweaking. None. I am running with what I have and what it looks like.
So, when you use your Windows system, realize I have choices you don’t. I have options you can never have. Linux. It is a great choice. You need to check it out. Try a Live CD of xubuntu, which is my favorite, or Kubuntu, or even Ubuntu. You might discover the fun in computing again.
It is amazing how quickly one’s mind can change. I found Synapse after watching a podcast of Linux Action Show. It is part of the Jupiter Broadcasting lineup. You need to go to YouTube and do a search for them. The show is great. Synapse is a program launcher, file finder and so much more. I never quite liked the way Ubuntu’s desktop searched for stuff. With Synapse, you just type in the program name and hit return and voila! The program executes. I am still learning how to use it, but it has already demonstrated how computer life can go on without a desktop menu. I like the way it launches the app, or document based upon the text you type. It tries to do an auto-complete on your typing. The home page for Synapse is here : https://launchpad.net/synapse-project There is also a wiki here: http://synapse.zeitgeist-project.com/wiki/index.php?title=Main_Page To be honest it took me a while to “get” how it works, but I really like the app and find it very handy and more useful than the menu. I still use a menu, but it does speed up many tasks. I do wish it had a feature that would open a folder of my designation. It probably does and I just don’t know the proper way to do that.
This is why I am loving Linux more and more. It gives you options and you are not stuck with just one company’s philosophy about how to use computers.
You gotta try Synapse. You really do.
It has been too long since I last posted. Well, my life without Microsoft Windows has been great! Since I am an experience Linux user, the total switch wasn’t difficult. There are differences between Microsoft, Apple and the Linux operating systems. Why? Well, it has to do with development philosophies and market distinction. Yes, I know that Apple’s OS is written from Linux. Still, Apple has put their spin on Linux. Most users that switch, or experience another operating system don’t realize how much they get used to one operating system and how it does what it does. Many users think, “This is the way it needs to be.” They don’t realize there are multiple ways to do things. So, I you are thinking of switching, realize you will learn something new and be challenged to do things in a different way.
I switched from Ubuntu classic to xubuntu last January. Why? Well, I gave Unity a shot and came to the conclusion that it wasn’t for me. Why did I make the switch to xubuntu rather than __________? (Fill in the blank yourself.) Well, here are my reasons. First of all, I wanted a traditional menu to choose apps. I don’t want to search to find out what I have installed. A menu is a quick way to find an application. Second, I wanted to stay with Ubuntu based system for now. Third, I always lean to a light, or rather lighter weight desktop environment rather than a full-featured environment like KDE. Back when I was dual booting with Linux, KDE and GNOME were the two main desktop environments. KDE was more resource hungry than GNOME. I was a dedicated GNOME desktop user. In fact, when Slackware went KDE only, I dropped Slackware in favor for Debian. So with those choices xubuntu and lubuntu were the two choices. I went with xubuntu because of XFCE, which has been around a while and has quite good features to it. After tweaking XFCE a little by loading some things with Synaptic Package Manager, I am happy with my install. I found xubuntu left a few features out and Synaptic allowed me to load the rest.
I chose a Ubuntu based distribution because Ubuntu has added the things that most people use, or at least, makes it easy to load the multimedia codecs that I really want to use. Debian is the base for Ubuntu and Debian has the most packages available. Ubuntu also has really improved package install and that is where I was frustrated in the past. With Software Center and Synaptic Package Manager I can load anything that I need. Also, I download packages from the source, like Libre Office and Eclipse. What is good is that most sites include packages that load on Ubuntu systems.
Life has been great without windows. You might find that it can be great for you. Especially if Windows 8 is not to your liking. There is a big community out there. Check Linux out.
I have been wanting to learn Java for a while. I recently decided to choose a project to stimulate my learning of the language. Give my learning some focus and attention. If you have been ready this blog, I am developing a 4X strategy game. Well, as I have been reading on Java to remind myself and to understand some of the basics of Object Oriented Programming (OOP) I have grokked the concept of polymorphism. Well, not grokked, but I understand it now. I see a purpose and a reason for it to exist. Here is how I understand polymorphism. If anyone has anything to add or clarify, go ahead and post something. I would love to understand or have clarified anything I have wrong.
Polymorphism is a way to reuse a class. If a new class had to be made for everything, then the language definition, let alone any complex solution to a computer problem would be huge. The purpose for polymorphism is to allow reuse and redefinition of a class. In my case here is how polymorphism helps. Any 4X Space game will have ships, lots of ships. If I made a class for every ship and every modified ship, then I would have a real bloated program, but with polymorphism, I can do some very cool things. Here are some basics. I can define a basic SHIP class that has the properies of hit points, attack strength, defense strength, owner, location, and speed. All ships in my game will have these properties. So instead of writing methods for each ship to move, attack and repair, I can write it once in the SHIP class. So ALL ships will move, attack, defend, and repair the same basic way. This helps to add consitency to my program. I can still have varieties of ships by extending the SHIP class. One way to do that is to create a Freighter and add cargo space. I will later write methods that will load cargo and remove cargo for the freighter class.
I am still prototyping the classes and ideas, but I am looking forward to developing this because it is giving me some concrete examples of how to use items in OOP that I previously didn’t realize how to use them.
Recently, my laptop’s hard drive (HDD) decided to stop working efficiently. It took 5-10 times longer for my laptop to do anything. I had my laptop evaluated by Best Buy and they said it was just the HDD. I bought a new 1 TB HDD figuring I would try to restore windows on my currently installed HDD on the laptop, and if that failed I would install the new one after making some restore disks. Well, that didn’t work out and the restore partition didn’t work. I installed my new 1TB HDD and decided to make the switch to Ubuntu Linux. I have messed with Linux for about 15-20 year so it was time to make the permanent switch. I just didn’t want to pay money to get a set of restore CDs from Toshiba. I am tired of the money grabbing by micro$oft. Gates’ idea of purchasing the right to run software is just rediculous. This has set my development back due to a total loss of everything on the HDD.
Oh well, I am very satisfied with the Ubuntu and am looking forward to getting reaquainted with Linux. The good thing is that Java is a cross platform environment and I can get the same stuff done in Ubuntu that I could in windows.
I read this quote on a discussion board. I really like it and it gets to the heart of the purpose of the user interface:
The day that these monster one-man army developers start doing GUIs, they will conquer PC gaming. I love their ideas, but if you are unwilling to bridge them to me, then the effort I have to make can be outright frustrating and disappointing.
Basically they are the equivalent of your brilliant but absent-minded and introverted university professor in gaming.
The key is this quote “bridge them to me” a user interface is the way the developer brings into focus the game play and data that is necessary to play the game with enjoyment. Too much data and the user is confused. Too little data and the user has no creativity to express in the game.
This quote has gotten to the heart of the matter. A game can be great, but the user interface can make the game unplayable or confusing.