Стенд: - Альт Рабочая станция 10.4 - свежеустановленный - Альт Рабочая станция 10.1 - загрузка в LiveCD без диска Команда: $ man --html man Ожидаемый результат: форматирование ман-страницы в html и открытие в дефолтном браузере По факту: $ man --html man man: команда завершилась с кодом 3: (cd /tmp/.private/fraks/hman6wPPpx && /usr/lib/man-db/zsoelim) | (cd /tmp/.private/fraks/hman6wPPpx && /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE) | (cd /tmp/.private/fraks/hman6wPPpx && gpreconv -e UTF-8) | (cd /tmp/.private/fraks/hman6wPPpx && tbl) | (cd /tmp/.private/fraks/hman6wPPpx && groff -mandoc -Thtml) У меня было записано что такая команда работала и в браузере ман открывался, а у меня кроме Альт Рабочая станция 10.* ничего на тот момент быть не могло.
man.1 - это файл мана который я достал изнутри файла /usr/share/man/ru/man1/man.1.xz Попробовал подать этот файл в конвейер команд cat man.1 | /usr/lib/man-db/zsoelim | /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE | gpreconv -e UTF-8 | tbl | groff -mandoc -Thtml Оказалось что ошибку вызывает последняя команда groff -mandoc -Thtml потому как не знает что за устройство html. Несмотря на то что groff в системе есть, но пакет репозитория groff не установлен. Сделал apt-get install groff он натянул с собой еще кучу пакетов, количеством 47 штук, и ситуация немного изменилась. Теперь $ man --html man ошибок не выдает, и дело доходит до запуска браузера. Но браузер пишет что тот файл который он должен открыть - отсутствует. При этом, если вручную затолкать ман в эту цепочку команд cat man.1 | /usr/lib/man-db/zsoelim | /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE | gpreconv -e UTF-8 | tbl | groff -mandoc -Thtml > man.html то итоговый файл html содержит примерно то что надо, но все равно криво. Текстовые таблицы мана видимо командой tbl формируются в виде картинок .png но на этих картинках мусор а не таблица.
Проверялось в Sisyphus, ошибка воспроизводится. Версия: man-db-2.13.0-alt1 Системы: ALT Workstation 11.0, обновлено до Sisyphus ALT Workstation K 11.0, обновлено до Sisyphus ALT Server 11.0, обновлено до Sisyphus ALT Education 11.0, обновлено до Sisyphus Шаги воспроизведения: 1. Убедиться что установлен groff-base: $ rpm -q groff-base 2. Выполнить: $ man --html man Реальный результат: man: команда завершилась с кодом 3: (cd /tmp/hmanqqq4ls && /usr/lib/man-db/zsoelim) | (cd /tmp/hmanqqq4ls && /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE) | (cd /tmp/hmanqqq4ls && gpreconv -e UTF-8) | (cd /tmp/hmanqqq4ls && tbl) | (cd /tmp/hmanqqq4ls && groff -mandoc -Thtml) Ожидаемый результат: Открытие man страницы в браузере. Дополнительная информация: 1. Если установить полный пакет groff – ошибка НЕ воспроизводится. 2. Ошибка также воспроизводится в p10.
У меня сейчас (в Сизифе) команда man -Thtml man сработала после установки пакета groff-extra: сконвертированная в html man-страница открылась в браузере по умолчанию (firefox). Утилита man позволяет запускать groff в различных режимах, однако добавлять полный groff в зависимости man-db я не хочу, так как считаю неправильным нести несколько мегабайт драйверов groff в каждую систему. Patches are welcome. Нужно подумать о том, как улучшить диагностику в случае подобных ошибок, например предлагая пользователю поставить пакет groff.
(In reply to Ivan A. Melnikov from comment #3) > Patches are welcome. Дописал не в тот абзац. Имелись ввиду патчи по улучшению сообщений об ошибках.
(Ответ для Ivan A. Melnikov на комментарий #3) > У меня сейчас (в Сизифе) команда > > man -Thtml man > > сработала после установки пакета groff-extra: сконвертированная в html > man-страница открылась в браузере по умолчанию (firefox). > > Утилита man позволяет запускать groff в различных режимах, однако добавлять > полный groff в зависимости man-db я не хочу, так как считаю неправильным > нести несколько мегабайт драйверов groff в каждую систему. Patches are > welcome. > > Нужно подумать о том, как улучшить диагностику в случае подобных ошибок, > например предлагая пользователю поставить пакет groff. На Alt 11.1 GNOME поставил пакет grogg-extra, он притащил (или обновил) за собой еще ImageMagick. Но man -Thtml man так и не заработало, выдает такие же ошибки что и в первом сообщении.