Red Hat Bugzilla – Bug 143826
tcsh should clearly indicate root status after su
Last modified: 2014-03-16 22:51:31 EDT
(Fresh Fedora Core 3 install)
My username is "beland" and my hostname is "stop". Compare the
default prompts after su'ing to root, when root's shell is:
I would expect the root prompt in tcsh to have either a # or a "root"
in it, to clearly indicate root status. As it is for tcsh, it's the
same as if I were not su'd, except for the treatment of ~.
[notting@nostromo ~]$ grep ^root /etc/passwd
[notting@nostromo ~]$ su
This is with FC devel; I do get the '#' distinguisher.
The name comes from %n... since that's substituted in by tcsh,
Created attachment 110419 [details]
Set $prompt and $promptchars to reflect UID=0 when $USER != root
I'm afraid this works "as designed". :/
"%n" is replaced by $user, which is initialized by $USER; (su) doesn't
change $USER when switching to root.
The easiest way to get bash-like behavior is the attached change to csh.cshrc;
if that doesn't look good enough, I can talk to the upstream about changing %n
While I think the tcsh behavior is wrong, not sure it's worth the
arguments with upstream. Feel free to bring it up with upstream, but
change added in 2.5.40-1.