2

Мой 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 дорожка.

0