You are not logged in.

#1 2012-05-02 03:55:03

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Here, have a GUI

Over the past decade Linux has gotten much more competitive, on the desktop and in general. For some features (e.g. virtualization) it leaves other OSes completely in the dust. On the big desktop distros, despite the constant changes under the hood, things have gotten to the point where you can pop a CD into a computer and 10 minutes later have a fully functional desktop. Even with the recent KDE 4/Gnome 3/Unity nosedives, it's pretty good all told....

Unless you prefer cobbling together your own desktop. Then it takes all kinds of crude hacks.

Case in point: udisks/upower/ConsoleKit. ck-launch-session is entirely broken on many distros (I'll give Arch credit, BTW, for not being one of them); and it also makes launching X without a login manager more annoying, because you can only attach ck-launch-session to one process at a time. Yay.

Case in point: mounting stuff. Darwin has a daemon and client for this (see 'diskutil'); it's used by the CLI, it's used by OSX applications, everything Just Works. Not so on Linux. You want to mount stuff, you need either a GUI (and udisks and ConsoleKit and friends), udisks (whose syntax may change, and which again needs a ConsoleKit session), or pmount (which works, but is quite limited). The whole thing's a complicated mess.

Case in point: power management. On *BSD you run 'apm' and get a battery level; 'apm -z' suspends the machine. On Linux you can use sudo hackery, or you can send an incredibly verbose message to dbus and hope that you got the syntax right (and that ConsoleKit has granted you the right permissions). Or you can use upower... Oh wait no, you can't use upower, because its CLI doesn't support anything but gathering information.

Case in point: network management. On OpenBSD, iwconfig lets you connect to WPA or WPA2 encrypted networks; you can just type in the command and the passphrase, run dhclient, and you're connected. On Linux, you have a choice of editing wpa_supplicant's config file just to connect temporarily to a wireless network, or using wicd-cli or wicd-curses, which are bulky Python scripts with a dubious security history. You can also use nmcli, the network-manager command line client... Oh wait no you can't, because it doesn't support connecting to "new" wifi networks, i.e. ones you haven't already connected to with the GUI.

My point is, Linux GUIs have (until pretty recently anyway) gotten progressively better integrated and more friendly. IMO that's good. But also IMO, the command line environment (at least when it comes to desktop tasks) has not gotten better integrated and more friendly. Under the hood, things are a bit of a mess.

That's my take, anyway...

I'm interested in people's opinions on this though. Am I just ignorant of some of the developments, and missing out on something? Or are the graphical and command line environments really getting out of sync? If so, what do you think is the root cause? Seeing as many users are not at all interested in running a standalone window manager, or logging in without GDM/KDM/etc., do you think this should even be considered a problem?

Offline

#2 2012-05-02 05:14:17

Diaz
Member
From: Portugal
Registered: 2008-04-16
Posts: 366

Re: Here, have a GUI

From all the points you raise, the one that happens to me the most is the one related to the network-manager. Ok I know I can use other "frameworks" (like ntcfg, wpa_suplicant, etc etc) but if I have that one installed and is the one I use when in GUI mode I'd really like to be able to use it also when on CLI mode. This worries me.
Nmcli is not good enough and for as far as I know there is not an updated tool to use network-manager from the command line.


wink

Offline

#3 2012-05-02 08:50:30

geniuz
Member
Registered: 2010-04-10
Posts: 127

Re: Here, have a GUI

In my opinion, the great thing about Linux and especially Arch Linux is that you can yourself decide the level of complexity in your system. Most of your points I guess are valid if dealing with DEs like Gnome or KDE, but then again these have been developed from the point of view of non-expert users, where most things simply configure themselves and work out of the box as much as possible. This naturally increases complexity and makes it more difficult for expert users to fiddle with, but also lessens the chance that non-expert users accidentally break something. So I guess whether this complexity is a feature or a burden merely depends on your point of view and has little to do with where CLI development in Linux is going.

Furthermore, don't forget that many tools for the CLI are designed to be used by expert users and mostly adhere to the Unix philosophy. Therefore, they are kept as simple as possible. This means relatively little effort is required to keep things working smoothly for an extended amount of time and might explain why it hasn't gotten more "friendly" in your opinion. It just works.

Myself, I like to keep things as simple as possible and use the CLI with its many tools on a daily basis. Things like automatically mounting devices, which I dont even desire and prefer to handle by means of some simple aliases, can be configured directly through udev if desired. Any permission related issues are easily handled by sudo, where you can specify in detail for each user or group which set of commands they are allowed to use with/without prompting them for a password. Network configuration is also a breeze with netcfg (one of the reasons I like Arch so much) and I haven't encountered a single situation where this set of ingenious scripts didn't work, even for quite complex networks. To conclude, if you do not agree or do not like a CLI program for any reason, there are many alternatives available. If none of the alternatives suit your needs completely, either write a patch for the one that comes closest or write a new tool from scratch. If you are unable to do the latter, you can always submit a feature request and hope for the best. That, I believe, is the true Unix way.

Last edited by geniuz (2012-05-02 08:52:22)

Offline

#4 2012-05-02 11:30:11

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,449
Website

Re: Here, have a GUI

geniuz wrote:

In my opinion, the great thing about Linux and especially Arch Linux is that you can yourself decide the level of complexity in your system.... Furthermore, don't forget that many tools for the CLI are designed to be used by expert users and mostly adhere to the Unix philosophy.

+1

This is also the Arch philosophy of being user-centric rather than user-friendly.  I don't want a "user-friendly" tool.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#5 2012-05-02 11:43:13

aurinkolasit
Member
Registered: 2009-07-02
Posts: 27

Re: Here, have a GUI

I agree with the OP that some it's nowadays unnecessarily difficult/inelegant to accomplish certain tasks with CLI apps. For me the gold standard is the traditional UNIX application stack in its current resurrected form (bash, vim, tail, rsync...). These are apps that are fun to use, logical and powerful...we all know this.

I don't know how UNIX was organized, but on Linux I've observed first hand what kind of system you get when you have (a) practically free memory (b) bunch of folks who adhere to the open source attitude ("Let me do whatever I want, man..") and (c) UNIX and GNU/Linux "features" that just refuse to die. These are the aspects that explain most of what is crappy about my system.

Point (a) guarantees that you have a working system even if you have numerous apps that do the same thing (be it GUI or CLI). Point (b) guarantees that there will always be a certain fragmentation in the combined developing effort because on the one hand devs may not know about existing good libraries and on the other hand not all devs seem to want to solve their programming problems with a cold-blooded engineer's mindset but mix theirs with ideology and sometimes even arrogance. And once a genuine improvement is found, point (c) makes it so that the improvement is nearly impossible to incorporate it to the canon of CLI apps in the whole of Linux ecosystem. Take all the build automation scripts/apps as an example...you'll still have automake/autoconf on your system no matter how clever you are with your project. Or source revision systems... Or the birth pains of PulseAudio and systemd. Ubuntu wants to be a deviate in the latter but not in the former project that were both begotten in the freedesktop stables. Makes sense?

Yeah, it could be nice if for example the freedesktop folks sat down and thought about harmonizing their CLI tools so that they could be more intuitive. For example: how to have a fool-proof way of launching a DE of choice from the command line without startx or hack scripts. And on an utopistic note, there should some kind of force that would weed out truly deprecated solutions and make it harder to reinvent the wheel. Unfortunately, this seems to be an impossibility.

Offline

#6 2012-05-02 12:38:04

Oxyd
Member
From: Czech Republic
Registered: 2008-01-17
Posts: 167

Re: Here, have a GUI

Well, hasn't the whole point of Linux always been "to create a complete Windows replacement"? Since Windows is heavily geared towards GUI solutions, it isn't all that surprising to me that the same's been happening here as well. I fully expect that in a few years' time we'll get some brand-new, ultra-shiny architecture that ties together systemd, some login manager, GUI network tools and whatnot, and booting into CLI alone will be a pain in the least.

It's a product of this whole "You don't need Windows, heathen, GNU/Linux is for everyone! It isn't? Oh, let's fix that, then!" I've always been against this approach: Linux should not be for everyone, it should be for people who know what they want. Otherwise you'll get .. well, today.

Offline

#7 2012-05-02 12:54:49

seveg
Member
From: Bratislava, Slovakia
Registered: 2012-04-17
Posts: 33

Re: Here, have a GUI

Well, hasn't the whole point of Linux always been "to create a complete Windows replacement"?

I don't see to Linus head, but I really don't think so..


Just another drug abuser..

Offline

#8 2012-05-02 13:14:08

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,449
Website

Re: Here, have a GUI

I don't think linux is for everyone either; it's for anyone.

Anyone who wants to learn how their computer works.  Anyone who wants control of and responsibility for their own system.  Anyone who can follow instructions and learn new things.  Anyone who wants to configure their system just the way they want.  Linux can be for anyone.  But it's not for everyone, nor should it be, as striving to be for everyone makes it not very good for anyone.

Last edited by Trilby (2012-05-02 13:14:28)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#9 2012-05-02 13:24:51

alphaniner
Member
From: Ancapistan
Registered: 2010-07-12
Posts: 2,810

Re: Here, have a GUI

geniuz wrote:

Furthermore, don't forget that many tools for the CLI are designed to be used by expert users and mostly adhere to the Unix philosophy.

He was criticizing CLI tools for being crap, not for being user-unfriendly.

I have an uncanny knack for avoiding unnecessary pain, and I don't use Linux network management, power management, device-mount management or permission management.  Coincidence?

Trilby wrote:

I don't think linux is for everyone either; it's for anyone.

Anyone who doesn't mind not getting the full functionality of their hardware, anyway.

Last edited by alphaniner (2012-05-02 13:28:20)


But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

Offline

#10 2012-05-02 13:38:21

Oxyd
Member
From: Czech Republic
Registered: 2008-01-17
Posts: 167

Re: Here, have a GUI

seveg wrote:

Well, hasn't the whole point of Linux always been "to create a complete Windows replacement"?

I don't see to Linus head, but I really don't think so..

Yes, you got me. smile I meant “Linux” as in the whole ecosystem and community, not really Linux itself (the kernel).

Offline

#11 2012-05-02 14:01:55

skanky
Member
From: WAIS
Registered: 2009-10-23
Posts: 1,847

Re: Here, have a GUI

Oxyd wrote:
seveg wrote:

Well, hasn't the whole point of Linux always been "to create a complete Windows replacement"?

I don't see to Linus head, but I really don't think so..

Yes, you got me. smile I meant “Linux” as in the whole ecosystem and community, not really Linux itself (the kernel).

If it was meant to replace anything, it was most likely Unix.


"...one cannot be angry when one looks at a penguin."  - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle

Offline

#12 2012-05-02 14:43:14

geniuz
Member
Registered: 2010-04-10
Posts: 127

Re: Here, have a GUI

alphaniner wrote:
geniuz wrote:

Furthermore, don't forget that many tools for the CLI are designed to be used by expert users and mostly adhere to the Unix philosophy.

He was criticizing CLI tools for being crap, not for being user-unfriendly.

Not if you read his words:

Gullible Jones wrote:

...has not gotten better integrated and more friendly. Under the hood, things are a bit of a mess.

Although I fully acknowledge that the meaning of the term friendly is susceptible to interpretation, the word "crap", as you so nicely put it, is a different domain. I for one perceive the CLI as extremely friendly as it increases my productivity tremendously and allows me to automate a lot of otherwise redundant set of actions.

alphaniner wrote:

I have an uncanny knack for avoiding unnecessary pain, and I don't use Linux network management, power management, device-mount management or permission management.  Coincidence?

Trilby wrote:

I don't think linux is for everyone either; it's for anyone.

Anyone who doesn't mind not getting the full functionality of their hardware, anyway.

I am curious how you think such a vague and unsupported claim adds in any constructive way to this discussion.

Last edited by geniuz (2012-05-02 14:43:50)

Offline

#13 2012-05-02 15:08:05

alphaniner
Member
From: Ancapistan
Registered: 2010-07-12
Posts: 2,810

Re: Here, have a GUI

My assessment was based on the OP's 'cases in point'.  They contain descriptions of functional shortcomings, not friendlyness shortcomings.  I think that carries more weight than one word in the epilogue.  And in my vernacular, a tool that doesn't function properly is properly called crap.

You are right that I didn't really contribute anything to the discussion.  But neither do the milquetoast excuses that always pop up whenever someone makes a serious criticism of Linux.  The difference is, I was being sarcastic...

Last edited by alphaniner (2012-05-02 15:35:52)


But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

Offline

#14 2012-05-02 15:20:31

regitator
Member
Registered: 2010-08-10
Posts: 26

Re: Here, have a GUI

Very well written post, OP. Except for networkmanagement (netcfg rules) i also encountered these problems. I'm currently trying to setup a good solution for (auto)mounting and power management without GUI, but these areas indeed seem unnecessary complex/confusing on the CLI.

Offline

#15 2012-05-02 15:31:00

freemind
Member
Registered: 2011-03-07
Posts: 20

Re: Here, have a GUI

skanky wrote:
Oxyd wrote:
seveg wrote:

I don't see to Linus head, but I really don't think so..

Yes, you got me. smile I meant “Linux” as in the whole ecosystem and community, not really Linux itself (the kernel).

If it was meant to replace anything, it was most likely Unix.

Yes, exactly. The reasons behind it vary, some wanted freedom, others it was for fun or learning or hatred towards Microsoft, etc. There were lots of people behind it and thus lots of motives to help.

About the topic, i agree with OP. GUIs have evolved A LOT in the past years. Look at a GUI from the 80s or 90s and compare to a current one. Just the visual of it, is very different.
Now take a CLI from the 80s or 90s and compare to a current one. It's almost the same, if not exactly! If CLIs were more developed, like GUIs have been, i believe i would see many more people using it.
Some non-technical people might wonder, what's the point of developing CLI now if we already have GUI?
Well there are some tasks that are quicker through CLI than GUI, and there could be even more tasks if CLI was more developed.

So, what do i think it's wrong?
-Shell (script) has a horrible syntax.
-Shell is not intuitive.
-No settings built-in.
-Bad defaults ("rmdir" vs "rm -rf", lack of an universal archive extract script, ...)

There are probably others i don't recall right now.

Offline

#16 2012-05-02 15:34:18

adamrehard
Member
From: NY, USA
Registered: 2011-11-03
Posts: 154

Re: Here, have a GUI

Here's my take: Linux is not Windows, nor is it designed to replace Windows. It was originally built by Linus to replace MINIX, which in turn was designed and built to teach Dutch university students. (This is all on Wikepedia if you don't believe me.) There may be some things about Linux which absolutely suck, but I've never run into them. I should note that I don't own a laptop, so haven't needed Wifi or power management. The only thing I really hate about Linux at the moment is unneeded dependencies, and I probably could fix that by using Gentoo.   

Trilby wrote:

I don't think linux is for everyone either; it's for anyone.

Anyone who wants to learn how their computer works.  Anyone who wants control of and responsibility for their own system.  Anyone who can follow instructions and learn new things.  Anyone who wants to configure their system just the way they want.  Linux can be for anyone.  But it's not for everyone, nor should it be, as striving to be for everyone makes it not very good for anyone.

You said this better than I could.


"The box said requires Vista or better, so I installed Arch"
Windows != Linux

Offline

#17 2012-05-02 15:36:46

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: Here, have a GUI

A clarification: when I say "unfriendly," I mean "not simple or easy to use for its intended purpose."

wpa_supplicant's purpose is to associate with (maybe encrypted) wireless networks. Using it for that purpose is complicated.

udisks' purpose is to mount and unmount hotpluggable drives. Using it for that purpose is complicated.

pm-utils' purpose is to suspend or hibernate your computer. Using it for that purpose from the command line... is complicated.

When things are not easy or simple to use for the purpose for which they are designed, by people who know what they are doing, IMO something is wrong. The only things that keep me from calling these tools "crap" are
a) they are free
b) I am not a programmer
If I payed for such utilities, then I would call them crap. Fortunately, they do not cost anything.

Offline

#18 2012-05-02 15:40:26

