Ignore:
Timestamp:
12/18/2005 06:31:04 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
faaf88e
Parents:
b78c747
Message:

Chapter07 indentation.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7230 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter07/profile.xml

    rb78c747 rd781ffb  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-scripts-profile">
    7 <title>The Bash Shell Startup Files</title>
    8 <?dbhtml filename="profile.html"?>
     9  <?dbhtml filename="profile.html"?>
    910
    10 <indexterm zone="ch-scripts-profile"><primary sortas="e-/etc/profile">/etc/profile</primary></indexterm>
     11  <title>The Bash Shell Startup Files</title>
    1112
    12 <para>The shell program <command>/bin/bash</command> (hereafter
    13 referred to as <quote>the shell</quote>) uses a collection of startup
    14 files to help create an environment to run in. Each file has a
    15 specific use and may affect login and interactive environments
    16 differently. The files in the <filename
    17 class="directory">/etc</filename> directory provide global settings.
    18 If an equivalent file exists in the home directory, it may override
    19 the global settings.</para>
     13  <indexterm zone="ch-scripts-profile">
     14    <primary sortas="e-/etc/profile">/etc/profile</primary>
     15  </indexterm>
    2016
    21 <para>An interactive login shell is started after a successful login,
    22 using <command>/bin/login</command>, by reading the
    23 <filename>/etc/passwd</filename> file. An interactive non-login shell
    24 is started at the command-line (e.g.,
    25 <prompt>[prompt]$</prompt><command>/bin/bash</command>). A
    26 non-interactive shell is usually present when a shell script is
    27 running. It is non-interactive because it is processing a script and
    28 not waiting for user input between commands.</para>
     17  <para>The shell program <command>/bin/bash</command> (hereafter referred to
     18  as <quote>the shell</quote>) uses a collection of startup files to help
     19  create an environment to run in. Each file has a specific use and may affect
     20  login and interactive environments differently. The files in the <filename
     21  class="directory">/etc</filename> directory provide global settings. If an
     22  equivalent file exists in the home directory, it may override the global
     23  settings.</para>
    2924
    30 <para>For more information, see <command>info bash</command> under the
    31 <emphasis>Bash Startup Files and Interactive Shells</emphasis> section.</para>
     25  <para>An interactive login shell is started after a successful login, using
     26  <command>/bin/login</command>, by reading the <filename>/etc/passwd</filename>
     27  file. An interactive non-login shell is started at the command-line (e.g.,
     28  <prompt>[prompt]$</prompt><command>/bin/bash</command>). A non-interactive
     29  shell is usually present when a shell script is running. It is non-interactive
     30  because it is processing a script and not waiting for user input between
     31  commands.</para>
    3232
    33 <para>The files <filename>/etc/profile</filename> and
    34 <filename>~/.bash_profile</filename> are read when the shell is
    35 invoked as an interactive login shell.</para>
     33  <para>For more information, see <command>info bash</command> under the
     34  <emphasis>Bash Startup Files and Interactive Shells</emphasis> section.</para>
    3635
    37 <para>The base <filename>/etc/profile</filename> below sets some
    38 environment variables necessary for native language support. Setting
    39 them properly results in:</para>
     36  <para>The files <filename>/etc/profile</filename> and
     37  <filename>~/.bash_profile</filename> are read when the shell is
     38  invoked as an interactive login shell.</para>
    4039
    41 <itemizedlist>
    42 <listitem><para>The output of programs translated into the native
    43 language</para></listitem>
    44 <listitem><para>Correct classification of characters into letters, digits and
    45 other classes. This is necessary for <command>bash</command> to properly accept
    46 non-ASCII characters in command lines in non-English locales</para></listitem>
    47 <listitem><para>The correct alphabetical sorting order for the
    48 country</para></listitem>
    49 <listitem><para>Appropriate default paper size</para></listitem>
    50 <listitem><para>Correct formatting of monetary, time, and date
    51 values</para></listitem>
    52 </itemizedlist>
     40  <para>The base <filename>/etc/profile</filename> below sets some
     41  environment variables necessary for native language support. Setting
     42  them properly results in:</para>
    5343
    54 <para>This script also sets the <envar>INPUTRC</envar> environment variable that
    55 makes Bash and Readline use the <filename>/etc/inputrc</filename> file created
    56 earlier.</para>
     44  <itemizedlist>
     45    <listitem>
     46      <para>The output of programs translated into the native language</para>
     47    </listitem>
     48    <listitem>
     49      <para>Correct classification of characters into letters, digits and other
     50      classes. This is necessary for <command>bash</command> to properly accept
     51      non-ASCII characters in command lines in non-English locales</para>
     52    </listitem>
     53    <listitem>
     54      <para>The correct alphabetical sorting order for the country</para>
     55    </listitem>
     56    <listitem>
     57      <para>Appropriate default paper size</para>
     58    </listitem>
     59    <listitem>
     60      <para>Correct formatting of monetary, time, and date values</para>
     61    </listitem>
     62  </itemizedlist>
    5763
    58 <para>Replace <replaceable>[ll]</replaceable> below with the
    59 two-letter code for the desired language (e.g., <quote>en</quote>) and
    60 <replaceable>[CC]</replaceable> with the two-letter code for the
    61 appropriate country (e.g., <quote>GB</quote>).
    62 <replaceable>[charmap]</replaceable> should be replaced with the
    63 canonical charmap for your chosen locale.</para>
     64  <para>This script also sets the <envar>INPUTRC</envar> environment variable that
     65  makes Bash and Readline use the <filename>/etc/inputrc</filename> file created
     66  earlier.</para>
    6467
    65 <para>The list of all locales supported by Glibc can be obtained by running
    66 the following command:</para>
     68  <para>Replace <replaceable>[ll]</replaceable> below with the two-letter code
     69  for the desired language (e.g., <quote>en</quote>) and
     70  <replaceable>[CC]</replaceable> with the two-letter code for the appropriate
     71  country (e.g., <quote>GB</quote>). <replaceable>[charmap]</replaceable> should
     72  be replaced with the canonical charmap for your chosen locale.</para>
     73
     74  <para>The list of all locales supported by Glibc can be obtained by running
     75  the following command:</para>
    6776
    6877<screen role="nodump"><userinput>locale -a</userinput></screen>
    6978
    70 <para>Locales can have a number of synonyms, e.g. <quote>ISO-8859-1</quote> is
    71 also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>.
    72 Some applications cannot handle the various synonyms correctly, so it is safest
    73 to choose the canonical name for a particular locale.  To determine the
    74 canonical name, run the following command, where
    75 <replaceable>[locale name]</replaceable> is the output given by
    76 <command>locale -a</command> for your preferred locale
    77 (<quote>en_GB.iso88591</quote> in our example).</para>
     79  <para>Locales can have a number of synonyms, e.g. <quote>ISO-8859-1</quote>
     80  is also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>.
     81  Some applications cannot handle the various synonyms correctly, so it is
     82  safest to choose the canonical name for a particular locale. To determine
     83  the canonical name, run the following command, where <replaceable>[locale
     84  name]</replaceable> is the output given by <command>locale -a</command> for
     85  your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
    7886
    7987<screen role="nodump"><userinput>LC_ALL=<replaceable>[locale name]</replaceable> locale charmap</userinput></screen>
    8088
    81 <para>For the <quote>en_GB.iso88591</quote> locale, the above command
    82 will print:</para>
     89  <para>For the <quote>en_GB.iso88591</quote> locale, the above command
     90  will print:</para>
    8391
    84 <screen>ISO-8859-1</screen>
     92<screen><computeroutput>ISO-8859-1</computeroutput></screen>
    8593
    86 <para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
    87 It is important that the locale found using the heuristic above is tested prior
    88 to it being added to the Bash startup files:</para>
     94  <para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
     95  It is important that the locale found using the heuristic above is tested prior
     96  to it being added to the Bash startup files:</para>
    8997
    9098<screen role="nodump"><userinput>LC_ALL=[locale name] locale country
     
    94102LC_ALL=[locale name] locale int_prefix</userinput></screen>
    95103
    96 <para>The above commands should print the country and language names, the
    97 character encoding used by the locale, the local currency and the prefix to dial
    98 before the telephone number in order to get into the country. If any of the
    99 commands above fail with a message similar to the one shown below, this means
    100 that your locale was either not installed in Chapter 6 or is not supported by
    101 the default installation of Glibc.</para>
     104  <para>The above commands should print the country and language names, the
     105  character encoding used by the locale, the local currency and the prefix to dial
     106  before the telephone number in order to get into the country. If any of the
     107  commands above fail with a message similar to the one shown below, this means
     108  that your locale was either not installed in Chapter 6 or is not supported by
     109  the default installation of Glibc.</para>
    102110
    103111<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>
    104112
    105 <para>If this happens, you should either install the desired locale using the <command>localedef</command> command, or consider choosing a different locale.
    106 Further instructions assume that there are no such error messages from Glibc.
    107 </para>
     113  <para>If this happens, you should either install the desired locale using the
     114  <command>localedef</command> command, or consider choosing a different locale.
     115  Further instructions assume that there are no such error messages from
     116  Glibc.</para>
    108117
    109 <para>Some packages beyond LFS may also lack support for your chosen locale. One
    110 example is the X library (part of the X Window System), which outputs the
    111 following error message:</para>
     118  <para>Some packages beyond LFS may also lack support for your chosen locale. One
     119  example is the X library (part of the X Window System), which outputs the
     120  following error message:</para>
    112121
    113122<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>
    114123
    115 <para>Sometimes it is possible to fix this by removing the charmap part of the
    116 locale specification, as long as that does not change the character map that
    117 Glibc associates with the locale (this can be checked by running the
    118 <command>locale charmap</command> command in both locales).  For example, one
    119 would have to change &quot;de_DE.ISO-8859-15@euro&quot; to
    120 &quot;de_DE@euro&quot; in order to get this locale recognized by Xlib.</para>
     124  <para>Sometimes it is possible to fix this by removing the charmap part of the
     125  locale specification, as long as that does not change the character map that
     126  Glibc associates with the locale (this can be checked by running the
     127  <command>locale charmap</command> command in both locales).  For example, one
     128  would have to change &quot;de_DE.ISO-8859-15@euro&quot; to
     129  &quot;de_DE@euro&quot; in order to get this locale recognized by Xlib.</para>
    121130
    122 <para>Other packages can also function incorrectly (but may not necessarily
    123 display any error messages) if the locale name does not meet their expectations.
    124 In those cases, investigating how other Linux distributions support your locale
    125 might provide some useful information.</para>
     131  <para>Other packages can also function incorrectly (but may not necessarily
     132  display any error messages) if the locale name does not meet their expectations.
     133  In those cases, investigating how other Linux distributions support your locale
     134  might provide some useful information.</para>
    126135
    127 <para>Once the proper locale settings have been determined, create the
    128 <filename>/etc/profile</filename> file:</para>
     136  <para>Once the proper locale settings have been determined, create the
     137  <filename>/etc/profile</filename> file:</para>
    129138
    130139<screen><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
     
    137146EOF</userinput></screen>
    138147
    139 <note><para>The <quote>C</quote> (default) and <quote>en_US</quote>
    140 (the recommended one for United States English users) locales are
    141 different.</para></note>
     148  <note>
     149    <para>The <quote>C</quote> (default) and <quote>en_US</quote> (the
     150    recommended one for United States English users) locales are different.</para>
     151  </note>
    142152
    143 <para>Setting the keyboard layout, screen font, and
    144 locale-related environment variables are the only internationalization
    145 steps needed to support locales that use ordinary single-byte
    146 encodings and left-to-right writing direction. More complex cases
    147 (including UTF-8 based locales) require additional steps and
    148 additional patches because many applications tend to not work properly
    149 under such conditions.  These steps and patches are not included in
    150 the LFS book and such locales are not yet supported by LFS.</para>
     153  <para>Setting the keyboard layout, screen font, and locale-related environment
     154  variables are the only internationalization steps needed to support locales
     155  that use ordinary single-byte encodings and left-to-right writing direction.
     156  More complex cases (including UTF-8 based locales) require additional steps
     157  and additional patches because many applications tend to not work properly
     158  under such conditions. These steps and patches are not included in the LFS
     159  book and such locales are not yet supported by LFS.</para>
    151160
    152161</sect1>
    153 
Note: See TracChangeset for help on using the changeset viewer.