Skip to content

06RU1MAN

slacknk edited this page Jan 7, 2020 · 1 revision

русские man'ы

man-pages-ru на utf8

Решения для использования страниц из проекта Man-pages-ru/

  1. Патчим man и устанавливаем man-pages-ru. Для последнего не забудьте прописать и закомментировать в /usr/lib${LIBDIRSUFFIX}/man.conf для 14.1 и /etc/man.conf - 14.2
#NROFF		/usr/bin/nroff -mandoc
NROFF   	/usr/bin/groff -Dutf8 -Tutf8 -mandoc
  1. Собранный пропатченный man от DeepStyle - уже готовый пропатченый пакет man с поддержкой utf8 может быть найден у них в репозитории

man-pages-ru-alt/mops/agilialinux на koi8r

Еще шпаргалка, если вас угораздило использовать man-pages-ru на koi8r от ALT версии 0.98-altXX (man-pages-ru-0.98-alt23) или те которые собраны были в пакет во времена MOPSLinuх (man-pages-ru-4.2), то в man.conf необходимо прописать следующее:

NROFF 		/usr/bin/nroff -Tlatin1 -mandoc -c | iconv -f koi8r

• Если сами собераете, то порядок и действия для сборки cамого man-pages-ru из rpm от ALTLinux подсмотреть можно в Arch/AUR

    rpm2cpio $TMP/$SRCRPM | bsdtar -xf -
    
    mkdir -p $PKG/usr/man/ru
    for section in 1 2 3 4 5 6 7 8 ; do
      mv man$section $PKG/usr/man/ru
    done
    
    cd $PKG/usr/man/ru
    rm -vf man1/groups.1*
    rm -vf man1/passwd.1*
    rm -vf man5/passwd.5*

И если все таки на каких-то руководствах (man xfce4-terminal) встречается непростая кодировка и не хочется заморачиваться с унификацией хранения, есть смысл глянуть в сторону сторонней enca (есть на SBo), которая умеет угадывать кодировку, через нее перегонять заведомо в utf8, а дальше форматировать через groff -Dutf8 -Tutf8 -mandoc , в man.conf пропишите:

NROFF /usr/bin/enconv -L ru -x utf8 | /usr/bin/groff -Dutf8 -Tutf8 -mandoc

IMHO
  • не знаю, но на фоне всех man'ов на русском, мне ALT'овские показались самыми переведенными по количеству

man-pages-ru-SBo из SBo для 14.x

Если предпочитаете man-pages-ru из SBo, для начала соберите и установите данный пакет: man-pages-ru

# sbopkg -Bki man-pages-ru

после сборки установки в /etc/man.conf для NROFF пропишите:

  • NROFF /usr/bin/groff -Dutf8 -Tutf8 -mandoc

должно получиться что-то вида:

$ cat /etc/man.conf | grep NROFF
# NROFF is defined as "groff -Tascii" or "groff -Tlatin1";
# For use with utf-8, NROFF should be "nroff -mandoc" without -T option.
# causes problems, add the -c option to TROFF, NROFF, JNROFF.
#NROFF		/usr/bin/nroff -mandoc
NROFF   	/usr/bin/groff -Dutf8 -Tutf8 -mandoc
JNROFF		/usr/bin/groff -Tnippon -mandocj

Просмотр оригинального man на англ.

Если локаль на русский настроена, но времена есть желания глянуть оригинальный man (man man) полезная команда:

$ LANG=en_US.UTF-8 /usr/bin/man

������ ������

Если на запрос не найденной man-страницы получаете что-то вида:

$ man MAN
������ ��� MAN � ����������� ��
$ man HELP
������ ��� HELP � ����������� ��

вместо Ничего про HELP в руководстве нет

Эти символы/квадратики с содержимым страниц никак не связаны, это просто в исходниках локализованные сообщения лежат в koi8r, а система локализации не поддерживает для перекодировки их на лету (в отличие от gettext). Упомянутая выше пересборка пакета man как раз и перекодирует русские сообщения в utf8.

Что бы квадратиков не было ниже приведен листинг для slack14.1_current - пересборки man-$VERSION

# In man.conf, set NROFF to "/usr/bin/nroff -mandoc" rather
# than "/usr/bin/nroff -Tlatin1".  This works better with
# modern console encodings.  Thanks to rg3.
#zcat $CWD/man-1.6f.nroff.mandoc.diff.gz | patch -p1 || exit 1

# Patch for ru_RU.UTF-8
set -e

[ -f /tmp/man-1.6f.nroff.mandoc.diff* ] && rm -v /tmp/man-1.6f.nroff.mandoc.diff*
cp -v $CWD/man-1.6f.nroff.mandoc.diff.gz /tmp
gunzip /tmp/man-1.6f.nroff.mandoc.diff.gz

#sed 's_/usr/bin/nroff -mandoc_/usr/bin/iconv -f utf8 -t cp1251 -c | /usr/bin/nroff -Tlatin1 -mandoc | /usr/bin/iconv -f cp1251 -t utf8_' -i /tmp/man-1.6f.nroff.mandoc.diff
sed 's_/usr/bin/nroff -mandoc_/usr/bin/groff -Dutf8 -Tutf8 -mandoc_' -i /tmp/man-1.6f.nroff.mandoc.diff

cat /tmp/man-1.6f.nroff.mandoc.diff | patch -p1 || exit 1

echo '$ codeset=UTF-8' > msgs/mess.ru.codeset
iconv -f koi8-r -t utf-8 msgs/mess.ru > /tmp/mess.ru
cat /tmp/mess.ru > msgs/mess.ru
set +e

Установка и настройка

Русификация

Как русифицировать?

Архивы, яз.пакеты и т.д.

ru-taglib_rusxmms

ru-man-pages

Пакеты

Менеджер пакетов

Зависимости

07PKGS0PKGTOOLS.md 07PKGS1SLACKPKG+.md 07PKGS9RM.md

Сборка в пакет

08BUILD.md 08BUILD1SBOPKG-14.2.md 08BUILD1SBOPKG.md

Компилирование ядра

Дополнительная информация по различным пакетам

Одинаковый вид для GTK и Qt

Темы и движки тем из 32 в 64

09PKGS3GAMES.md

Шрифты

Другое

10DISTUPGRADE

Напоследок

Зеркала

SlackBASED

SlackNEWS SlackLOGO

Ресурсы в Интернете

Углубляемся: Разное

Server | Развертывание сервера:

Desktop

WMs

FMs

Misc/XApps

Tint2-panel Conky

Misc

Media

Jabber

Web-browser

Web-browser-addons:

Bittorrent: clients

Clone this wiki locally