Ryo Furue wrote: > Hi James, > > | You appear to have snipped out: > | > | "Second, if you do so (either way), it will affect the whole KDE session > | for that user." > > I don't understand why so. You can change your own .bash_profile and > .bashrc and you can have your own konsole.desktop in > ~/.local/share/applications/ . I thought we were talking about > per-user settings. > Yes. and KDE sessions are per user. If using KDM and the GUI login, when you login, you start a KDE session for that user. So, when you login, the ".bash_profile" will be executed and with most distros, this will first source the ".bashrc" file. > | > | That is why it won't work (or might not work). > > Sorry I don't understand what "it" is. What is not working? > What Doton wants to do. Have a different language setting for interactive BASH session -- use English in Konsole, while having his default language in the rest of the session. > | If you read the 'Fine Man Page', > | > | "When bash is invoked as an interactive login shell, or as a > | non-interactive shell with the --login option, it first reads and > | executes commands from the file /etc/profile, if that file exists. After > | reading that file, it looks for ~/.bash_profile, ~/.bash_login, and > | ~/.profile, in that order, and reads and executes commands from the > | first one that exists and is readable." > | > | "When an interactive shell that is not a login shell is started, bash > | reads and executes commands from ~/.bashrc, if that file exists." > | > | You would think that it should work. However, it is also common > | practice for ".bash_profile" to change that. > > Again, I'm afraid I fail to see what's the problem here. > What does "it" refer to in your "You would think that it should work"? > There is no problem there. As I said, it appears that it should work, however, as I said, ".bash_profile" will also source ".bashrc". > I know all those things you have quoted from the manual. > But, responses to the list are written for everyone. > | # .bash_profile > | > | # Get the aliases and functions > | if [ -f ~/.bashrc ]; then > | . ~/.bashrc > | fi > > My ~/.bash_profile does have that clause. > > So, in our situation, we want > > <OUR GOAL> > .bashrc --- LANG=C > .bash_profile --- LANG=your_native_language > > Correct? > > Then, our ~/.bashrc would read > > LANG=C; export LANG > > and our ~/.bash_profile would read > > if [ -f ~/.bashrc ]; then > . ~/.bashrc > fi > > # override what's in .bashrc > LANG=your_native_language; export LANG > > Then, OUR GOAL is achieved. Or am I missing something? > This is a kludge, but it would probably work. What you are missing is that you are now setting the default language on a user basis rather than a global basis. So, I do not see it as a good solution. If you then change your LANG setting in the place where your distro put it, it doesn't work. > By the way, I've found that most login managers don't source > .bash_profile . In that case, you have to use your desktop's > (KDE's) autostart feature to load it. For fortunately, > KDM (KDE's login manager) reads your .bash_profile, at least > on the distro I use (Debian GUN/Linux). > They might not do this as the default due to the need for compatibility with various different shells. IMHO, they should be configured to do this and therefore, I insisted that KDM do this. However, if you know that the system uses BASH, there is a block of code at the start of KDM's "Xsession" script can be eliminate if the first line is changed to: #! /bin/bash --login and you can do this to other *DM's "Xsession" scripts. NOTE: you can't just add the "--login" to "/bin/sh" because then it would try to read the ".profile" file which probably doesn't exist on a Linux system and it is necessary for such a script to have (slightly) different syntax. > | Fedora 10 "/etc/skel/.bash_profile" (the default): > | > | ------8<------8<------8<------8<------8<------8<------8<------8<------ > | > | # .bash_profile > | > | # Get the aliases and functions > | if [ -f ~/.bashrc ]; then > | . ~/.bashrc > | fi > | > | # User specific environment and startup programs > | > | PATH=$PATH:$HOME/bin > | > | export PATH > | > | ------8<------8<------8<------8<------8<------8<------8<------8<------ > | > | It is this that would make it not work. Now it is possible that your > | distro doesn't have the code that sources ".bashrc" from > | ".bash_profile", but I don't like to suggest that people should make > | such changes to their distros. The script will work for everyone, and > | it is really the better way to do it since changing environment > | variables in ".bashrc" can cause problems whether or not your distro > | does this. > > I'm not sure if I understand what you say correctly, but I don't see > why you need a system wide change. You don't see that because I didn't say that. My concern is that most users don't want to circumvent the way their distro does things. It often leads to other problems. > As the manual you quoted say, > your ~/.bash_profile is read after the system wide .bash_profile > is sourced. So, you have only to make changes to your own > .bash_profile. > > | it is really the better way to do it since changing environment > | variables in ".bashrc" can cause problems whether or not your distro > | does this. > > "can cause problems" Perhaps, 'might cause problems' would have been a better choice of words. > --- What kind of problems do you have in mind? > I've had "export LANG=C" in my ~/.bashrc for years, without having > any problems at all. > Then you haven't put anything in your ".bashrc" file that should only be put in your ".bash_profile". Perhaps I should have made this clearer that there are some commands that tend to mess things up if run multiple times and, therefore, need to be in ".bash_profile". FOO="$FOO:bar" export FOO really doesn't belong in ".bashrc". -- James Tyrer Linux (mostly) From Scratch ___________________________________________________ This message is from the kde mailing list. Account management: https://mail.kde.org/mailman/listinfo/kde. Archives: http://lists.kde.org/. More info: http://www.kde.org/faq.html.