10.0 set prompt for new users has problems

Fbsd8 fbsd8 at a1poweruser.com
Fri Apr 25 00:47:55 UTC 2014


Polytropon wrote:
> On Thu, 24 Apr 2014 11:09:48 -0400, Fbsd8 wrote:
>> 10.0 host and using pw command to adduser.
>> pw adduser test -c Test-user -m -g wheel -w yes
>>
>> original /etc/csh.cshrc and /usr/share/skel/dot.cshrc files
>>
>> When I log into user test the prompt is a single dollar sign.
> 
> This is not the default prompt for the C shell. It
> looks like you're running sh or bash. Can you check?
> Try
> 
> 	$ echo $SHELL
> 
> to see what login shell has been defined. Maybe the pw
> command did not set csh as the login shell, and you're
> left with sh as default.
>

All the users I created with the above pw command are sh shell.
Used vipw and see that the last field at end of the line is /bin/sh

> 
> 
>> Issuing the ll command i see .cshrc*
>> Why does this file end with an *?
> 
> This is because the file has the executable attribute (+x)
> set. There are other "signifiers" for files and directories.
> Try the following
> 
> 	% setenv LSCOLORS 'ExGxdxdxCxDxDxBxBxegeg'
> 	% ls -laFG .cshrc
> 
> The colors will also reflect the "executable" attribute.
> 
> Note that this file does _not_ have to be executable, so
> check /usr/share/skel if the file has _accidentally_ been
> chmod'ed with +x. When copying the content of the skel/
> directory (or subtree), attributes will be kept.
> 
>
This must be the new default in 10.0 because
ls -laFG /usr/share/skel shows dot.cshrc*   and
ls -la   /usr/share/skel shows dot.cshrc


> 
>> I can edit the as .cshrc* or .cshrc and replace the existing  set prompt 
>> statement with set prompt = "# %/ >"  then save the file, exit and login 
>> again. The prompt is still a dollar sign.
> 
> The user's .cshrc file should override any other settings
> dome at "higher levels" such as /etc/csh.cshrc. Try the
> following:
> 
> 	set promptchars = "%#"
> 	set prompt = "%n@%m:%~%# "
> 
> This should give you the default C shell prompt. If _this_
> works, start modifying it according to your preference.
> You can replace %n with %N on newer C shell versions.
> 
> 
> 
>> If I issue set prompt = "# %/ >" command from the test user command line
>> the prompt still doe's not change.
> 
> Very strange - I have tested this here, it changes the prompt.
> 
> 	poly at r56:~% set prompt = "# %/ >"
> 	# /home/poly >_
> 
> However, when I try this in sh:
> 
> 	poly at r56:~% sh
> 	$ set prompt = "# %/ >"
> 	$ _
> 
> This encourages me to think that my initial assumption of
> you running the "wrong" shell is correct. :-)
> 
>
> 
>> I can edit the /usr/share/skel/dot.cshrc replacing the existing set 
>> prompt with the new one, deluser test, adduser test, and still get 
>> dollar sign for the prompt even though I see the wanted prompt statement 
>> in user test home directory .cshrc* file.
> 
> Add -s csh to your pw adduser command.
>

pw adduser test -c Test-user -m -g wheel -s csh -w yes
Fixed the problem. Now the changes made to /usr/share/skel/dot.cshrc 
take affect in the users added using that pw command. The aliases also 
work now.

> 
> 
>> Another problem is the alias commands la and lf don't work but the ll 
>> alias does work.
> 
> Try "which ls ll" to find out what is actually being executed.
> 
> Example from my (customized) C shell:
> 
> 	% which ls ll
> 	ls:      aliased to ls -FG -D "%Y-%m-%d %H:%M:%S"
> 	ll:      aliased to ls -laFG -D "%Y-%m-%d %H:%M:%S"
> 
> Note that I've modified /etc/csh.cshrc to make global settings
> for all users (prompt, aliases, $LSCOLORS) and almost emptied
> the /usr/share/skel/dot.cshrc template. Users here are free to
> add their own settings and replace default things, but most
> of them are happy. The unhappy ones use bash anyway. :-)
> 
> 




More information about the freebsd-questions mailing list