Мой LANG = ru_RU.cp1251, поэтому, если man-страница была переведена, я получаю мусор в выводе.
Проблема заключается в 'cp1251', потому что /usr /share /man /ru хранит man-страницы в другой кодировке:
/usr/share/man/ru/man1/mc.1.gz is UTF-8 /usr/share/man/ru/man1/mplayer.1.gz is koi8-r
Также человек не поддерживает перекодировку страниц на лету:
$ ls -ld /usr/share/man/ru* drwxr-xr-x+ 1 user root 0 июн 10 2010 /usr/share/man/ru drwxr-xr-x+ 1 user root 0 окт 13 10:10 /usr/share/man/ru.KOI8-R drwxr-xr-x+ 1 user root 0 окт 13 10:10 /usr/share/man/ru.UTF-8 $ test -f /usr/share/man/ru.KOI8-R/ex.1.gz && OK OK $ LANG=ru_RU.cp1251 man ex ... EN output ... $ LANG=ru_RU.UTF-8 man ex ... EN output ... $ LANG=ru.UTF-8-8 man ex ... !!RU output!! ...
так что человек не может лишить «_RU» из «ru_RU»!
Я хотел бы видеть только справочные страницы EN. В соответствии с 'man 1 man' мне нужно установить 'LANG = C', но мне нравится 'LANG = ru_RU.cp1251'!
Я пытаюсь добавить:
LANG C
в /etc/man.conf, но получил предупреждение:
Unrecognized line in config file (ignored) LANG C
В Bash я могу определить псевдоним:
$ alias man='LANG=C man'
Но как насчет Emacs Mx man? Мне нужно написать обертку и установить
(setq manual-program "LANG=C man")
Для того, чтобы исправить страничный lang для MC и bash я поставил
alias man='LANG=C man'
в ~/.bashrc
Кажется, я покрываю все мои варианты использования, но у меня есть вопросы:
- Можно ли установить настройку LANG для человека, не устанавливая LANG = C для всех других приложений (например, Emacs, MC)? Я хотел бы видеть вариант в 'man.conf'
- Правильно ли предоставить /usr /share /man /ru / файлы с другой кодировкой? Я думаю, что пакеты должны быть исправлены на 'ru.UTF-8 ', ру.KOI8-R дорожка.