Login (generic cert)
Logout

Debian Squeeze with OpenBox

Debian GNU/Linux - Squeeze with OpenBox
Guests 23
If you can walk and chew gum at the same time, you can run GNU/Linux
Blog Pushes

debian tutorials
debiantutorials.org is built on and runs on Debian.

 

Creative Commons License
Common roadblocks to Linux adoption, Demystified Print E-mail
Written by machiner   
Friday, 06 July 2007 03:41
Article Index
Common roadblocks to Linux adoption, Demystified
Software
Hardware
All Pages

The Command Line

Certainly you've heard that running Linux is a whole lot safer, more reliable, robust, and secure than running Windows. Sure, this is true. You may have also heard that Linux is free. This is true, as well. However, you may always donate money or skills to the Linux distribution of your choice should you want to. You may also purchase any one of many Linux distributions through many online resources that charge for the media, plus a little somethin' somethin' for their troubles. However, don't feel like you must.

Before I get into the meat of this article I want to write that I'm not here to bash Windows or belittle it in any way, or its users. Honestly, you run what you like for whatever reasons you like. This article is for the curious, perhaps apprehensive, or new Linux user because there aren't many articles out there that will read like this one.

Linux is more a way of doing things than a simple operating system for your computer. There are certian things that accompany advanced computing that you may have never had to do in the past. Maybe on your Windows box. For instance, there is this terrific cloud hanging over the idea (and utilization) of the "command line" or terminal. I want to tell you right now that this, like all things sensationalized, has gotten way out of hand. Yes, you will probably enter at least 3 or 4 commands into the command line during your usage of Linux, but there is no rule that says that you must, nor do all of the Linux distributions force you to. But you can, and there is great satisfaction out of running the commands you want, in the fashion that you want.

The terminal, or command-line is one of those roadblocks, as I see it. The intention is to address it here in this article in such a way that it makes sense to those that may be put off by it. When the folks that make our operating systems and hardware agreed that a pleasant user experience was key to widespread personal computer adoption, desktop environments, Graphical User Environments (for example, Explorer in Windows is your GUI, your "shell") were integrated into the experience. It's simple enough. When your operating system is starting, one of the functions that it enables is your desktop environment. It's just the explorer desktop that you see, it's the "environment" that you are in. It enables you to see windows, click icons, run commands and all that through a simple and graphical experience. Back in 1983 when I was taking Basic computer language class in High School, the computers were cool and all, but they just showed you a black screen on the monitor. You could run commands and create programs all day, but there certainly was no point and click way to get things done. Noone worried about fancy graphics cards or any of that. Computing was tedious and boring. Unless you were a "geek". I was not.

But soon enough this all changed and the graphical desktop environment was born. When people refer to your desktop they are referring to what you see on screen when your computer boots. Your icons, a menu bar with the start button in it, your clock...all that. I just wanted to be clear on the GUI computing experience as opposed to computing from a terminal. It's really very simple - on a Windows box click - Start --> Run, and then type: cmd, and hit enter. The resulting boring and intimidating black box is the DOS terminal, another "shell". It's the command-line. In it you can do about anything that you can do by clicking on an option or button or whatever, in the GUI.

You see, when you are clicking those buttons in your GUI desktop, what is really happening is that behind the scenes your clicks are interpreted as commands. The same commands that you can type out into a terminal. What your pretty GUI desktop really is is an interface.

A way for you to interact with your computer. For instance, by clicking. When you click your icon for your web browser, behind the scenes your computer is being told to run the program that this icon is pointing to. That icon is just a pretty little picture representing the actual link or address to a program location. An icon might be like the notes you leave yourself. You may use an image or a symbol or some abbreviation instead of writing a whole idea out. In a terminal you can do the same thing by issuing (typing out) the actual command instead of clicking its graphical representation. For example; you simply type: iexplore, and hit enter. This will start your Internet Explorer web browser.

Some people prefer the command line (Command Line Interface), or terminal, because it allows them to accomplish things faster. After all, that graphical interface must be loaded and system resources are required to create and run it. This means that you computer has to go find, assemble, and start all of the functions that create, or paint, your graphical interface. When the computer starts, or boots into, a terminal this is not necessary. There is no pretty interface to assemble. So you can see how you can save horsepower by using that ugly and boring terminal over the GUI. However, we like the GUI -- so I'm not telling you to forego it.

Another benefit of running commands from a terminal is that you can exercise more control. Programs have various alternative ways of starting. As well, you may start programs with certain variables. For instance, if I want to run my web browser, without starting the built-in email function it has I might open my terminal and run Opera with this command:

opera -nomail

When starting Opera by clicking on its icon I don't have this ability. By the way, the command that I just typed here is different on your Windows box. There you have to type the whole address to Opera, like: C:\Progra~1\Opera\Opera.exe. You can change this by telling your computer where Opera is that you may simply type Opera to start the program. On Linux you don't need to add programs to your environmental variables like this -- but you can for those that you need to.

I hope that you are pretty clear about your graphical user interface (GUI) now. Most operating systems have one, or many. Certainly it is something that you have always used on your Windows box (you know, unless you go way back) and have just taken for granted. Never gave it a second thought.

There are many ways to "interface" with your computer. When you slide your ATM card through a terminal commands are run on a relatively simple computer. You command it through the number pad interface, or by pressing the enter or cancel buttons on the ATM. When you enter your reheat time in your microwave, you are using another interface to instruct the limited operating system that runs your microwave. By hitting the 4:23 buttons and go, or cook, or whatever, you are commanding your microwave to complete a task.

I use my terminal all of the time. It really is very convenient. Sure, I have a desktop environment (xfce4) installed so I also have a pretty and functional GUI to interface with my computer -- but sometimes that terminal is just so handy to have around. In fact, when my desktop starts, one of the programs that starts along with it is called "tilda". Tilda just keeps a terminal handy for me. It drops down from my menu bar and I can dissappear it with a quick F2 press. But I only do that after I press the "up arrow" key so I can run a remembered command. The command I like to run after my desktop starts is the one that plays music. Remember that commands (programs) can be run with options; variables. We call them options or switches or flags. Well, I run "mpg321" the program, with the option that is the address for the internet radio station that I like to listen to. So, within a second I am grooving on some funky Chicago blues. I guess that like anything, this "terminal" interface simply takes a bit of getting used to.

It's important to understand a little about your computer. It is just a bunch of hardware assembled to run together. Providing your computer with a brain -- a memory controller, video capabilities, sound, network connections all that. Just hardware. this hardware is taken advantage of by your operating system. It gives you a very simple way to control your hardware and it also allows programs to be run -- which also might use your hardware. Your firewall monitors your internet connection. So, it focuses on the way that your computer is able to connect to a network, your network card. Your phone line or cat-5 cable plugs into your "nic" card. The Display component in your Control Panel attaches (so to speak) to your video card enabling you to control various aspects of it. Your computer itself interfaces with your hardware on many levels, but you always get a simple way to control it through your GUI, or by typing commands into a terminal.

Earlier I wrote that you might never have to see your terminal on your Linux box. This is mostly true. Let's talk about an example when you would see it in action but not necessarily because you opened it and are giving your computer commands.

Remember earlier when I wrote that your GUI was an interface by which you command your computer. Well, an example to see this in action is by running Synaptic on your Debian box. Synaptic is the graphical interface to the actual program doing the work - apt. You can run apt the simple from your terminal: apt-get , or you can run apt through Synaptic by clicking a menu button, or entry in your menu list. Go ahead, open Synaptic. When you click the Reload button what is happening is that Synaptic passes this command to your computer: apt-get update. You simply clicked it instead of typing it. After you have decided what program to install and you click Apply, you will see a box open. If you click the arrow on the left side of the box you can see a terminal drop down. Many programs completely hide their backround terminal actions but Synaptic opens it up for you. You can see a list of actions scrolling by as Synaptic runs the commands you just clicked it to do. It is updating, download and installing. Instead of typing: apt-get install gnump3d in a terminal that you opened, you searched for it, chose to install it, and applied it in Synaptic instead. It just opens the terminal for you as a bonus so you can configure any programs that need it as they install. Becuase the GUI is really passing on all the clicks you give it as actual commands to the real program operating behind the scenes.

We might separate the terminal and GUI functions by calling them the front-end and the back-end. You may have heard people referring to these in the past. The front-end is your graphical interface, the back-end is the actual program, hidden or obscured from your view by the pretty front-end. Synaptic is the front-end to apt, the back-end. This isn't true for all programs, of course. For instance, Microsoft Word is not a front-end graphical user interface. Word is a GUI program and that's that. Some programs are only crafted to run in the GUI space. On my Linux box, many programs are CLI programs designed to be run from the terminal, but many of those have a GUI front-end for those of us that would rather compute in this space.