Oxyd
Member
From: Czech Republic
Registered: 2008-01-17
Posts: 167

Re: Here, have a GUI

I should probably add that my remark about Linux “Being made to replace Windows” was also sarcastic.

I know why both Linux and GNU were conceived. I was rather commenting on my general impression on the development of GNU/Linux and stuff designed to run atop that in the past few years. There's this striking mentality of “It's us versus Microsoft and we must win.”

Offline

#19 2012-05-02 15:53:21

alphaniner
Member
From: Ancapistan
Registered: 2010-07-12
Posts: 2,810

Re: Here, have a GUI

Gullible Jones wrote:

Fortunately, they do not cost anything.

Don't they though?  As the saying goes, Linux is only free if your time is worth nothing.  Personally, I think people have unreasonable expectations of Linux.  It's nothing to do with open-source vs proprietary.  IMO the Linux dev/release model precludes any guarantees of a coherent desktop-friendly* framework.  If you want a coherent OSS OS, use BSD.  If you want a coherent desktop-centric OSS OS, support Haiku.

*"simple or easy to use for its intended purpose."

Last edited by alphaniner (2012-05-02 15:55:48)


But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

Offline

#20 2012-05-02 16:01:54

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Here, have a GUI

freemind wrote:

So, what do i think it's wrong?
-Shell (script) has a horrible syntax.
-Shell is not intuitive.
-No settings built-in.
-Bad defaults ("rmdir" vs "rm -rf", lack of an universal archive extract script, ...)

