%general-entities; ]> The Bash Shell Startup Files /etc/profile The shell program /bin/bash (hereafter referred to as just the shell) uses a collection of startup files to help create an environment to run in. Each file has a specific use and may affect login and interactive environments differently. The files in the /etc directory generally provide global settings. If an equivalent file exists in your home directory it may override the global settings. An interactive login shell is started after a successful login, using /bin/login, by reading the /etc/passwd file. An interactive non-login shell is started at the command-line (e.g., [prompt]$/bin/bash). A non-interactive shell is usually present when a shell script is running. It is non-interactive because it is processing a script and not waiting for user input between commands. For more information see info bash -- Nodes: Bash Startup Files and Interactive Shells. The files /etc/profile and ~/.bash_profile are read when the shell is invoked as an interactive login shell. A base /etc/profile created below only sets some environment variables necessary for Bash to accept keystrokes properly, even in non-English locale. Replace [ll] with the two-letter code for your language (e.g., en) and [CC] with the two-letter code for your country (e.g., GB). Also you may need to specify (and this is actually the preferred form) your character encoding (e.g. iso8859-1) after a dot (so that the result is en_GB.iso8859-1). Issue the following command for more information: man 3 setlocale The list of all locales supported by Glibc can be obtained by running the following command: locale -a Now, when you are sure about your locale settings, create the /etc/profile file: cat > /etc/profile << "EOF" # Begin /etc/profile # Written for Linux From Scratch # by Alexander E. Patrakov export LC_ALL=[ll]_[CC] export LANG=[ll]_[CC] export INPUTRC=/etc/inputrc # End /etc/profile EOF Setting the keyboard layout, the screen font and the locale-related environment variables are the only internationalization steps needed to support locales that use ordinary single-byte encodings and left-to-right writing direction. More complex cases (including UTF-8 based locales) require additional steps and additional patches because many applications tend to break in such conditions. Because of too little educational value for a typical reader, these steps and patches are not included in the LFS book and such locales are not supported by LFS in any way.