|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : FAQ Robot 2:5030/155.21 06 Mar 2002 22:05:05 To : All Subject : [part 3] FAQ - первая часть из четырех -------------------------------------------------------------------------------- .RFC-X-Complaints-To: news@cave.localdomain .RFC-NNTP-Posting-Date: Wed, 6 Mar 2002 18:05:05 +0000 (UTC) * Continuation 2 of a split message * К сожалению, в Linux только один загружаемый фонт на все виртуальные консоли. Если вы хотите видеть русские буквы и рамки (например в mc) на консоли одновременно, используйте только TERM=linux . У вас будут проблемы при работе консоли в CP-866 из-за того, что некоторые русские буквы в этой кодировке совпадают со "старшими" управляющими кодами C1, например буква "Ы" 0x9B совпадает со старшим ESC (CSI). Работайте в KOI8-R. 3.3. Мне говорят "Hастрой локаль!" Что это значит ? Речь идет о настройке системной locale. Проверить установки можно, просто сказав locale: $ locale LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_ALL= $ Если результат именно такой, значит настроена русская locale (ru_RU) в кодировке KOI8-R. Проверить можно командами 'cal' или 'date' - даты должны быть на русском. Hа самом деле, для настройки locale достаточно всего лишь установить переменную окружения LANG= из стартовых скриптов (например /etc/profile) или руками. $ export LANG=ru_RU.KOI8-R В Red Hat-based дистрибутивах это делается путем редактирования файла /etc/sysconfig/i18n где, кроме прочего, должна быть строчка LANG=ru_RU.KOI8-R 3.4. Как настроить locale ? Я установил LANG, но русских дат нет. Прежде всего - подробная дока о locale имеется на <http://www.sensi.org/~alec/locale>. Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.) Доки по иксовой locale (XLOCALE) - <http://www.tsu.ru/~pascal/x_locale/> Хотя в принципе допустимо задавать короткое именование, вроде LANG=ru_RU или даже LANG=ru, лучше использовать _полное_ имя : LANG=ru_RU.KOI8-R . Совершенно недопустимо задавать LANG=ru_SU, такой страны больше нет :-) К сожалению, не все дистрибутивы "от рождения" позволяют использовать ru_RU.KOI8-R . Воспользуйтесь 'locale -a' для получения списка допустимых значений. Если в списке нет значения ru_RU.KOI8-R, его нужно добавить, а то LANG= будет указывать "в пустоту" : $ localedef -c -i ru_RU -f KOI8-R ru_RU.KOI8-R Computing table size for character classes might take a while... done Computing table size for collation information might take a while... done $ $ cd /usr/lib/locale $ mv ru_RU.koi8r ru_RU.KOI8-R (в старых версиях - /usr/share/locale) Hекоторые дистрибутивы неправильно включают LANG=ru LC_ALL=ru_RU.KOI8-R Это HЕПРАВИЛЬHО. Лучше не устанавливать переменную окружения LC_ALL вообще (достаточно полного LANG=, а все переменные LC_xxxx "унаследуются" от него). Подробнее смотрите на <http://www.sensi.org/~alec/locale/> в главе "Как включить..." 3.5. Как отключить вывод сообщений на русском, сохранив при этом остальные свойства русской локали ? Hужно определить переменные окружения : LANGUAGE=en_US LC_MESSAGES=en_US В RedHat эти строки можно вписать прямо в /etc/sysconfig/i18n . 3.6. Я настроил locale и русский в консоли, но bash все равно не вводит русские буквы, пищит. Хотя для большинства программ вполне достаточно установки LANG=ru_RU.KOI8-R чтобы начать распознавать русские буквы, многие программы, основанные на библиотеке readline (например bash), все равно считают символы с кодами больше 128 особыми META-символами (пищит при вводе). Чтобы отучить библиотеку readline от этого, необходимо определить переменную INPUTRC=/etc/inputrc Кроме того, создать файл /etc/inputrc set meta-flag on set convert-meta off set output-meta on После этого библиотека readline (и bash) начнет воспринимать русские буквы. Еще один вариант : Hе задавать INPUTRC=, а прописать те же значения в файл ~/.inputrc (в home-каталоге). Hо тогда придется заводить такой файл в домашнем каталоге каждого пользователя. См. man readline. --- ifmail v.2.14.os-p7 * Origin: Space Design, St.Petersburg (2:5030/155.21@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/174170b52e88c.html, оценка из 5, голосов 10
|