1. Not intuitive as compared to what? Clicking 'Start' button to stop the computer?
2. What settings? Many apps do ship with rc or conf files and the settings are meant to be customized to suit one's needs so ...?
3. The *nix mantra is 'do one thing and do it well' and that's why you have pipes instead of a universal tool.
4. What's bad about 'rmdir'? I'm happy that it removes just an empty directory and fails otherwise.

Offline

#21 2012-05-02 16:49:59

Bellum
Member
Registered: 2011-08-24
Posts: 230

Re: Here, have a GUI

I agree with the OP. Actually, I feel like a lot of these problems come from tools that do not follow the Unix philosophy. Traditional unix tools tend to be pretty easy and straightforward once you read the manual, from what I've seen. So are, for instance, Arch specific tools, which I feel follow Unix's lead quite well. Simple is better than complex. Mounting, power management, and networking are not that complicated, and they don't necessarily need complicated solutions that are perhaps not easily maintainable.

That's my perspective anyway, I could be wrong.

Offline

#22 2012-05-02 17:03:01

drcouzelis
Member
From: Connecticut, USA
Registered: 2009-11-09
Posts: 4,092
Website

Re: Here, have a GUI

alphaniner wrote:

If you want a coherent desktop-centric OSS OS, support Haiku.

This thread has helped me put into words some of the reasons why I enjoy using Haiku so much:

