[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: use zsh as login shell
From: |
Ludovic Courtès |
Subject: |
Re: use zsh as login shell |
Date: |
Fri, 28 Nov 2014 23:26:30 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
宋文武 <address@hidden> skribis:
> Ludovic Courtès <address@hidden> writes:
>
>> 宋文武 <address@hidden> skribis:
[...]
>>> IMO, we should use `/etc/environment' for system variables:
>>> LANG=en_US.UTF-8
>>> PATH=/run/current-system/profile/bin:/run/setuid-programs
>>> And add `pam_env.so' to /etc/pam.d/login, to make tty login work.
>>>
>>> With `/etc/profile', `/etc/zlogin' just:
>>> source /etc/environment
>>> to make `bash -l' and `zsh -l' work.
>>
>> Is ‘pam env’ needed at all if /etc/profile and /etc/zlogin are provided
>> anyway?
> Yes, it's redundant.
> Now I think the better way is just provide /etc/environment.
> then `bash -l' would take ~/.bash_profile and ~/.profile.
> We can have a default ~/.bash_profile like:
> source /etc/environment
> export PATH=$PATH:$HOME/.guix-profile/bin
Currently, the .bashrc skeleton sources /etc/profile.
So, instead of what you suggest, what about having:
1. /etc/profile and /etc/zlogin (?) both source /etc/environment,
which uses plain Bourne syntax.
2. PATH is defined in /etc/environment and includes
~/.guix-profile/bin.
3. The skeleton for ~/.bash_profile sources /etc/profile, /etc/bashrc,
and ~/.bashrc.
4. The definition of PS1 is moved from /etc/profile to /etc/bashrc.
5. The skeleton for ~/.bashrc sources /etc/bashrc.
?
(I was reading the Bash manual to make sure (info "(bash) Bash Startup
Files"), and as an exercise, I’ve cleaned up my own ~/.bashrc and
~/.bash_profile accordingly, which fixes the issue I reported a couple
of weeks ago regarding ‘guix environment’.)
Thanks,
Ludo’.