2007/02/09

Evince pdf-viewer for Solaris

По непонятным причинам GNOME Pdf Viewer при просмотре документов, содержащих национальные символы (проверялось с русскими и литовскими документами), вместо таких символов выводит либо квадратики, либо ничего не выводит. Попробовав добавить в систему ttf-шрифты, я понял, что это не меняет его поведения. Тогда попробовал найти замену и посмотреть, как будет себя вести другой pdf-reader.

На сайте Blastwave.org есть собрана достаточно хорошая база пакетов для Solaris 10, а в качестве замены gpdf - там лежит Evince. На момент написания этих строк версия данной программы - 0.6.1,REV=2006.11.28.

Установка проще некуда, если уже имеется утилита pkg-get (на сайте Blastwave.org описан процесс ее установки):

/opt/csw/bin/pkg-get -i evince

После этого необходимо "научить" GNOME использовать только что установленную апликацию. Чтобы добавить пункт "Evince PDF Document Viewer" в стартовое меню:

# cd /usr/share/applications
# cat > evince.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Evince PDF Document Viewer
Exec=/opt/csw/bin/evince
Icon=/opt/csw/share/icons/hicolor/48x48/apps/evince.png
Terminal=false
Type=Application
Categories=GNOME;Application;Graphics;VectorGraphics;Viewer;
StartupNotify=true
Ctrl + C

Чтобы у всех пользователей в меню "open with" появился evince, необходимо внести поправки в файл /usr/share/mime-info/gnome-vfs.keys. Если хочется вовсе забыть о существовании gpdf (о чем я советую), необходимо в этом файле удалить всякое упоминание о gpdf. Если всё-таки оставить gpdf, то мне не удалось понять каким образом устроена иерархия между указанными апликациями.

...
short_list_application_ids_for_novice_user_level=acroread,evince,xpdf,gv
short_list_application_ids_for_intermediate_user_level=acroread,evince,xpdf,gv
short_list_application_ids_for_advanced_user_level=acroread,evince,xpdf,gv
...

И создать запить об evince в реестре программ

cd /usr/share/application-registry
cp gpdf.applications evince.applications
vi evince.applications
evince
command=/opt/csw/bin/evince
name=PDF Viewer
can_open_multiple_files=true
startup_notify=true
expects_uris=false
requires_terminal=false
mime_types=application/pdf

После этого достаточно перелогиниться и изменения вступят в силу.

Evince прекрасно отображает все национальные симолы и сам по себе более приятен в работе.

Ссылки:

  1. GNOME 2.6 System Administration Guide

4 comments:

jankkhvej said...

И тут у вас Ctrl+C… Может, у вас Ctrl+C настроен символом конца файла и это я ошибаюсь?

Roman Sozinov said...

to jankkhej:
Вы не ошибаетесь, это я просто ничего не знал о разнице между Ctrl+C и Ctrl+D :)

jankkhvej said...

Хехе ;-)
А с ^S, ^Q, ^T знакомы? Терминалы массу всего хранят:

solik@solik-home0:~$ stty --all
[...]
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
[...]

Roman Sozinov said...

О! Благодарю! :)