If you would like I guess you could think of the CLI as the old way to run your computer and the GUI s the new way. There used to be MS-DOS, then we had Windows. I hope that your terminal, or CLI, apprehensions are allieviated now. However, you will hear it mentioned all of the time when people, especially those unfamiliar or very new to this concept, mention Linux. You can dismiss it all day because you can run Linux and not be forced to configure obscure programs or run obscure command line utilities through the terminal if you don't want to. Depending on which Linux distribution you choose to run, there are GUI counterparts to these commands. You may configure and run your Linux box completely through your GUI all day - just like in Windows. So you can now really see that this "roadblock" does not need to stand in your way.


Comments
Add New
+/-
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly:
:dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh:
:whistle:;):s:!::?::idea::arrow:
 
resa  - Re: Education the only way   |71.126.62.xxx |2007-07-11 10:31:13
Well spoken and I think articles as presented by Machiner indeed helps people realize there is a choice and I
hope it somehow takes away the myths that are strongly upheld (regardless by whom).

As indicated: The most
important issue is the realization of freedom of choice. Which choice a person then makes is up to them and --
as you -- I will respect any choice an other person makes.
But finally it will be then based on free choice.
'Guest'  - good article   |129.132.67.xxx |2007-07-10 21:53:29
thanks for this writeup, well written and certainly viable for beginners.
one thing i would like to point out
is that, the installation process described aboe (configure, make, make install) is the ideal case. in many
cases, the documentation is noc complete, available but too short, configure files are missing etc.
if a
beginner comes across such a package, a beginner is more than likely to be confused at first and
frustrated/angry later and would be, in most cases, better off with a ms-style "complete" msi
installer which does all the installation required.
this is, of course, not your fault but just a reminder
that "out there" in the wild some (a lot?) of software is sub-optimally prepared and may present yet
another roadbloack to acceptance of linux.
'Guest'  - Education, the only way.   |72.177.92.xxx |2007-07-11 03:45:36
Good article. I guess the most difficult part of it all is just getting a user to learn about open source
software and operating systems in general. Us more technically slanted may know of the history, the tactics
(vendor “lock in”), FUD and “newspeak” of Product Activation and Windows Genuine Advantage with
“feature rich” characteristics to lure and perpetuate their monopoly. We also know of the rich history of
Unix, BSD, Apple MAC and OS2.

It's education and facts that will strengthen a new Linux user. Monopolies
are about absolute control of their space. No competitor, in their terms is better or can be better and should
not exist if they even try. Show that finally with Linux, BSD and even the proprietary and good Mac OSX
operating systems, users do have a choice. It good to show that industries today do see the value of choice
and the usage of Linux. From Dreamworks, to Auto-Zone, to Google, Linux presents a solid choice for them. Dell
computers may be a key player now in educating regular users too in that you have a choice [finally] and can
have full control of your computer and not feed the monoploy.

Most common user's may do just the basics on
their PC. Write letters, manipulate their digital pictures, email, surf the web and play some games. If they
still choose the monopoly scenario once they are “in the know”, then fine. Let them fight trojans, virus
attacks and WGA. But they need to be aware of how their choice, without out considerable effort, the monoploy
is taking control of THEIR system, THEIR choices of what they may want to do with their computer.


Obviously I'm a strong Linux advocate but I feel all software choices, either proprietary or open sourced
is good. It's about keeping the freedom of choice and control of the computers you purchase. Perhaps even
larger, it's about ending a monopoly that, while good it has helped to bring technology to most everyone, it's
an extreme danger to allow them to continue on their current course. Our government has bowed to their
millions with a “wrist slap” anti-trust judgment. Europe and the rest of the world hasn't been as easily
swayed. We are at a crossroads where shady software patents and consumer abuse by the monopoly may not be
tolerated much longer from the “grass roots” users, corporations and the world.

I don't know where it's
headed but we can all have an important role by first being educated. Then with the choices we make and our
numbers as a community, we will insure the freedom we so cherish isn't lost.
'Guest'  - by Chris LeesIt's a good start   |211.26.100.xxx |2007-07-10 02:46:21
I have a similar sort of thing that I post to my blog, called "Worst reasons why Linux isn't
desktop-ready".

One important thing to note is that Windows did have a reliance on the command-line a
few years back, yet "average Joes" still used it rather than switch to the fully-GUI (at the time) Mac
OS. And Windows does still need some CLI work from time to time - for instance, if you want to batch-encode
music to WMA. I was once even told by Disk Defragmenter to go into the CLI and run a particular
command.

