Установите mupdf-плагин /backend для `zathura` просмотрщика документов

Мне нравится скорость MuPDF и пользовательский интерфейс Zathura

К счастью, для Затуры есть бэкап mupdf.

К сожалению, его нет в репозиториях, и сборка, следуя инструкциям, не удалась:

Makefile:25: *** "The minimum required version of zathura is 0.2.0".          

Хотя версия, которую я установил, zathura 0.3.5

Как мне установить плагин в Ubuntu (16.04)?

3 ответа

Хотя версия, которую я установил, - это zathura 0.3.5.

Это версия вашего Zathura PDF Viewer; сообщение об ошибке относится к файлам разработки для плагинов zathura, которые вы можете получить, установив пакет zathura-dev,


Как мне установить плагин в Ubuntu (16.04)?

Вот процедура для компиляции плагина в Ubuntu 16.04 и 18.04.

Во-первых, вам нужно скомпилировать libmupdf-dev версия 1.11.

Клон репо проекта:

$ git clone --recursive git://git.ghostscript.com/mupdf.git

Введите его корневой каталог:

$ cd mupdf

Оформить заказ ветка с тегом 1.11-rc1:

$ git checkout 1.11-rc1

Обновите сторонние библиотеки:

$ git submodule update --init

Установите некоторые необходимые зависимости:

$ sudo apt-get update
$ sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev mesa-common-dev pkg-config

компилировать libmupdf-dev:

$ CFLAGS=-fPIC make HAVE_X11=no HAVE_GLUT=no prefix=/usr/local
  ├──────────┘
  └ pass some flags to `$ gcc`, otherwise the compilation of `zathura-pdf-mupdf` will fail,
    with an error  message recommending you to recompile with those flags.

устанавливать checkinstall установить файлы как пакет deb:

$ sudo apt-get install checkinstall

Используйте его для установки файлов в пакете libmupdf-dev:

$ sudo checkinstall -y --pkgversion=1.11 --pkgname=libmupdf-dev

Теперь вы можете скомпилировать плагин Zathura. Убирайся из mupdf/ каталог и клонировать репо zathura-pdf-mupdf:

$ cd ..
$ git clone https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git

Введите его корневой каталог:

$ cd zathura-pdf-mupdf

Оформить заказ на ветку 0.3.1:

$ git checkout 0.3.1

Установите некоторые необходимые зависимости:

$ sudo apt-get install libjbig2dec0-dev libjpeg-dev libopenjp2-7-dev libssl-dev zathura-dev

Наконец, скомпилируйте и установите:

$ sudo make install

Кажется, что вы не можете легко выйти за пределы версий 1.11 и 0.3.1 для libmupdf-dev а также zathura-pdf-mupdfна Ubuntu 16.04. Но в Ubuntu 18.04 вы можете пойти немного выше, если хотите:

┌───────┬──────────────┬───────────────────┐
│       │ libmupdf-dev │ zathura-pdf-mupdf │
├───────┼──────────────┼───────────────────┤
│ 16.04 │     1.11     │       0.3.1       │
├───────┼──────────────┼───────────────────┤
│ 18.04 │     1.13     │       0.3.2       │
└───────┴──────────────┴───────────────────┘

Который дает:

$ git clone --recursive git://git.ghostscript.com/mupdf.git
$ cd mupdf
$ git checkout 1.13.0-rc1
$ git submodule update --init
$ sudo apt-get update
$ sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev mesa-common-dev pkg-config
$ CFLAGS=-fPIC make HAVE_X11=no HAVE_GLUT=no prefix=/usr/local
$ sudo apt-get install checkinstall
$ sudo checkinstall -y --pkgversion=1.13 --pkgname=libmupdf-dev

$ cd ..
$ git clone https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git
$ cd zathura-pdf-mupdf
$ git checkout 0.3.2
$ sudo apt-get install libjbig2dec0-dev libjpeg-dev libopenjp2-7-dev libssl-dev zathura-dev
$ sudo make install

Если вы хотите удалить плагин, запустите:

