:\ Suggestion: GUI, not terminal!

This could have gone in chit-chat. This isn’t really a strong opinion, it’s just a suggestion based on my own experience with helping new users to become accustomed with Open Source in general, and Opensuse in particular.

I’ve seen plenty of threads here where a new user will say, “I’m having a problem with [insert device name here].” Those of us who’ve been using Linux for years are comfortable working in a terminal, and without even thinking, we’ll say, “open a terminal and type in ‘gnarlie-widdie -t -? /K > doodat < mamma’ or something like that. Post the results here.”

(The joke was intentional. That’s what the command line looks like to a new user, especially someone who’s switching from Windows or Mac to Suse.)

(We’ll ignore the fact that a new user might not even be aware that he/she can highlight text in that terminal, select “copy” from the menu and then past it that way. I’ll bet you a cookie that many of them laboriously hand-copy the output … or despair trying, which explains the threads that die after such a post from someone who’s just trying to be helpful!)

Several points come to mind.

  1. Yast is a truly incredible tool. Having to use CentOS at work has made me really appreciate it. Cent’s a GREAT distro, rock-solid and stable, but it’s just not as easy to configure. Just to name one, Yast’s firewall configurator is one of the best “stock” firewall tools in the business. To my pleasant surprise, you can even do masquerading and other advanced config with it. You should only have to edit the iptables for really esoteric, advanced stuff.

Remember, too, that Yast can be run from a command line. This is ideal for a user whose X has blown up and who’s stuck in text mode. But on that subject …

  1. Many times, when we suggest that cryptic-looking command line to a new user, there’s actually a much easier (for a new user) way to do it in Yast (GUI or text mode). For example, I might catch myself saying, "open a terminal and type “service [name] status” or “/etc/init.d/service-name restart.” I’m trying now to make a conscious effort to say instead, “go into Yast → System → Services (Runlevel) …” That’s a lot more intuitive for a new user. Heck, now that I’ve used it for while, I like it better myself. :slight_smile: And instead of saying, “enter cat [somestring] > some_sysconfig_file,” why not point them to Yast’s excellent Sysconfig editor?

  2. There are plenty of (at least pseudo-)graphical tools now for solving even the most complex problems with hard drives. The GNU Parted CD is a great example. I’ve seen threads here where someone has lost their Grub configuration, and the back and forth might go on for days, post after post, with tons of command-line gibberish for the poor Newbie to try to follow (without making a mistake that could cause even more damage).

In many cases, if we’d recommend that GParted bootable CD, and walk them through its menu (it’s really not hard to use, just confusing at first – but CERTAINLY not as confusing as Grub’s cryptic command-line syntax!), I think they’d have their problem resolved much more quickly.

I realize that there will always be some problems that just cannot be solved with graphical tools. But my opinion is that, if there is a Yast or other config tool that will solve a new user’s problem, we should recommend that FIRST, before sending them straight to the command line.

Just my opinion, and worth exactly what you paid for it. :slight_smile:

When it’s clear to me that the poster is using the GUI, then I recommend YaST. When the question relates to a CLI issue then I talk about commands. Sometimes I offer both choices, as in “you can enable this service with YaST or use chkconfig”. Sometimes you really need the CLI, because at the GUI, all that happens is literally nothing, but running the program from the CLI shows missing libraries.

Often I ask for the output of a command when I need more system information, unless it seems that the poster doesn’t know what a terminal is, in which case I usually stay out. I’m not keen on viewing kilobytes of screen shots to locate the one line that contains the clue. Questions that need text output tend to be tough ones anyway, like routing, or services not running.

Generally I feel that if a poster feels that the level of the explanation is too deep, they should ask for simplification or elaboration. It is absolutely the right thing to do. It’s a two-way street, helpers can’t be expected to anticipate every possibility at first reply.

PS: SuSEfirewall2 should be edited using YaST, or if expert, with an editor on /etc/sysconfig/SuSEfirewall2. There’s no need to resort to bare iptables commands. You have to save the config somewhere, and both the GUI and editor save them in /etc/sysconfig/SuSEfirewall2.

Very often, the CLI commands offer the simplest route to providing relevant system info or invoking some configuration to solve a problem. A couple of lines may turn into a couple of paragraphs or jpegs to explain from a GUI perspective. However, I know there is often a learning curve involved, on a number of fronts simultaneously, when trying to understand and implement the replies.

Most of the advanced users assisting understand this, and I have admired the skill in which they can prompt the OP for key info that can quickly expose the problem(s) and assist with the solution(s).

These days more often than not (as compared to a mere few years ago), yes there are simple GUI methods to solve problems. And I will give that method as an easy solution. However I’ll usually follow it up with command line steps, and occasionally a detailed breakdown of what each command/flag/option is doing. Not just for the person who’s asking, but for anybody else who in the future might stumble across the thread in the future.

I like using the GUI as much as the next guy, however I also like knowing what commands are being executed when I click on anything.

