В сообщении от 11 Июнь 2005 17:38 Eugen Wissner написал(a): > Здравствуйте. > Имею проблемы с локализацией Debian woody (rev5). > Прописал в ~/.bash_profile (туда хоть написал > куда надо?) следующие строчки: > export LC_CTYPE=ru_RU > export LANG=ru_RU.KOI8-R > export LC_ALL=ru_RU.KOI8-R Туда-туда. > После этого жить стало намного легче. Но > остались некоторые недоразумения. > Во-первых mutt (запускаю с консоли) так и > отказывается отображать > koi8-r. Уже рылся по всяким статьям пробовал > настройки на угад... без > толку. Наверняка, что-то не то делаю, или > сделал. Может кто-то > конкретные настройки пояснит. У mutt свой конфиг, и set-language-env создает его правильно.
> Во-вторых, запускается у меня KDE, пускаю я > konsole, набираю locale и > везде вместо "ru_RU.KOI8-R" пишется стандартный > "POSIX". При чем возьмем > в пример игрушку Джезбол, она вместо > русского шрифта показывает > "????????", а если запустить ее с konsole, > предварительно присвоив > переменным LC_ALL и LANG значение ru_RU.KOI8-R, то со > шрифтами > становится все в порядке. > Поясните, пожалуйста, в чем тут проблема с > иксами, kde..., а то я > новенький..., тяжко. Корень проблемы лежит в том, что LANG прописан у тебя в пользовательском конфиге bash. И чтобы X унаследовал это окружение, необходимо запустить X из bash от имени пользователя, тогда будет все ok. Можешь проверить, набрав startx в консоли. Обычно же (из коробки) X запускается процессом init, а еще точне его грузит kdm (или xdm, или gdm), которые не наследуют никакого окружения. Следовательно и все программки запущенные в иксах, работают в POSIX локали. В этом можно убедится, если запустить какое-нибудь простенькое X приложение, узнать его PID и посмотреть в /proc/$PID/environment. Вариант запуска xterm и команды echo $LANG не работает, поскольку xterm запускает bash, а bash выполняет .bash_profile, следовательно echo запускается уже в окружении с LANG из .bash_profile. Может показаться, что и все остальное будет иметь нужный LANG, однако это не так - только то, что запущено из xterm. Как же сделать, чтобы X и все другие приложения работали в нужной локали? Вариант прописать в /etc/environment рабочий, однако, позволю себе заметить, что не правильный с точки зрения multiuser системы. Переменные в этом файле устанавливаются при логине любого пользователя. А если он root? Или ему нужна немецкая локаль? Короче правильно, я считаю, прописать в .bash_profile и в .xsession. Последний выполняется перед стартом X от имени пользователя, таким образом X запускаются с "правильным" окружением. PS: Довольно долго пришлось когда-то самому потрахаться с этим, прежде чем понял в чем дело =) Макс -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