Maybe you should say something about why source code is so necessary: Because source code is the
lowest common denominator. You can compile and run source code on any Linux platform and often many Unix
platforms. However, precompiled binaries aren't terribly practical in the Linux world, as each one will only
work on a single architecture - for instance, if you go to www.get-deb.net, the files on there are precompiled
for x86 and x86_64. They will not install or run on PowerPC, ARM, or Itanium. There are many desktop Linux
machines which are based on PowerPC and many embedded devices which use PPC or ARM, so it's important that
these platforms get supported by distributing source code. As a Debian user I'm sure you understand this
better than most!

Yesterday I came back from visiting a customer (I set up home entertainment systems) who
set up Ubuntu and Beryl on his spare computer, with barely any assistance from me. It worked out-of-the-box,
even though he knows even less about Windows than I do :-)

In short, good article, and please check out
my own blog at: http://bigbolshevik.blogs.friendster.com/a_man_and _his_penguin/
Resa  - Roadblocks comment by Resa   |72.74.120.xxx |2007-07-09 09:36:34
I see your point and I -- to a certain extend -- agree with what you say about how people have been made
accustomed to M$ software.

I think the entire purpose behind the article was to indicate that various
"myths" told about Linux are not as mystical as certain people would like the world to believe.
Let's
hope that the article may contribute to more people willing to consider Linux after the article.
machiner  - right on   |72.74.120.xxx |2007-07-07 17:24:02
You will get exactly 0 (zero) arguments from me on your points.

Thank you for your comment.
'Guest'  - Well written   |122.109.27.xxx |2008-01-07 11:59:45
I've chosen to install Debian and this article was exactly what was needed to get me going. For those who've
been in the linux world for a while, I'm sure its easy to forget that when beginning to read various help
articles it can be like trying to read a foreign language. This was simple, concise and actually did answer
some of the most important questions I had in making the switch. They were exactly the issues that have held
me back in making the switch.
Cheers Mate.
'Guest'  - Thanks for the encouragement, but...   |72.74.129.xxx |2007-07-17 11:28:45
I agree with "good article" written by 'Guest' on 2007-07-11 02:53:29, especially about the frustrated
part. I have paid $ for 4 Linux distros, 3 of them are now in the trash. The only one to work
"out-of-the-box" is DSL on a mini CD. The other 3 just produced boot errors. I personally will not
give up, but I expect many have over similar issues.
'Guest'  - Roadblocks   |24.76.250.xxx |2007-07-07 17:03:00
While TFA is indeed well written, I believe the thesis that the few items mentioned in any way holds back
adoption of GNU/Linux is wrong. They are but ants in the way of an elephant. The real problem is that M$
obtained a monopoly on the desktop and a whole generation have been raised without much choice, or at least do
not understand that they have a choice. I have met people who actually believed it was illegal to remove that
other OS from a computer or that Linux was illegal software. Explaining the facts had no effect on these folks
except to convince them that I was a Martian or something really strange. Linux works well on the desktop when
people are thrown into it at work or at school. There are no commandline, hardware or software issues for
them. Linux just works.

The size and strength of the M$ monopoly was created by corrupt practices and
continued effort by lovers of free software and enforcers of laws around the world will take a decade to
eliminate the problem. We cannot rely on the law to fix this. Look at US DOJ v MSFT or EU v MSFT. Those cases
took a decade or more with not satisfactory resolution. Fines have no effect. M$ will have to be banned from
the market. How unthinkable is that for our lawmakers? Without a ban, it may well take a decade to have a free
market in software.

Keep up the good work.
'Guest'  - foomatic, hpijs   |71.162.66.xxx |2007-07-13 14:35:54
That's too bad. I see the drivers included for HP-LaserJet_1015, as well as 1010, and 1012. I wonder what
the big difference is and if the 1015 drivers would work well for you.

I remember using drivers for model
numbers other than mine specifically and having no trouble at all in the past.

Maybe the 1018 is WIndows
only, which is sometimes the case. I don't know, I'm just sayin', and I did no research. However, I did find
this page quickly: http://www.linuxprinting.org/show_printer.cgi?recn um=HP-LaserJet_1018

The following
page is at the Ubuntu forums and shows success: http://ubuntuforums.org/showthread.php?p=1439389

Here is
the google SERP page from my search: http://www.google.com/search?hl=en&client=opera&rl
s=en&hs=jg9&sa=X&oi=spell&resnum=0&ct=result&cd=1& q=hp+laserjet+1018+%2Bdebian&spell=1

--machiner

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Last Updated on Thursday, 19 March 2009 19:56