Библиотека сайта rus-linux.net
7.8. Файлы загрузки оболочки Bash
Программа-оболочка /bin/bash
(далее называемая “оболочкой”)
при запуске использует набор стартовых файлов для создания
окружения. Файлы в директории /etc
предоставляют глобальные установки. Если эквивалентные файлы присутствуют
в домашней диретории, то они могут заменить глобальные установки.
Интерактивнвя регистрация оболочки запускается после успешного входа, используя
/bin/login, который читает файл
/etc/passwd
.
Интерактивнвя нерегистрированная оболочка запускается из командной строки
(т.е. [prompt]$
/bin/bash).
Неинтерактивная оболочка обычно присутствует при загрузке стартовых скриптов. Она неинтерактивная потому, что она выполняет скрипт и не ожидает ввода от пользователя между выполнением команд.
Для большей информации смотрите info bash
Файлы /etc/profile
и ~/.bash_profile
читаются, когда оболочка работает в режиме
интерактивной регистрации.
Основной файл /etc/profile
ниже устанавливает
некоторые переменные окружения, необходимые для поддержки различных языков.
Правильная их установка даст следующий результат:
-
Вывод программ транслируется на нужном языке
-
Правильная классификация символов в буквы, цифры и другие классы. Это необходимо Bash для правильного применения не-ASCII символов в командной строке при не-английской локали
-
Правилиный алфавитный порядок сортировки
-
Предпочтительный размер страницы по умолчанию
-
Правильное форматирование денежной величины, времени и даты
Этот скрипт также устанавливает переменную окружения INPUTRC
, которая заставляет Bash и Readline
использовать ранее созданный файл /etc/inputrc
.
Замените [ll]
ниже на двух-буквенный
код для требуемого языка (т.е., “ru”) и [CC]
на на двух-буквенный код страны
(т.е., “RU”).
Также может быть необходимо указание (и это актуальная и
предпочтительная форма) кодировки символов (т.е.
“koi8-r”) после точки (так,
что в результате будет “ru_RU.koi8-r”). Используйте следующую команду
для большей информации:
man 3 setlocale
Список всех локалей, поддерживаемых Glibc, может быть получен запуском следующей команды:
locale -a
Как только подходящие параметры локали будут определены, создайте файл
/etc/profile
:
cat > /etc/profile << "EOF"
# Begin /etc/profile
export LC_ALL=[ll]
_[CC]
export LANG=[ll]
_[CC]
export INPUTRC=/etc/inputrc
# End /etc/profile
EOF
Замечание
Локали “C” (по умолчанию) и “en_US” (рекомендуется для английских пользователей США) различаются.
Установка раскладки клавиатуры, эранного шрифта и локале-связанных переменных окружения является только шагом интернационализации, нужным для поддержки локалей, использующих обычные однобайтовые кодировки и направление письма слева-направо. Более комплексные вещи (включая UTF-8 основанные локали) требуют дополнительных шагов и дополнительных патчей, так как много приложений имеют склонность работать неправильно в таких условиях. Эти шаги и патчи не включены в книгу LFS и такие локали не поддерживаются LFS.