>[оверквотинг удален]
>> set convert-meta off
>> set input-meta on
>> set output-meta on
> Вроде подобно делал:
> set meta-flag on
> set convert-meta off
> set output-meta on
> Взято из другого источника - правда одна строчка не совпадает - знать
> бы что они делают - это видимо мануал на bash курить
> надо. На все надо время...а вы хотите чтобы произошло озарение свыше?!
input-meta и meta-flag одно и тоже
> В любом случае - Спасибо...
не на чем.
Лучше прочитать и понять, чем убить кучу времени на тырканье.
1) загрузка фонта (vidcontrol)
2) загрузка клавиатурного мапинга
верхнее есть минимум для локализации КОНСОЛИ, в системе для этого есть:
# ls /usr/share/syscons/
fonts - фонты
keymaps - клавиатурный мапинг
scrnmaps - screen мапинг
как видим ничего сложного нет, есть тонкости:
- если для locale ru_RU.KOI8-R мы грузим koi8-r фонты и koi8-r keymap то все однозначано
- если для локализации ru_RU.KOI8-R мы хотим использовать фонты cp866 (они качественней чем koi8r), то необходимо использовать скринмаппинг для соответствия
Чего нет в системе для верхнего? Нет scrnmap для фонтов cp1251 в koi8-r,
нет keymapинга ru.cp1251.kbd
Но все это при необходимости можно найти в RUNet'е
Итого для локализации консоли необходимы: фонт и keymap
Что происходит дальше?
Дальше мы производим вход в систему, интерактивную работу нам обеспечивает SHELL,
значит shell должен поддерживать 8bit in/out и быть настроен, как в случае с bash
- .inputrc
Чтобы задать требуемое locale, необходимо как минимум настроить переменную среды
LANG - man environ
для csh/tsch
# setenv LANG ru_RU.KOI8-R
для sh/bash
# export LANG=ru_RU.koi8-R
верхнее показывает ручную настройку параметров среды, для автоматической, есть два
варианта:
1) для каждого SHELL'а есть start-stop скрипты, системные и пользовательские,
например для csh/tsch
системные: /etc/csh.[cshrc|login]
пользовательские: $HOME/.login и $HOME/.cshrc ($HOME домашняя директория)
для sh/bash
системные: /etc/profile
пользовательские: $HOME/.profile для bash $HOME/.bash_profile и $HOME/.bashrc
настройки локализации можно задать в старт скриптах шела
2) можно использовать login классы - man login.conf и ряд необходимых настроек
задавать в настройках классов, пользователи заводятся с указанием необходимого
класса или после заведения правится класс принадлежности пользователя
И это снова не все для локализации консоли, необходимо поправить файл /etc/ttys
описание эмулируемого терминала в виртуальных консолях, до 9'ки для
консоли нужно было задавать:
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25r on secure
cons25r - тип эмулируемого терминала, в оригинале был cons25
# less /etc/termcap
поиск cons25 и cons25r и сравнение
termcap - база эмулируемых терминалов с установками.
В 9'ке лучше вместо cons25r использовать xterm, ну да он там by default
Чтобы изменения /etc/ttys вошли в силу, нужно выполнить:
# kill -HUP 1
getty на vt'аях будут перезапущены
ниже пример:
[alone]~ > echo $SHELL
/usr/local/bin/bash
[alone]~ > echo $TERM
xterm
[alone]~ > echo $TERMCAP
/usr/local/etc/termcap
[alone]~ > echo $LANG
ru_RU.KOI8-R
[alone]~ > locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_ALL=
[alone]~ >
некоторые полезные переменные:
[alone]~ > env | grep -i koi
MM_CHARSET=KOI8-R
LANG=ru_RU.KOI8-R
LESSCHARSET=koi8-r
CHARSET=KOI8-R
[alone]~ >
не забывайте про переменные TERM - вы можете менять тип эмуляции терминала,
TERMCAP - задает базу termcap, /etc/termcap -> /usr/share/misc/termcap
Все верхнее относится к локализации консоли, и никакой перезагрузки не требуется,
если все правильно и по полочкам прописано в нужных файлах, все будет работать
автоматом и после перезагрузки.
Если пользователи заводятся через adduser - можно настроить /etc/skel для всех,
поместив туда необходимые шаблоны старт-стоп файлов shell, пример в
[alone]~ > ls -la /usr/share/skel/
total 20
drwxr-xr-x 2 root wheel 512 13 июл 2011 .
drwxr-xr-x 25 root wheel 512 3 ноя 2010 ..
-rw-r--r-- 1 root wheel 759 13 июл 2011 dot.cshrc
-rw-r--r-- 1 root wheel 257 13 июл 2011 dot.login
-rw-r--r-- 1 root wheel 167 13 июл 2011 dot.login_conf
-rw------- 1 root wheel 379 13 июл 2011 dot.mail_aliases
-rw-r--r-- 1 root wheel 339 13 июл 2011 dot.mailrc
-rw-r--r-- 1 root wheel 785 13 июл 2011 dot.profile
-rw------- 1 root wheel 284 13 июл 2011 dot.rhosts
-rw-r--r-- 1 root wheel 980 13 июл 2011 dot.shrc
при заведении пользователей dot файлы будут копимроваться пользователям в $HOME,
например dot.login -> $HOME/.login и тд и тп
пример:
[alone]~ > ls -la zoneinfo
-rw-r--r-- 1 lavr users 696 28 мар 2011 zoneinfo
[alone]~ > locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_ALL=
[alone]~ > export LC_TIME="C"
[alone]~ > ls -la zoneinfo
-rw-r--r-- 1 lavr users 696 Mar 28 2011 zoneinfo
[alone]~ >
сравните даты в примере.
man locale, man setlocale
Надеюсь верхнее наведет некий порядок в дальнейшем понимании:
читайте man, handbook и основополагающие статьи, ссылка на сайт Ивана Паскаля