$ sudo make uninstall

Это удалит /usr/lib/zathura/pdf.so от zathura-pdf-popplerтак что переустановите последний:

$ sudo apt-get install --reinstall zathura-pdf-poppler

После того, как плагин установлен, вам может потребоваться сделать zathura программой по умолчанию, чтобы открыть pdf (и epub); так беги

$ xdg-mime default zathura-pdf-mupdf.desktop application/pdf application/epub+zip

Если компиляция libmupdf-dev не удается из-за отсутствующего файла, попробуйте найти пакет, к которому он принадлежит $ apt-file search <file>или читать docs/building.html, заголовок "Компиляция в Linux" (если файл не существует, временно переключитесь на master $ git checkout master).

И, возможно, попробуйте применить некоторые исправления Debian перед компиляцией:

$ git clone https://salsa.debian.org/koster/mupdf
$ ls mupdf/debian/patches
0001-mupdf_manpage.patch
0003-Sort-files-in-static-library-to-make-the-build-repro.patch
0003-use-debian-flavor-build-options.patch
0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch
0005-MuPDF-crossbuild-use-host-cc-for-utils.patch
0006-Allow-disabling-objcopy.patch
0007-typographical-and-formatting-fixes-to-the-manual.patch
0008-PATCH-Fix-700043-Don-t-assume-a-font-is-t3-just-beca.patch
0009-PATCH-Bug-700442-Add-a-recursion-depth-check-to-prev.patch
0010-PATCH-Throw-when-page-number-is-out-of-range.patch
0011-Avoid-being-smart-about-keeping-only-a-single-refere.patch
0012-Fix-text-used-as-clip-mask-in-pdfwrite-device.patch
0013-Fix-typo-in-pdf-write-device.patch
series

Примените те из них, которые вы считаете наиболее полезными, выполнив эту команду, находясь в каталоге целевого файла:

$ patch -b </path/to/patch

-b опция передана $ patch создает резервную копию файла перед его исправлением. Файл резервной копии имеет расширение .orig,

Если вы хотите изменить эффект патча, используйте -R вариант.

$ patch -R </path/to/patch
        ^^

И использовать --dry-run смоделировать исправление.

Плагин до сих пор не включен в репозитории Debian, и поэтому я решил упаковать его сам.

Я загрузил zathura-pdf-mupdf пакет для Launchpad PPA ppa: spvkgn / zathura-mupdf, он содержит пакеты для серий Ubuntu 16.04, 16.10, 17.04 и 17.10. Плагин скомпилирован против библиотеки из последних MuPDF 1.11 версия.

Пожалуйста, дайте мне знать, если возникнут какие-либо проблемы с этим пакетом.

Грязный и хакерский способ - использовать двоичный файл Arch.

Загрузите и распакуйте бинарный файл /usr/lib/zathura/pdf.so из пакета и скопируйте его, например, в /usr/lib/zathura/pdf.so на вашей машине с Ubuntu. Лучше переименуйте существующий pdf.so (poppler) в pdf.bu, чтобы он не конфликтовал.

Плагин распознается:

$ zathura --version
zathura 0.3.5
(plugin) djvu (0.2.5) (/usr/lib/zathura/djvu.so)
(plugin) pdf-mupdf (0.3.0) (/usr/lib/zathura/pdf.so)
(plugin) ps (0.2.3) (/usr/lib/zathura/ps.so)
(plugin) cb (0.1.5) (/usr/lib/zathura/cb.so)

До сих пор у меня не было особых проблем со стабильностью. Затура намного быстрее, чем прежде, особенно в рендеринге (огромных изображениях) и поиске.

Имейте в виду, в целом это не рекомендуется install Программное обеспечение таким образом. Это бинарный файл из другого дистрибутива, он не будет обновляться или исправляться автоматически. Используйте его на свой страх и риск.

Преимущество в том, что zathura-pdf-mupdf-0.3.0 плагин также поддерживает epub формат.

Надеемся, что плагин будет включен в репозитории Ubuntu в ближайшем будущем.

Другие вопросы по тегам