Haiku is a desktop operating system that was designed without any "layers" underneath the GUI. Compared to other operating systems Haiku doesn't do anything special, but it fills a sort of special space in the operating system market: Windows and Mac OS X are cohesive desktop operating systems with a strong integrated GUI, and Linux and FreeBSD are free and open source operating systems designed from layers on top of many small software applications. Haiku is a complete operating system with strong GUI integration and is free and open source software. You could also put SyllableOS in that group.

...but whatever. I need to continue developing my thoughts, so when people ask me what's special about Haiku I can say something more than "It's yellow!".

Anyway, I agree with the original sentiment. I've totally noticed the lack of simple to use CLI applications to do basic tasks. I'll try adding another one: burning optical discs. I have some Bash aliases that allow me to do simple CLI disc burning commands, but (as far as I can remember) the commands seem more complicated than they need to be. hmm

Offline

#23 2012-05-02 17:38:27

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Here, have a GUI

drcouzelis wrote:

Anyway, I agree with the original sentiment. I've totally noticed the lack of simple to use CLI applications to do basic tasks. I'll try adding another one: burning optical discs. I have some Bash aliases that allow me to do simple CLI disc burning commands, but (as far as I can remember) the commands seem more complicated than they need to be. hmm

It obviously depends on what exactly are you trying to burn, but for isos I use

