Le 27/11/2019 à 06:05, Xi Ruoyao a écrit :
> On 2019-11-26 14:56 -0600, Douglas R. Reno wrote:
>> On 2019-11-26 14:39, Bruce Dubbs wrote:
>>> On 11/26/19 1:27 PM, Xi Ruoyao wrote:
>>>> On 2019-11-26 12:54 -0600, Bruce Dubbs wrote:
>>>>> On 11/26/19 9:30 AM, Xi Ruoyao wrote:
>>>>>
>>>>>> But on Arch (and some other distributions) non-login bash
>>>>>> loads
>>>>>> /etc/bash.bashrc before .bashrc.  The environments in
>>>>>> bash.bashrc
>>>>>> may
>>>>>> pollute the LFS building environment.  For example, on Arch,
>>>>>> our
>>>>>> $PS1
>>>>>> (set in .bash_profile, should be '\u:\w\$ ') would be
>>>>>> overwritten
>>>>>> (become `[\u@\h \W]\$ ').
>>>>>
>>>>> With the exception of PS1, is there anything else in
>>>>> /etc/bash.bashrc
>>>>> that interferes with the lfs user's environment?  We could
>>>>> easily
>>>>> fix
>>>>> the PS1 issue by adding
>>>>>
>>>>> PS1='\u:\w\$ '
>>>>>
>>>>> to our .bashrc.
>>>>
>>>> On Arch Linux it also sets $PROMPT_COMMAND, and then sources
>>>> /usr/share/bash_completion/bash_completion (!).
>>>>
>>>>> We could also add a note for the user to check the contents of
>>>>> /etc/bash.bashrc and, if needed, move it out of the way.
>>>>>
>>>>> Also, I wonder if using
>>>>>
>>>>> exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash --
>>>>> rcfile
>>>>> ~/.bashrc
>>>>>
>>>>> would disable sourcing /etc/bash.bashrc.
>>>>
>>>> No.  I tried that.
>>>>
>>>> I found a solution with Google:
>>>>
>>>> /home/lfs/.bash_profile:
>>>>
>>>>      exec env -i ENV=$HOME/.bashrc \
>>>>          HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash --posix
>>>>
>>>> /home/lfs/.bashrc:
>>>>
>>>>      set +o posix
>>>>      set +h
>>>>      umask 022
>>>>      # .... (same as LFS book)
>>>>
>>>> "--posix" will start POSIX mode and disable rc file
>>>> loading.  Then we
>>>> use "ENV=$HOME/.bashrc" to tell bash to load our .bashrc
>>>> file.  At 
>>>> last
>>>> use "set +o posix" in .bashrc to exit POSIX mode.
>>>
>>> That looks good.  I don't have a system that uses /etc/bash.bashrc
>>> so
>>> I can't test it.  If you say it works for you, I'll add it.
> 
> It works for me (at least on Arch).
> 
>>> --------
>>>
>>> Also, I am running into an issue I haven't noticed before.  On my
>>> existing system if I try to log in as user lfs with .bash_profile
>>> set,
>>> it automatically starts bash and then puts it into the background.
>>>
>>> # su - lfs
>>> [1]+  Stopped                 su - lfs
>>> # jobs
>>> [1]+  Stopped                 su - lfs
>>> # fg
>>> su - lfs
>>> lfs:~$
>>>
>>> The rules in the book work OK as .bash_profile is not present when
>>> we
>>> initially change to user lfs and then we source
>>> .bash_profile.  That
>>> works.
>>>
>>> It could have something to do with PAM and su, but I'm not
>>> sure.  Has
>>> anyone else seen this?
>>>
>>>   -- Bruce
>>
>> Yes I have, it's happening on Debian 10 and on LFS now. I'm not sure 
>> what's causing it
> 
> I've seen this on LFS.  Not sure the reason.
> 

I see this on a fresh install of debian 10, but not on debian unstable, which
I have installed long ago, but that I update every day. So, it must be some
config somewhere, that has not been updated on unstable.

Concerning /etc/bash.bashrc on debian:
it begins with:
[ -z "$PS1" ] && return

so we could do something like (not tried):
exec env -i HOME=$HOME TERM=$TERM PS1="" /bin/bash

and then set PS1 in .bashrc

Pierre
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki/Posting_style

Reply via email to