Установите 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 в ближайшем будущем.