On 12/16/2014 05:02 PM, Bruce Dubbs wrote:
[email protected] wrote:
My BLFS 7.6 xterm window displays the wrong prompt, doesn't recognize
aliases, and doesn't allow sourcing scripts. Its prompt is "sh-4.3"
although I have PS1="/w >" in /etc/bashrc. Aliases don't execute and
attempting to source a script results in "file not found."
However, if I exclude the "*VT100*locale: true" line in
/etc/X11/app-defaults/XTerm" all problems disappear. With that one
change I have the correct prompt, can use aliases, and source scripts.
Although that fixes the problem, it still doesn't explain my error to
me.
Everything else works quite well but I'm curious as to what I'm doing
wrong regarding X/xterm. I hadn't the problem prior to BLFS 7.5 and
don't see what I'm doing differently. Thoughts?
The terminal is not your problem. All the issues you mention have to
do with bash initialization.
First of all you need to realize that starting an xterm does not run
/etc/profile (or ~/.bash_profile, ~/.bash_login, ~/.profile) by
default because the terminal invocation of bash is not started as a
login shell. It only runs ~/.bashrc.
The /etc/bashrc file needs to be sourced explicitly from the ~/.bashrc
file.
The easiest way to debug your initialization scripts is to add an echo
statement as the first line of each script and see what is used and
the order that they are run.
For example, place 'echo ~/.bashrc' in the ~/.bashrc file.
The aliases and PS1 (and PS2/3/4 if they are customized) need to be
set for every subshell as they are not inherited from a parent shell.
-- Bruce
I believe I've found my error. I changed the LANG variable in
/etc/profile.d/i18n.sh. I had LANG=en_US.iso88591 which apparently
caused my problems. I changed it to LANG=en_US.utf8 which fixed all
problems without having to change the "*VT100*locale: true" line in
/etc/X11/app-defaults/XTerm.
The documentation states "locale -a" lists all locales. en_US.iso88591
and en_US.utf8 are listed but the documentation warns UTF-8 locales are
not supported well by some programs so I went with en_US.iso88591.
I probably should have known to use uft8 and it probably clearly states
to use it somewhere in the documentation but I missed it. The
"*VT100*locale: true" change I posted yesterday struck me as
significant. It led me to experiment with /etc/profile.d/i18n.sh and I
found en_US.utf8 works through trial and error.
Live and learn (or at least I hope I have).
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page