That’s one of the pitfalls Windows presented to its users after it evolved past 3.x and into 95. Prior to then, using a terminal in Windows was commonplace and even the least knowledgeable user had a basic understanding of how their operating system worked. You can still use a terminal in Windows to this day, however it’s ease of use is so crippled it’s not worth the effort in most cases. Which as a result, created masses of users who’re not more than mindless drones (no disrespect to windows users intended…couldn’t think of a better description) when it comes to operating their Windows machines.

I like to think the Linux community does all it can to prevent the same from happening (although, eventually one day it will).

Actually, I think (for the server versions at least) microsoft has been putting some effort into making the commandline more usable again? Also everyone needs a PC nowadays, unlike a few years ago. As the amount of users increases and their willingness to learn decreases as they’re ‘forced’ to use the computer I agree that everything should be configurable without any commandline.

Anyways… more on topic.
Well both ways of help have their up and downside. If you simply list
Paste the following 5 lines into a console, then that’s a lot less to type and faster to execute for the user.
HOWEVER! chances that they understand what’s going on and are able to apply the same thing to a similar situation later on are slim at best.
It might also reinforce their believe that linux is for geeks only (think that was the point you were trying to make) which isn’t a good thing.

I try to always provide a solution in the graphical form unless I’m short on time (and actually know the commandline alternative).

For install tasks I tend to write down what to do in yast software management and then write down the same thing with zypper commands. Might get the user familar with the commandline and their opinion of it being for geeks only might soften a bit.
It’s also the only thing I prefer to do in a console myself, at least if it’s installing something fast… looking around for a package without knowing the exact name I prefer to do the graphical way.

Tell me about it. One of our firewalls runs Opensuse 11.0 and my predecessor did it ALL with raw iptables. He then did an iptables-save to make it permanent. If you even bring up the firewall in Yast now, it warns that there’s already another in place and that changing anything will destroy it. The SuseFirewall2 service is disabled.

It’s a great firewall, though. If your MAC address isn’t in the tables, you gets no Internet. And that’s just for starters. :slight_smile:

Ah, I see your predecessor was a macho sysadmin. Leaps over dozens of lines of iptables rules in a single bound. lol!

One clarification: by itself, GParted is great, but only (obviously) for partitions. I was tired when I wrote that and forgot to include the Supergrub boot disk, the other indispensable tool.

To address some of the comments here: I said that there were indeed times that the CLI would be required. When a GUI program won’t start, even a newbie can open a Konsole and enter the command there to see if error messages come up.

What I was referring to was the tendency for some old-timers here, especially the ones who were raised on Unix and then moved to Linux, to just automatically start flinging CLI commands at an absolute newbie right off. I realize that’s just second nature. I also agree that everyone needs to become familiar with the terminal and the commands that can be executed there.

But I’m thinking of absolute, green newbies. Like I said, there have been posts here that start with, “I’m new to Linux, I just installed 11.1 and now Windows won’t start!” or something like that. I’m not speaking of requests that begin, “I’ve been using Linux since Kernel .0001, and Suse is doing something I don’t understand …” Shoot, in that case, the poster undoubtedly knows more about the CLI (and Linux in general) than I do. :slight_smile:

You have no idea. I thought I knew iptables until I looked at his. He’s also doing a ton of masquerading against a single incoming static IP from the Internet; there are two dozen different port numbers targeting all sorts of different machines on the internal network. Updates for the office AV system go to one specific machine, which then automatically distributes them as needed. He’s even blocking a URL or two in there. (I didn’t even know raw iptables could do that!). I was amazed and impressed. :slight_smile:

I admire the skill, too, but here’s what scares me. The OP starts off with, “i am new 2 linux an when i instaled it my suond card don’t work i need help pleeez!!!11!” The poor newbie can barely type to start with. What are the odds that he/she is going to make a typo entering a complex command that might hose something else?

Personal opinion, and everyone has a pet peeve … but one of my biggest is telling a newbie to use “cat [string] > config_file.” At the very least and if at all possible, have them use “File Manager - Super User Mode” to open that file in Kwrite so that they can SEE what they’re doing!

Excellent post smpoole. I know when I first came to Linux I faced the same thing when I needed help. This was from the paid support you get from buying the official disks. In that case, though I was willing to follow instructions, I could make neither heads nor tails of them. If I recall I could not access my DVD drive in openSuSE 10.0 and the help fellow told me to send him a copy of the startup log. I ask him how I was to do this since I did not know what or where it was. Complicating this was I was on dialup at the time and I could not send anything while I was talking on the phone. Something the Help guy did not readily understand. Anyway He gave me a string of foreign sounding commands to type into something somewhere in SuSE. I did my best but it did not work so I told the guy that I would work at it and see if I could send him the info requested. Never got a response once I did.

Needless to say I just about gave up again on Linux. However I was saved by finding a SUSE Forum on the net and starting to read through similar problems. Some folks on Forums are better at explaining then others and understand that new people do not instantly get it. It does help tremendously if the new person is willing to help themselves by working at understanding.

I have strived to stick to using simple steps when explaining things that only need simple steps. Though you will note that the majority of the questions on this Forum are will beyond that of common users. Many are from highly technical folks that are doing things that even the question is not understood by us common people. I do find it surprising that those people will then complain that they can not follow more complicated steps. Or sometimes be unable or unwilling to even try simple things.

But yes, most often there is a Gui method of accomplishing tasks and it is fairly easy to use. I always give a chuckle when I read of the people that religiously give command lines to accomplish the task to a new person rather than go to YaST>Software>Software Management>Search, give program name, check version, install.

On Thu, 12 Feb 2009 07:06:01 +0000, smpoole7 wrote:

> I realize that there will always be some problems that just cannot be
> solved with graphical tools. But my opinion is that, if there is a Yast
> or other config tool that will solve a new user’s problem, we should
> recommend that FIRST, before sending them straight to the command line.

Well, on the one hand, I can’t disagree with this; on the other hand,
though, when you get a community with experienced users, a lot of times
the experienced users will only do things using the CLI because it’s
faster (or for whatever reason).

IOW, people respond based on their experience, and their experience is
based on what works for them.

There’s always many ways to accomplish tasks, and I know that I (for
example) might be more familiar with the CLI than the GUI for performing
some tasks, and I might not even be familiar with the GUI for doing the
same task.

So does that mean I shouldn’t answer because my method is CLI? I don’t
think so, but I should present what I know as an option.


Sure. I guess part of what I’m saying is that experienced users ought to look at the non-CLI alternatives, rather than just stick with what’s comfortable. In other words, LEARN all that Opensuse has to offer. The people who wrote Yast and other easy-config tools put a lot of work into them, and we ought to use them.

I’ve been making a conscious effort to do this for the past several months, and have been surprised to learn that in many cases, I prefer Yast, “File Manager - Superuser Mode” + KWrite, and things like that. But I still catch myself, from time to time, dropping into a Konsole, typing “su” and then “less-ing” or “cat-ing” a log or config file. Old habits are hard to break …

I DEFINITELY prefer the Supergrub boot disk to using Grub’s utterly incomprehensible CLI, and think that anyone who prefers that CLI should be quietly led away to a nice padded room. :slight_smile:

(Wait … was that a “strong opinion?” I guess I posted this in the right section after all!) lol!

I can see the Command Line being helpful is

  • Need the output, so the user can copy-paste the output in the forum
  • Gnome has one application and KDE has another and the two are very different.
  • The user is using something other than openSUSE (and yes, it happens)

Could be helpful if it were easy-as-pie to take screen shots of windows and post them in a series of “how to do this” in the forum (or a section on the openSUSE Wiki for doing the same thing easily)

Believe me, in that respect, you’re quite different from most users. We maintain a bunch of Windows workstations here at the office and it’s fun listening to my assistant field calls all day long. The VAST majority of the complaints are

  1. “Can’t print.” (Most often, the printer is just busy or is out of paper.)
  2. “Can’t get my email.” (Thanks to our poor, overworked DSL connection.)
  3. “My computer’s acting really slow and weird.” (They’ve clicked on an attachment, or have downloaded something, or have installed a dozen adware widgets without our permission, and they’ve somehow gotten past the anti-virus/malware/adware scanners. It happens.)

Over and over, all day long. Most users just want to be able to USE the things. They could not care less what happens when they click the Office icon to create a Powerpoint presentation, or the Outlook icon to check their email. Those whom I’ve tried to convert to Linux are perfectly willing to learn how to use it (within reason), but at the end of the day, they have work to do, they’re on a tight schedule, and they just want to click an icon so that they can WORK.

What you’re talking about is the ideal, not the reality. The fact that you and your small circle of acquaintances might feel that way does NOT apply to most users. Believe me. :slight_smile:

On Thu, 12 Feb 2009 15:46:01 +0000, smpoole7 wrote:

> Sure. I guess part of what I’m saying is that experienced users ought to
> look at the non-CLI alternatives, rather than just stick with what’s
> comfortable. In other words, LEARN all that Opensuse has to offer. The
> people who wrote Yast and other easy-config tools put a lot of work into
> them, and we ought to use them.

I think everyone should continue to learn as they use a system, but when
you’ve got a way to do things that works, most people think time is
better spent learning how to do new things rather than learning different
ways of doing things you already know how to do. :slight_smile:

That’s the beauty of a forum, though - I can post a CLI-based answer and
someone else who has spent the time learning a GUI way of doing things
can jump in and say “hey, you can also do it this way”.

I know, for example, I can go into YaST and change the runlevel settings
there. But for me it’s far easier to use insserv or chkconfig to do that

  • it’s faster, for one thing, and IME it’s more reliable.

So if someone asks how to configure atd to start in runlevels 3 & 5, I’m
probably going to say “open a terminal window and use chkconfig or