Bug 168606 - Profile command entry defaults to $SHELL
Summary: Profile command entry defaults to $SHELL
Status: RESOLVED INTENTIONAL
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-07 15:29 UTC by Richard Hartmann
Modified: 2011-08-21 19:31 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Hartmann 2008-08-07 15:29:04 UTC
Version:           2.1 (using 4.1.00 (KDE 4.1.0), Debian packages)
Compiler:          cc
OS:                Linux (i686) release 2.6.26-1-686

The profile default points to /bin/bash which, imo, is a Very Bad Thing.

Leaving the 'command' option empty will default to the shell specified in /etc/passwd. This is not intuitive, though. At the least, this field should default to empty, though a 'use standard user shell' click-option might be better for non-tech-savvy users.
Comment 1 Robert Knight 2008-08-07 18:34:17 UTC
No it does not.  The profile defaults to $SHELL, which is expanded for
display in the profile editor.  If no command is specified then it
also defaults to $SHELL, in case $SHELL is not a valid path in which
case it will fall back to /bin/sh.

Regards,
Robert.

2008/8/7 Richard Hartmann <richih-kde@richih.org>:
[bugs.kde.org quoted mail]
Comment 2 Richard Hartmann 2008-08-07 18:54:11 UTC
Ah, OK, sorry. Just did some checking, above is correct. It will behave as it should if you change the default shell back and forth.

But there is one major issue. As soon as you edit your profile, even if this change has nothing to do with your shell selection, konsole will save the current default shell.

So if you do this:

1) Create user
2) Log in with user
3) Start konsole, change random setting
4) Change default shell
5) Log out & back in
6) Start konsole

You get the initial default shell, not the current one. Possible fixes:

* Checkbox that says 'keep default'
* leave said field empty
* fill it with $SHELL

As more and more non-tech-savvy people are going to use Linux, I would tend towards the checkbox. Explicit settings over implicit ones and all that.

Thanks for responding that fast, you rock. But then, I knew that, before :)
Comment 3 Robert Knight 2008-08-08 15:56:15 UTC
> As more and more non-tech-savvy people are going to use Linux, 

I know what you mean, but 'non-tech savvy' people do not use terminals.
Comment 4 Robert Knight 2008-08-08 16:37:58 UTC
It should only be saving settings that are explicitly modified by the user - so /bin/bash should only be saved if you modify that line edit.
Comment 5 Richard Hartmann 2008-08-09 12:47:57 UTC
@3: My gf likes to use the shell, at least for the stuff I showed her ;)
I know several people who do use their shells but who do not have _that_ much knowledge about Linux.

@4: I would still argue that even letting the option be spelled out in there is wrong.
After all, what you are showing is not bash. It is the default value for a user, which happens to point to bash in most cases.
Why not simply leave the field empty, by default? That makes it's mechanism immediately obvious.
Comment 6 Robert Knight 2008-08-09 17:25:30 UTC
> @3: My gf likes to use the shell, at least for the stuff I showed her ;)
> I know several people who do use their shells but who do not have _that_
> much knowledge about Linux.

That doesn't tell me anything, for all I know your girlfriend could be a kernel developer - or at least willing to acquire some power-user skills.   

> Why not simply leave the field empty, by default? 
> That makes it's mechanism immediately obvious. 

I'm not so sure.  I think you'll confuse people either way.  At least as it is you can see what is running.  
Comment 7 Richard Hartmann 2008-08-09 19:51:14 UTC
> That doesn't tell me anything, for all I know your girlfriend could be a kernel developer - or at least willing to acquire some power-user skills.

That's why I added the second sentence :p
But let's not not dwell on that. It was simply an example that not all people using shells are power users or ever will be.


> I'm not so sure.  I think you'll confuse people either way.  At least as it is you can see what is running. 

Which is why I said that my preferred solution would be an extra button labeled 'use default'. This would put $SHELL into the text box, gray it out and make editing it impossible. That mechanism is something most people will be used to, no matter what they are/have been using or how tech-savvy they are.
Overloading the text input box was a second suggestion as, from how I interpreted what you said, I assumed you did not want to add an extra button.
Comment 8 Richard Hartmann 2008-08-12 10:39:45 UTC
s/button/checkbox/ in my last comment.. Sorry.
Comment 9 Ganton 2009-07-08 16:48:05 UTC
> 'non-tech savvy' people do not use terminals.
A lot of 'non-tech savvy' install emules, connect to ed2k servers and a lot of things to get their movies and songs, for example. :-) Someone who seems to be not able and not to understand... a lot of them (because they are interested) they follow steps given to them so that they can get their movies and songs, for example.
Comment 10 Ganton 2009-07-08 17:02:57 UTC
> 'non-tech savvy' people do not use terminals.
There are a lot of 'non-tech savvy' who simply use command-line "recipes", you know, to transform hundreds of photographs, music files, and so on. They don't know a lot, but they know they can use:
      for photo in *.gif; do convert "$photo" "$photo".jpg; done
instead of going manually (one by one).

Anyone can tell them, for example :-), that they have to change the name of 2083 files that are named account[date_of_making].xls and that should be named company[date_of_making].xls and anyone will see how soon they like the command line :-).