[karol@black ~]$ type cdr
cdr is a function
cdr () 
{ 
    cdrecord -v blank=fast -dao -eject dev=/dev/sr0 "$1"
}

I neither need nor want a GUI for this.

Most of the above is optional:
0. '-v' is for verbose output.
1. I use the same CD-RWs over and over so I just blank them before burning.
2. '-dao' (dics at once) is just in case I want to md5sum the burned dics (not the iso). w/o this option the disc would be burned OK, but the checksum didn't match.
3. The app can eject the dics what it's done so I don't have to press the button on the case or issue another command.

Last edited by karol (2012-05-02 17:48:05)

Offline

#24 2012-05-02 17:43:53

adamrehard
Member
From: NY, USA
Registered: 2011-11-03
Posts: 154

Re: Here, have a GUI

Oxyd wrote:

I should probably add that my remark about Linux “Being made to replace Windows” was also sarcastic.

I know why both Linux and GNU were conceived. I was rather commenting on my general impression on the development of GNU/Linux and stuff designed to run atop that in the past few years. There's this striking mentality of “It's us versus Microsoft and we must win.”

Oh, ok smile My sarcasm detector is useless anyway, and the Internet compounds it. On that point, you're completely right. Linux shouldn't try to something it isn't.


"The box said requires Vista or better, so I installed Arch"
Windows != Linux

Offline

#25 2012-05-02 17:58:51

freemind
Member
Registered: 2011-03-07
Posts: 20

Re: Here, have a GUI

karol wrote:
freemind wrote:

So, what do i think it's wrong?
-Shell (script) has a horrible syntax.
-Shell is not intuitive.
-No settings built-in.
-Bad defaults ("rmdir" vs "rm -rf", lack of an universal archive extract script, ...)

1. Not intuitive as compared to what? Clicking 'Start' button to stop the computer?
2. What settings? Many apps do ship with rc or conf files and the settings are meant to be customized to suit one's needs so ...?
3. The *nix mantra is 'do one thing and do it well' and that's why you have pipes instead of a universal tool.
4. What's bad about 'rmdir'? I'm happy that it removes just an empty directory and fails otherwise.

1. No, duh. For example, to extract a archive you need to know tar, untar, zip, unzip, etc. You also need to know their common options like -c, -Z, -X, etc.
2. You should be able to manage the settings of a program from within it, just like you would do it with a GUI. You shouldn't need to know where the settings file is.
3. I don't see the connection, but ok. And why should we follow *nix mantra or pipes or whatever? I think we should use our brain and try to come up with new solutions in case we don't like the current ones
4. Just Lol.

Btw, no one is trying to take your precious, old, unintuitive, 80s shell away. I'm just promoting an idea for a new shell or CLI for people who do other things besides staying
at the computer 24/7 trying to learn it, you know?

Offline

Board footer

Powered by FluxBB