Re: aptitude, xterm и локаль ru_RU.UTF-8
On Tue, Mar 27, 2007 at 09:23:22PM +0400, Artem Chuprina wrote:
> Stanislav Maslovski -> debian-russian@lists.debian.org @ Tue, 27 Mar 2007 20:44:48 +0400:
>
> >> В сообщении от 27 марта 2007 15:37 Stanislav Maslovski написал(a):
> >>
> >> > $ cat .Xresources | egrep '^XTerm|^[ \t]'
> >>
> >> У меня оно дефолтное из /etc/X11/app-defaults/
>
> SM> Пробовал комментировать все, что относится к XTerm в своем
> SM> .Xsession, но это мало что меняет. Заметил, что в терминале 80x25
> SM> эффект не так якрко проявляется, как на 100x40, но только и
> SM> всего. Куда копать? Хочется победить эту ерунду.
>
> Это зависит от того, _как_ ты хочешь ее победить. Можно, например,
> сказать export LC_MESSAGES=C.
Это понятно, однако хочется большего.
> Кстати, для эксперимента так очень стоит
> сделать... Это радикально лечит русский в сообщениях, что само по себе
> часто полезно, ибо переводы бывают кривые и очень кривые. В админских
> инструментах это не рулез.
Пользуясь медицинскими терминами, это не лечение, это - ампутация.
Повременим. Да и вопрос был о другом.
> В остальном надо помнить, что при выводе текста на экран в терминале
> рояль играют три компонента: кодировка, в которой выводит текст
> программа (aptitude в данном случае), локаль, в которой запущен эмулятор
> терминала (роляет только для single-byte vs. multibyte) и, возможно,
> параметр "уметь работать с UTF-8", и шрифт, которым ЭТО отображается.
>
> Поскольку локаль - свойство процесса, то локали, в которых запущены
> эмулятор и программа, вообще говоря, могут различаться. Но это обычно
> чревато боком.
В настоящий момент в системе просто в /etc/default/locale:
$ cat /etc/default/locale
# File generated by update-locale
LANG=ru_RU.UTF-8
Да, это плохо, в некоторых смыслах, но пока забудем.
> У xterm еще существует такой зверь, как luit - "встроенный"
> перекодировщик. Ключ -lc (ресурс locale) включает его, если локаль у
> тебя 8-битная, а xterm запущен в UTF-8.
Знаю про luit. Вещь, действительно, иногда полезная.
> Собственно, сам UTF-8 режим включается посредством ключа -u8 (ресурс utf8).
> У меня для xterm, запущенного в UTF-8 локали, он хитрым зюком выставляется
> через ресурсы.
Пробовал с -u8, без -u8, курил маны. На тестах в своей локали (см. выше)
разницы не заметил. -lc, +lc тоже пробовал в разных комбинациях.
> Заодно со шрифтом, который выбирается сообразно локали, в которой
> запускается xterm.
Шрифт - юникодный терминус. Пробовал и другие.
> Так вот, если все параметры состроены правильно (применительно к данной
> ситуации - xterm и aptitude запущены в UTF-8, у xterm выставлен ресурс
> utf8, используется шрифт с кодировкой iso10646-1) - все работает.
Всё так. А результат имеем другой. Вот и пойми, в чем тут дело.
Хорошо, хоть я вижу, что есть еще по крайней мере один человек,
у которого наблюдаются такие же чудеса.
--
Stanislav
Reply to: