Linux Epiphany
I can't get any sleep thinking about it so I might as well express it. At least I don't have to go to work tomorrow.
I had a huge epiphany today about Linux. I sat there and said "what the hell am I even doing this for?" Remind me again (I asked myself), what is the benefit in this, to me? When is the last time Windows crashed? I can't remember. What do I want to run on Linux that I can't run on Windows? I have Firefox, Open Office and The Gimp on Windows. This week I've been using free, open source desktop publishing, video and audio editing software on Windows and it's been a wonderful experience. Not to mention the countless free and open source web services. My support for free and open source software is as high as ever.
Except I no longer want to run Linux. What finally broke me on it was not the problems. All operating systems have problems. It was the horror of the solution. It was presented as normal, accepted, and even a positive. That was when I realized: "The promised land is never going to come. I am already here. This is it and I don't like it. This is normality. This would be happening if I bought a new computer with Ubuntu preinstalled and bought a year's worth of tech support. I cannot get around using the command line interface."
I am only lazy in a good way, the way that keeps you from chopping down a tree with a herring. It occurred to me, why should I learn command line? What do I gain? I thought I was getting a free operating system, but there are financial costs and there are work costs. From my perspective the cost to benefit ratio makes no sense! I would spend a lot of unpleasant time learning something I don't find interesting, in order to accomplish... well... I honestly have no idea. I have to take people's word for it what vague and nebulous benefits there are to this command line. I haven't needed it since DOS, and DOS is not something I want to go back to. Ever.
As those who know me are aware, I react very strongly to disillusionment. I should not have said in the comments to my last entry that Linux "broke" the computer. The most exquisite tool is just as good as broken when I apply it to the wrong problem. When I have a step down from my happy and content Windows experience, rather than a step up, then from a very context-dependent point of view it's kind of like I broke my experience. Linux doesn't "work" in the sense of not needing you to hold its hand. You know? The earth, the sun, my hearbeat, Palm OS, Firefox, these work. When your heartbeat needs you to "hold it's hand" with a pacemaker, it's broken. When your heart keeps asking you to tell it to beat with a command line interface you could sort of say it's working, in that you're not dead, but it seems your standards have shifted weirdly. "You know how important it is to be in the driver's seat of your hardware; we can't have autonomous heartbeats because you never know when you might need to hide your presence from the supernatural hearing of ninjas." I don't want to lose CD autoplay, or associating file types with actions, or lists of clickable options. I don't want to lose prompts and actions attached to every point in the interface, from which I can learn what to do next.
Well, it didn't take long to realize what had been motivating me in the first place-- rhetoric. All the coolest people were, and still are, in open source software. What I was gaining (in my mind) was solidarity with an idealistic social movement. Viva la teçhnōliberáčion. I don't want anticompetitive corporations to own the whole world with intellectual property, which in the future will be just about the only kind of property there is. Justice, freedom, monopoly-busting, equality, democracy, global brotherhood, access for the little guy-- it might as well have been goddamn control of the goddamn means of goddamn production, if you can believe that. Anything but what I could actually do with a tool! How embarrasing. Oh well. Lesson learned, and not for the first time. Now I have to make sure not to be a fool and have to learn it again.
Comments
ericthemage on Jul. 4, 2005 2:58 PM
I cannot get around using the command line interface.
You do realize that Microsoft is going to be beefing up their command line interface as well? Yes, it will include things that you can already do with a mouse, but the command line is far from dead.
stormgren on Jul. 4, 2005 3:36 PM
As an offshoot of this, I'm trying to figure out why, other than some of the evilness of DOS, you consider the command line to be so evil?
matt-arnold on Jul. 4, 2005 5:00 PM
I do not know the benefits of the command line in even vague and nebulous terms, it's just being forced on me. You are still, even now, not bothering to describe the benefits to me and taking it as a given that it falls on me to describe the evils to you. This is similar to a telemarketer who, instead of selling the product, insists that I justify my lack of desire for it.
But nevertheless I will describe the evils of the command line, with help from the user comments on Eric Raymond's essay, The Luxury of Ignorance. It would be understandable for some high-level cracking program or programming interface to not actually step the user through with a tutorial. But it's unforgivable in the most basic fundamental computing tasks like installing simple software. Computing feels like an extension of the body, like a hand or a foot or an eyeball. I don't have to memorize or remember how to walk or talk or choose from a menu of options presented to me. But the command line interface offers me no visible menu of options, so I am blind within it. It presents a catch-22 that I can't even use it to get help until I know how to use it. It doesn't take control from the user, but it goes to the opposite extreme of pretending to be helpless. Computers are not helpless, they are powerful servants and can teach us how to use them. The command line does not partner in symbiosis with me, it is inscrutable and inert.
Why do you consider it so good? And don't say "I like it," that contains no education. I use a computer all day without it and I'm fine without it. I want to simply be able-- I want to simply be allowed-- to step in the shallow end of the swimming pool and actually do basic tasks with a computer, then to step a little deeper and a little deeper. But no, I am not allowed, control is taken away from me and I am thrown in the deep end before I'm ready, and I rebel against that.
The problem is that the swimming pool of Linux has no shallow end that does anything of use or purpose. I understand that to the hacker mentality, learning some obscure technical info is a use and purpose unto itself. Not so for the non-technical user. Actual useful purposes include web surfing, listening to music, drawing an image, word processing, and actually installing programs. Installing programs is so basic and fundamental to the computing experience that it absolutely must be available at the shallow end of the swimming pool. Or at least have two options: 1. the deep-end way to install programs and 2. they shallow-end way so that you can get some good purpose from your expensive hardware and it isn't going to waste while you learn the deep-end way. Otherwise you have to get through a steep learning curve before you can do the most basic and fundamental acts of computing.
This model is why I have expert level knowledge of desktop publishing software. During that time that I was learning it I could create small crude artworks. If I needed expert knowledge before I could even do simple things, I would never have gotten past the barrier.
drkelso on Jul. 4, 2005 8:26 PM
I'm a windows person myself and have been using DOS ever since way back. As for the evilness of the command line, I would tend to agree when taken from the viewpoint of the average user. The one redeeming quality of it though is from the server admin point of view. Many times a server admin will need to set up batch files to execute entire series of commands and programs at certain points in time. That's when the command line is most useful.
However the basic everyday user shouldn't have to mess with it.
matt-arnold on Jul. 4, 2005 8:49 PM
Right, it is a great tool for power-users. All that I have been saying is that it shouldn't be a requirement at the entry-level. There really are obvious decisions that the computer should make for the novice user to prevent a barrier to adoption. Call it "Linux n00bs edition."
Fortunately the more I poke around in GNOME the more I find that the advice I'm getting-- telling me I have to use the command line-- is just not true.
paranthropus on Jul. 4, 2005 3:55 PM
You seem rather headstrong at sticking with your decisions, once your mind is made up, so I don't know if this will do any good. I can tell you, though, of a concrete benefit of learning to use the command line which comes from personal experience. Almost every animation and special effects studio in Hollywood uses Linux. The movies that you watch were all probably assembled on a Linux machine using specialized shell scripts, typed in on the command line. I use Linux daily in my work as an artist in the animation field, and without being able to use shell commands I would literally not be able to do my job. It's not a geek thing. Trust me.
I started using Linux years back, when I became fascinated with the SGI machines at my previous employer. Not wanting to screw around with the work machines, I searched for something that I could put on my home machine and found Linux. At the time, there were virtually no applications applicable to my field that ran on Linux. I learned it inside and out, though, and by the time Linux gained a foothold in Hollywood, it was second nature to me. I now have the quiet satisfaction of being able to handle light-duty tech support, diagnosing problems and helping out my fellow artists. Occasionally I'll even stump the regular tech guys. Admittedly, some of the knowledge turned out to be not so useful (nobody ever rolls their own Xserver modelines anymore), but even unused information helps build neurons. Few artists learn Linux in depth. Most are, of course, Windows or Mac users at home. If that's more to your liking, so be it, but everyone learns what they need to learn to get by.
Sure, as I get older and feel the press of time on my shoulders I grow less patient with learning impractical skills, but I have also, with experience, learned to discern the practical from the impractical. At home I use a Mac now because I need those artsy tools that Linux could not offer, but I only got a Mac after Mac got Unix and I could have my cherished command line. Learning to use the command line is very practical, even for non-techs like myself. Just the other day I discovered how to use Ghostscript on the command line to translate an EPS file to an Illustrator file. This provided a crucial bridge between two software packages that I intend to make use of in an upcoming animated short of my own creation.
Use Windows if you wish. Many people do, and it may fit your needs just fine. You will, however, always have a veil between yourself and the true power that your machine can offer. You will be stranded in a world of grandmas and gamers, script kiddies and spam zombies. You will also encounter the inevitable Windows annoyance that will have you waxing nostalgic for Tux. The price of entry to Linux is not too high, and the rewards are great if only you can endure the occasional frustration. I know you have the intelligence to tackle it, even if it seems right now that you lack the patience.
matt-arnold on Jul. 4, 2005 5:34 PM
At the prompt:
root@Rachel:/home/rachel #
I typed:
./setup.sh
I'm getting this response:
bash: ./setup.sh: No such file or directory
I don't know how to tell it that I mean to access the CD drive. Is that what ./ was intended for? Stupid secret club handshake. This is tragically un-necessary. If the computer had a damn tutorial it would have just given me my options instead of having to go to other people and wait for them to answer.
paranthropus on Jul. 4, 2005 5:57 PM
You need to be in that same directory that the setup.sh script is located. The ./ is a way of saying "look in the directory that I am located for a script called setup.sh, and run it". You are currently located in /home/rachel, not in the CD drive. Move over to the CD drive by typing "cd /mnt/cdrom0", then try it again.
matt-arnold on Jul. 4, 2005 6:10 PM
root@Rachel:/home/rachel # cd/mnt/cdrom0
bash: cd/mnt/cdrom0: No such file or directory
So I tried it with a space, because there was one in your instruction.
root@Rachel:/home/rachel # cd /mnt/cdrom0
bash: cd: /mnt/cdrom0: No such file or directory
The CD is in the drive; I checked. It still appears on the desktop too.
paranthropus on Jul. 4, 2005 6:21 PM
try "grep cdrom0 /etc/mtab". That will tell you where the CD is mounted.
matt-arnold on Jul. 4, 2005 7:41 PM
root@Rachel:/home/rachel # grep cdrom0 /etc/mtab
/dev/hdc /media/cdrom0 iso9660 ro,noexec,nosuid,nodev,user=rachel 0 0
paranthropus on Jul. 4, 2005 7:47 PM
Well, that's unusual. Normally removable disks would be placed under /mnt.
The CD is mounted under /media, so "cd /media/cdrom0" will take you there.
matt-arnold on Jul. 4, 2005 8:16 PM
bash: ./setup.sh: /bin/sh: bad interpreter: Permission denied
Remember, this is 's laptop. It does not matter whether it is useful to you or . Just to the people whose laptop it is. Look back at what we have had to do in the command line and tell me that she should have to learn all that language just to run something from the disk. She is laughing so hard Pepsi is coming out of her nose. It doesn't matter how robust, powerful and efficient it will be someday after she learns it. Until then the command line is the Linux equivalent of the blue screen of death. I'd rather take the blue screen of death because at least that isn't a deliberate design choice.
Happily, I just found this:
Ubuntu loves us and wants us around. Ubuntu forgives us for the crime of not knowing the secret shell handshake. Ubuntu wants us to adopt Linux so that we can learn the command line interface eventually. Nice Ubuntu, we'll take you home.
paranthropus on Jul. 4, 2005 8:29 PM
The crucial difference here is that the BSOD is the point where the computer stops working, and the shell window is the point at which the users stop working. Many of them, anyway.
Very cool that you found a GUI for managing your removable disks. Even better that the Gnome designers chose to write AWESOME! on top of it. They are justifiably proud of their work :-)
It still does not solve your Tux Racer problem. The "bad interpreter" error is a new one for me. I think that if you want to proceed, we may need to peek inside that script.
matt-arnold on Jul. 4, 2005 8:52 PM
Yeah, that is a crucial difference.
So this is a problem with the individual disk? I don't want to poke around inside scripts at this time. The CD has failed and it's time to administer judgement rather than reward it for its failure. Goodbye disk.
I used Synaptic package manager to install Tux Racer from the internet. But now I don't know how to get it on the Applications menu or make an icon for it on the desktop. I can't find GNOME Menu Editor anywhere.
paranthropus on Jul. 4, 2005 9:21 PM
Many Linux vendors like to do their own customizations, sometimes with the intent of making things easier for the end user. These deviations from standards often make things un-necessarily confusing, like Unbutu's placing of discs under /media rather than /mnt, for instance. The Gnome menu editor is apparently not in the usual place, so it looks like you are just going to have to dig for it. Start poking around in the menus for something called "Menu editor". It's bound to turn up. Perhaps if Unbutu has some kind of unified configuration tool, it will give you a way of editing the menu. You will need to locate the "Tux Racer" binary, in any case, and that means cracking open the command line again (perhaps "which tuxracer" ?). Then again, perhaps Synaptic was nice enough to install a menu item for you. Have you checked the games menu?
Happy searching.
matt-arnold on Jul. 4, 2005 6:16 PM
root@Rachel:/home/rachel # which rosegarden
/usr/bin/rosegarden
What does this mean? How do I find Rosegarden? Is a bin a binary? And please tell me if I run the binary the program will go in the Applications menu.
paranthropus on Jul. 4, 2005 6:34 PM
It means that rosegarden is installed in your "path" as an executable, in other words, it can be run from the command line anywhere on your system. If you want to add it as a menu item, you will need to manually edit your Gnome menu using the GNOME Menu Editor. This is located in your "Settings" menu. If you get a permissions error when adding a menu item, you will need to run the menu editor as the root user. To do this, from the command line type "su" (return key), then type the root password, then type "gmenu".
Thw Menu Editor should be fairly straightforward. Click "New Item", give it a name (Rosegarden), and enter the full path (/usr/bin/rosegarden) in the "Command:" field. Exit when done, and you should be all set.
"su" will switch the current shell window to "root" mode. In order to switch back to the regular user, type "exit".
matt-arnold on Jul. 4, 2005 7:17 PM
root@Rachel:/home/rachel # su
root@Rachel:/home/rachel # here's where I typed the password
bash: the password: command not found
root@Rachel:/home/rachel # gmenu bash: gmenu: command not found
I think it's because Ubuntu treats root differently. I have heard the term "pseudo-root" used.
I found Synaptic Package Manager and it is making me very, very happy.
zifferent on Jul. 5, 2005 2:33 AM — This is Ubuntu
This is Ubuntu and there is no Super User. To run something form the command line as an Administrator, type:
sudo {command}
It will then ask you for a password. Type in the password of the logged in user. This is a safety mechanism that allows an Administrator of the system pass out Admin rights on an as needed basis.
To install tux racer and tux kart, go to a command line and type:
sudo apt-get install tuxracer tuxkart
type in your password at the prompt
After its done, type tux and press the key twice (this is tab completion, verry good stuff!)
Bash will spit out anything within your path (a list of directories that bash looks for programs in) that starts with tux.
type in the next letter of tuxkart e.g. tuxk, and press only once this time. Bash will fill in the rest.
Now hit enter. Tuxcart will start
You've now learned sudo, apt-get install, and tab completion.
I'll cover desktop and Gnome menu icon creation in the next lesson.
Thanks,
Dan
zifferent on Jul. 5, 2005 2:38 AM — Re: This is Ubuntu
GAA! I hate how anything you type in between less than and greater than signs is treated as a tag! My Yahoo! webmail does the same thing.
In any case it is supposed to read "press the {tab} key twice"
and "and press {tab} only once this time."
Sorry about that
matt-arnold on Jul. 4, 2005 5:57 PM
"You will also encounter the inevitable Windows annoyance that will have you waxing nostalgic for Tux."
Perhaps you copied and pasted this from a conversation you had with someone else who was a Linux user going back to Windows, instead of a Windows user trying to adopt Linux. Nostagia would require that I have good memories of Linux, which Linux has prevented me from acquiring. I have never had a good Linux experience.
mjwise on Jul. 4, 2005 8:53 PM
Matt,
I used Linux back in the halcyon days of 1996-1999. I generally have good memories of Linux, but I can't help to think part of that was that I wasn't actually trying to get any work done with it and I was just using it for the fun of it. You just had to get used to the shell/command line to compile/install things. Back then there was basically no graphical installation tools for anything. I kept a Windows 3.1 machine around because I never could get any printers working in Linux. I wonder if that's any better nowadays??
Now, I used BeOS from 2000-2001. That was truly fun to use, was amazingly fast even on my old Pentium 200, and had a tightknit community. Sadly, Be went under and I had to stop using it when I got a new computer because it didn't support any new hardware. Ever since I have been using Windows 2000, and I'm more or less pleased with it, and I don't have any choice really anymore because programs I need to use for school and such just don't have good Linux equivalents, and even if there are good equivalents, the learning curve is always much steeper.
zifferent on Jul. 5, 2005 3:50 AM — Hang in there, Please!
I want to state that the kind of experiences and pain that you are going through is exactly what Linux needs to eventually appeal to increasingly inexperienced users in the future.
You're frustrations when properly voiced can be used as suggestions to make the product better, and that is why it is important for people like you to take on Linux. At this point, you're an early non-Linux-geek adopter. I applaud your bravery, patience and determination up to this point.
Now, to get an icon on the desktop in four easy steps:
1.) , right click an empty space on the desktop and select Create Launcher (note this works on the toolbars to create a quick launch button also)
2.) In the box provided give the shortcut a name, this can be anything you want.
3.) Next in the box labeled Command type in the name of the program you want to run, or you can just click Browse and go find it, but most likely if you installed via Synaptic it will already be in your path and just a name of the program should suffice. (no path necessary)
4.) Finally, click on the button labeled, No Icon and select an icon for that bad boy and click OK.
Your icon is now created.
Editing the menu is a bit more complicated than that, but not much more. I'll include quick and simple instructions a bit later.
Hang in there,
Thanks
Dan
matt-arnold on Jul. 5, 2005 4:28 AM — Re: Hang in there, Please!
Dan, thank you for the help!
Rachel and I just spent the evening at the home of the conchair of Penguicon, Aaron Thul from ArsTechnica, who you know. He showed me how to do everything I wanted without me ever touching the command line. I used Synaptic Package Manager to install KDE Kubuntu. It managed auto-finding new network connections better! Also I have had no problem in KDE getting Applications Menu items for new programs, many of them automatically set up. I am definitely enjoying KDE more. GNOME was cleaner and more attractive but didn't do some of the automated things it was supposed to do. I even got Kubuntu to set up the "Human" appearance theme from GNOME Ubuntu.
Also, it seems to not be true that KDE/GNOME cannot auto-assign file types to programs. I saw it do so several times. I am greatly encouraged. I think the real Linux is not so obscure and hostile as it was made out to be.
paranthropus on Jul. 5, 2005 10:59 AM — Re: Hang in there, Please!
I'm glad things are starting to work out. KDE is a better choice, in my opinion.
The only reason I gave you a command line way of doing things is because I know it will work. GUI's change, and Linux is very easily customizable. There is no use compounding your frustration by asking you to hunt for icons that your particular system does not have. If you can find a GUI solution, though, so much the better.
scottym on Jul. 5, 2005 11:10 AM
A-fucking-men brotha.
I hate to say it, but the "Linux Revolution" will never happen. EVERY Linux-based GUI that I have played with has had MAJOR limitations.
I have ALWAYS had to revert to the command line.
Sure, with Linux I have complete control over the OS, right down to the hardware level, but for most tasks this is just silly.
Linux is good for routers, devices, and other such smaller and more specialized application. However, when it comes to a desktop, workstation, server, or any device that I have users interfacing with on a very regular basis, Windows makes things easy.
I have a love/hate relationship with the command line.
Love: Boy, I can control everything and make this machine do anything and everything I want it to. I can add hardware easily, play with files, and do all sorts of stuff that I didn't have access to in my Win machine...
HATE: Why should I have to if the technology is out there to handle most of this for me?
There is too much of a time investment in Linux.
It's not bad, it's just not good enough.
wolfger on Jul. 6, 2005 12:10 AM
You don't sound like your mind is changeable, but I have a few comments to make:
I wind up resorting to a CLI on Windows on a weekly, if not daily, basis.
I have never tried to avoid using a CLI on Linux, but I'm fairly certain it's possible.
Windows 2000 crashes on me fairly often. Maybe once every 3 weeks on average.
As far as the "revolution" is concerned... My crystal ball is cracked. But I can clearly see that more and more people are switching to Linux. Not necessarily in this country, but around the world it is happening. Windows will probably never go away, but Linux will become more commonplace and better accepted.
brendand on Jul. 6, 2005 12:18 PM
I'm glad to hear you've got some sense knocked into you. I agree with a lot of what Bill wrote (somewhere) about being an OS atheist. Some are better than others in some ways, and Windows is necessary because that's what you know, and the only option that allows you to do what you need to do for work.
My problem with Unix is not so much that I have to use the command line. I have fond memories of DOS. I always like learning how to do new things in DOS. But DOS is in my head. I don't want to have to learn new commands that often do the same thing. Why should I have to learn "Pico" when "Edit" works fine *AND* makes sense to me?
My problem with Unix is that if when something goes wrong with my computer, who is going to fix it for me? If something happens on Windows, it will "fix itself" but with Unix, I'm at a loss. It won't fix itself. It'll just sit there, broken. I'm not going to be a Unix expert until I've been using it for years. And I'm not going to use it until I'm comfortable with it. (Or if I found a job where it was installed on my computer, and someone else did all the fixing for me.)
Mike says he had fine memories of Linux but now uses windows. I'm glad to hear it. I'm glad other people are standing up for using what works, and being content with it.
Leave a Comment