![]() |
Некоторый проблемы с локализацией
У меня возникла проблема с нормальной русификацией таких терминалов, как xterm, rxvt.
Обычно для локализации системы достаточно установить переменные LANG и LC_MESSAGES, после чего все программы, поддерживающие локализацию будут говроить на русском. В предыдущих версиях FreeBSD этого хватало, плюс, конечно, требовалось настроить шрифты. Сейчас при запуске терминала xterm или rxvt ни один из них русские символы не отображает, вместо них показывают буквы западноевропейских алфавитов. В манах по xterm'у я нашёл опцию -lc, которая заставляет его использовать текущую локаль (я точно помню, что раньше никаких таких опций я не использовал), после запуска с этой опцией с отображением кириллицы становится всё в порядке. Зато непорядок с отображением псевдографики (в mc, например, вместо псевдографики выводятся уже обычные буквы английского алфавита) и с некоторыми сочетаниями клавиш. С последними всё очень странно, в mc работают почти все сочетания, кроме ctrl+o, работают все сочетания с ctrl+x, ctrl+u, ctrl+\, без большинства из них я обойтись могу, но без ctrl+o - никак! Если запускать xterm без локализации, то это сочетание там работает нормально, в консоли также всё нормально настроено и работает. Я пробовал запускать xterm с явным указанием шрифта (типа без локализации, но с намерением заменить западноевропейские символы на кириллицу), а он вот что в ответ выдаёт %xterm -fn clean xterm: unable to open font "clean", trying "fixed".... то же самое пишет и на полное имя шрифта из xfontsel, есть подозрение, что он хочет какой-то моноширинный шрифт. Всё это в системе FreeBSD 6.3. Кто-нибудь может помочь всё же заставить xterm корректно выводить кириллицу, псевдографику и обрабатывать сочетания клавиш? |
у меня например так
/etc/profile Код:
LANG=ru_RU.KOI8-R; export LANG Код:
setenv LANG ru_RU.KOI8-R |
ElVоvan, ещё 1 способ
Код:
1. Как быстро "руссифицировать" пользователя для работы в консоли? |
/etc/rc.conf (фрагмент)
Код:
keymap=ru.koi8-r Код:
setenv LANG ru_RU.KOI8-R Ещё в самом начале забыл упомянуть, что при запуске с опцией -lc (то есть с указанием использовать текущую локаль) xterm выдаёт предупреждение Warning: could not change ownership of tty -- pty is insecure! |
Была у меня такая проблема :), уж не знаю чего бзде надо было ) но дело решилось тем, что запись вида
Код:
XTerm*locale: True Хотя не все так просто оказалось, действительное решение есть вот тут http://www.macosxhints.com/article.p...50517165140613 Подробности в мане по xterm`у :). |
Спасибо автору темы и всем ответившим. Ваши сообщения помогли мне разобраться с xterm'ом и локалью KOI8-R.
Как и у автора темы, во FreeBSD 6.2 у меня не было проблем с иксовыми терминалами после локализации системы по хэндбуку в KOI8-R. Когда же я попробовал проделать всё тоже самое в версии 7.0, у меня случилась та же история, что и у автора темы -- ввод и вывод русских букв в эмуляторах терминала не работал. Благодаря вам и поискам в Сети, в конце концов, мне удалось ситуацию с локализацией разрулить. Вот, что я сделал и выяснил: 1. Страница хэндбука обновилась, и теперь в разделе "20.5.1.5. Настройка X11" (http://www.freebsd.org/doc/ru_RU.KOI...ang-setup.html) появилось следующее: "Обратитесь к KOI8-R for X Window (http://koi8.pp.ru/xwin.html) за дальнейшими инструкциями по локализации приложений X11." где, в свою очередь, написано следующее: "Software Tuning: * XTerm New version require locale converter /usr/X11R6/bin/luit installed to work with non UTF-8, i.e. ru_RU.KOI8-R locale. Add XTerm*locale: true XTerm*VT100*allowC1Printable: true into your ~/.Xdefaults file." Таким образом, "сломали" что-то не во Фре, а в новой версии Xorg'а и, соответственно, терминала. 2. После добавления вышеуказанных строк в .Xdefaults русские буквы в терминале у меня работают, но, при запуске терминала имеем Warning: could not change ownership of tty -- pty is insecure! в качестве первой строки. Хотя, вроде как, строчка XTerm*locale: true от этого должна бы избавлять... 3. Ещё обнаружилась страница http://lists.unixcenter.ru/archives/...il/009889.html с настройками шрифтов xterm'а, которая решает все проблемы с вводом и выводом русских букв. То есть, в .Xdefaults требуется добавить следующее: XTerm*Font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r XTerm*Font2: -cronyx-fixed-medium-r-normal--10-*-*-*-*-*-koi8-r XTerm*Font3: -cronyx-fixed-medium-r-normal--13-*-*-*-*-*-koi8-r XTerm*Font4: -cronyx-fixed-medium-r-normal--15-*-*-*-*-*-koi8-r XTerm*Font5: -cronyx-fixed-medium-r-normal--20-*-*-*-*-*-koi8-r XTerm*Font6: -cronyx-fixed-medium-r-normal--24-*-*-*-*-*-koi8-r После внесения этих изменений, русский вводится и выводится, и предупреждений никаких после запуска терминала не отображается. 4. В конце концов, локализовал у себя консоль в KOI8-R, а X.Org -- в UTF-8, для чего в .xinitrc было достаточно добавить: export LANG='ru_RU.UTF-8' export LC_ALL='ru_RU.UTF-8' В результате получился, на мой взгляд, оптимальный вариант -- и консоль локализована без извращений, и иксы имеем в современной кодировке, которая абсолютно исправно работает точно также, как и в любом дистрибутиве Линукса. А по большому счёту, заниматься локализацие консоли смысла никакого нет, если Вы используете FreeBSD дома с запущенным X.Org (а скорее всего, так и есть), поэтому, для локализации всей системы достаточно добавить две последние строчки в .xinitrc, после чего всё у Вас будет Окэй. |
Время: 12:33. |
Время: 12:33.
© OSzone.net 2001-