Date: Thu, 24 Apr 2014 20:00:58 +0200 From: Polytropon <freebsd@edvax.de> To: Fbsd8 <fbsd8@a1poweruser.com> Cc: questions <questions@FreeBSD.org> Subject: Re: 10.0 set prompt for new users has problems Message-ID: <20140424200058.6c4c6cc8.freebsd@edvax.de> In-Reply-To: <5359293C.20501@a1poweruser.com> References: <5359293C.20501@a1poweruser.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. > 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. > 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@r56:~% set prompt = "# %/ >" # /home/poly >_ However, when I try this in sh: poly@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. > 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. :-) -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140424200058.6c4c6cc8.freebsd>