[176] in athena10

home help back first fref pref prev next nref lref last post

Re: System Dotfiles (was Re: /svn/athena r22913

daemon@ATHENA.MIT.EDU (Timothy G Abbott)
Wed Apr 23 00:04:40 2008

Date: Wed, 23 Apr 2008 00:03:56 -0400 (EDT)
From: Timothy G Abbott <tabbott@MIT.EDU>
To: Jonathan Reed <jdreed@mit.edu>
cc: Greg Hudson <ghudson@mit.edu>, athena10@mit.edu
In-Reply-To: <CE7D6005-36A6-4C0C-A5DC-1D020FEFEE5A@mit.edu>
Message-ID: <Pine.LNX.4.64L.0804222319530.23969@vinegar-pot.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Tue, 22 Apr 2008, Jonathan Reed wrote:

>> - Whether we want to set the noclobber option.  I think we don't.
>
> It's helpful, particularly for files with a longevity less than that which is 
> required to show up in OldFiles.  People who care can use >! to override it.
>
>> - Whether we want to set IGNOREEOF (this is important if people are using 
>> zwrite on the command line a lot, but I don't see that much these days). I 
>> currently favor no.
>
> I like having this set.  I'm sure I'm not the only person who has 
> accidentally pressed Ctrl-D in the wrong xterm before.  Putting people in the 
> mindset of explicitly logging out is also a good thing, IMHO.

I don't see this issue as whether many people find them useful (clearly 
many do).  I think with these two features, about half of users want one 
thing, and the other half want the other.  Obviously, anyone can override 
anything we set in the defaults in their own dotfiles.  But if half the 
people want to override the default we've changed (many of which will 
probably be too lazy to do so), then our change of default is actively 
harmful, as its primary effect is for the same command to do something 
different on Athena than in their other environments that have a shell.

I do think the argument for keeping IGNOREEOF is stronger than that for 
noclobber, since IGNOREEOF is a feature that enhances the zephyr 
experience.  But I'm not sure this outweighs the impact of the unecessary 
differences from the rest of the world.  I would certainly encourage 
mentioning IGNOREEOF in documentation on how to use zephyr if we were to 
turn it off.

>> - Whether we want to keep the bit of code that resets HOME (this seems to 
>> go awry sometimes).  I think we should do tests and make a decision.
>
> I'm confused as to which bit of code we're talking about.

Search for HOME in /usr/athena/lib/init/bashrc.  It's a bug workaround, so 
the issue there is just that someone should find out whether the bug still 
exists and do what's reasonable.  Probably not worth spending any more 
time discussing here.

>> - Whether we're intending to switch the default shell away from tcsh.  I 
>> think we should.
>
> Ugh.  Are there any compelling non-religious reasons for doing this?  I 
> understand the desire to move away from building our own tcsh, but surely 
> Ubuntu provides a working tcsh.  tcsh has been the default since ~forever, 
> and tons of example code and dotfiles make this assumption.  For example, 
> this will break things like "setup", which does not yet exist in bash. 
> There's a lot of third party software and course lockers that rely on 
> "setup", and changing those would require a lot of outreach.  If we want to 
> debate the merits of one shell over another, that's fine, but I think this is 
> the wrong forum, and I think such a change is completely outside the scope of 
> the project.  Unless you're talking about switching the default shell only 
> for accounts created after a certain date, and that would suck from a support 
> standpoint.

Debian/Ubuntu has its own tcsh, though we'd need to build our own anyway 
if we want ~locker to work (Debathena already does this for both tcsh and 
bash).  The more important issue is that tcsh lost the religious war a 
long time ago, and anyone who gets experience with a shell from OS X or 
Ubuntu or whatever is going to expect bash.  This is not to mention the 
well-documented problems with tcsh that you'll find if you google for 
"csh" and "harmful".

I agree there's a lot of documentation overhaul that'll need to be done. 
Frankly, switching from Red Hat to Ubuntu will involve rewriting vastly 
more documentation, so that now is the optimal time to switch shells if 
we're going to do it (it'll be easy to change all the prompts when we're 
completely replacing the text).

I don't think we should be making long-term technical decisions based on 
what will save a moderate amount of work in the short run.  I suspect by 
switching to bash we may actually save work on documentation in the long 
term, because non-MIT-specific documentation on the web (especially the 
Ubuntu wiki) will all assume that everyone's using bash, and I think IS&T 
will be able to handle many issues that are not MIT-specific by giving 
people pointers to the relevant parts of the Ubuntu documentation, which 
is generally very user-friendly.  If we do stick with tcsh, then pointing 
people to the Ubuntu documentation will result in confusion, since when 
the documentation tells them to run "cmd 2>/dev/null" or whatever other 
thing tcsh does differently, it won't work.

I don't understand how changing the default shell affects third party 
software.  Third party locker software seems to work regardless of what 
the user's shell is.  But I guess I also don't understand what "setup" 
does -- presumably it is a tool used to setup third party software 
lockers?

 	-Tim Abbott



home help back first fref pref prev next nref lref last post