[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: