[193] in athena10
Re: System Dotfiles (was Re: /svn/athena r22913
daemon@ATHENA.MIT.EDU (Timothy G Abbott)
Fri Apr 25 11:34:57 2008
Date: Fri, 25 Apr 2008 11:34:13 -0400 (EDT)
From: Timothy G Abbott <tabbott@MIT.EDU>
To: Greg Hudson <ghudson@mit.edu>
cc: Jonathan Reed <jdreed@mit.edu>, athena10@mit.edu
In-Reply-To: <1209135903.5864.174.camel@error-messages.mit.edu>
Message-ID: <Pine.LNX.4.64L.0804251107570.17076@vinegar-pot.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
This plan sounds good. I have to no objections to restoring the prompt
change (etc.) in tcsh given that the plan is to create new use accounts
with bash.
-Tim Abbott
On Fri, 25 Apr 2008, Greg Hudson wrote:
> On Fri, 2008-04-25 at 10:00 -0400, Jonathan Reed wrote:
>> Well, assuming I remember correctly, there's no .bash.environment or
>> something similar.
>
> There is a .bash_environment. For terminal logins it does exactly
> what .environment does for tcsh users.
>
> For graphical logins, the standard xsession is always executed under
> tcsh. The user's .cshrc is executed, and thus .cshrc.mine
> and .environment if the user has standard dotfiles. For each spawned
> terminal, .bashrc is executed along with .bash_environment. Instead of
> a single global environment setup, you get one setup per terminal,
> unless you do your environment setup with a tcsh script.
>
> There are certainly plenty of scenarios where people's bash dotfiles
> might break when we fix this situation, though not because of
> shell-dependent syntax. People might be doing important setup
> in .environment which will no longer take place, or they might be
> somehow relying on .bash_environment getting executed in each terminal.
>
> The .startup files are a separate issue. Currently .startup.tty is
> executed by your chosen shell (but it's the same filename regardless of
> shell, which is not the case for any other dotfile) and .startup.X is
> always processed with tcsh. The latter situation obviously has to
> change. Any change we make also has the potential to break people's
> bash dotfiles.
>
> I had been assuming that most bash users had their own .xsession scripts
> to correct for our lossage, but this turns out to be wrong.
> Using /afs/athena.mit.edu/user, I did a scan for bash users and found
> 342 of them. Of these, only 26 have .xsession files (plus possibly two
> more who have unlistable homedirs).
>
> I don't want to get too paralyzed by the possibility of breaking
> people's bash dotfiles. It's a small user population, it's people
> who've chosen to do something kind of adventurous with their dotfiles,
> and we can find out who they are and notify them. Most of them will
> probably be happier to have a less broken system to work in, assuming
> they do graphical Athena logins at all.
>
> My current thinking is:
>
> * Don't touch the tcsh dotfiles any more than we already have. (In
> fact, we probably want to go back to setting the prompt in cshrc in
> Athena 10.)
> * Fork off a bash version of the standard xsession. This is the
> safest way to avoid breaking tcsh dotfiles. Having two versions of the
> xsession script will be annoying, but we don't really make changes to it
> very often.
> * .startup.X will be executed under bash for bash users. We continue
> to live with the fact that .startup.X and .startup.tty have overlapping
> names for tcsh and bash users.
> * We'll deploy this in Athena 9.4 early this summer.
>
> (Of the current bash users, 40 have .startup.X files. Some of those
> have their own .xsession files, though it appears to be less than half.)