Использование gnome-open для открытия файлов PDF
Я настроил evince как приложение по умолчанию для открытия файлов pdf (используя Open with... и нажимая на всегда открывающиеся pdf файлы с этим приложением), но когда я набираю gnome-open foo.pdf
вместо доказательства у меня есть Nautilus, который открывается в правильной папке, выделяя файл по моему выбору.
Это особенно тревожно, так как я использую плагин LaTeX для gedit, и когда я пытаюсь скомпилировать текстовый файл в pdf, вместо того, чтобы открывать новое окно с моим скомпилированным pdf-файлом, у меня просто появляется всплывающее окно nautilus. Я знаю, что могу отредактировать сценарии своего плагина gedit LaTeX для вызова evince (или acroread) с открытым PDF-файлом, который я хочу открыть, но это обходной путь, а не решение, которое я ищу.
8 ответов
Четвертый подход
Я мог бы воспроизвести вашу проблему, удалив этот файл /usr/share/applications/evince.desktop
, поэтому убедитесь, что у вас есть этот файл.
Третий подход
xdg-open использует конфигурацию /etc/mailcap
, Так что отредактируйте его, чтобы связать PDF с evince.
gksu gedit /etc/mailcap
Ищите строки, которые начинаются с application/pdf
; application/x-pdf
; application/x-bzpdf
; application/x-gzpdf
, Они должны выглядеть так, чтобы связать PDF с evince:
application/pdf; evince '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf
application/x-pdf; evince '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf
application/x-bzpdf; evince '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf.bz2
application/x-gzpdf; evince '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf.gz
Второй подход
Каков выход
xdg-mime query filetype foo.pdf
Если результат не соответствует ожиданиям, тогда:
xdg-mime default evince.desktop application/pdf
Первый подход
Есть и другие места, в которых установлены файловые ассоциации.
Вы можете изменить ассоциации файлов по адресу:
/usr/share/applications/defaults.list
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/
~/.gnome/share/apps/
Ищите "pdf" и "Nautilus" внутри этих файлов.
Я только что столкнулся с этой проблемой сегодня, и согласно этой теме на ubuntuforums.org, она вызвана exo-utils:
http://ubuntuforums.org/showthread.php?t=1729680
exo-tools - это зависимость от Thunar (которую я установил сегодня), но обычно она не устанавливается в стандартной Ubuntu, поэтому, я думаю, именно поэтому они пропустили эту ошибку в релизе.
Удаление этого упакованного (я фактически только что удалил Thunar и все его deps) решило проблему для меня.
Проблема связана с exo-utils
,
есть ошибка, которая была исправлена в Ubuntu Utopic: https://bugs.launchpad.net/bugs/956255
по какой-то причине следующее
x-scheme-handler
строки были скопированы / вставлены в ~/.local/share/ Applications / mimeapps.list
% grep exo ~/.local/share/ Applications / mimeapps.list х-схема обработчик / файл = экзо-файл-manager.desktop х-схема обработчик / трэш = экзо-файл-manager.desktop
Это вызвало xdg-open
/gvfs-open
использовать /usr/share/applications/exo-file-manager.desktop
, который содержит:
Exec=exo-open --launch FileManager %u
Это причина того, что даже с фиксированным пакетом он по-прежнему открывал Nautilus для каждого файла.
Проблема исходит от thunar
а также exo-utils
(который необходим thunar
). Удаление их решает проблему.
У меня была такая же проблема после установки nautilus для управления моими файлами в Xubuntu 11.10. Когда я вернулся на обычную Ubuntu 12.04, проблема была и там.
Простое решение, если это происходит ТОЛЬКО с вашим пользователем (близко к тому, что уже сказал desgua): delete ~/.local/share/application
s каталог, и все должно вернуться к нормальной жизни. Вы можете сделать резервную копию некоторых ярлыков внутри этого каталога, если хотите сохранить их.
У меня была похожая проблема, удаление exo-utils не работало для меня.
После небольшого поиска я нашел две записи для application/pdf в /etc/mailcap, которые отдавали приоритет Xpdf над evince.
Закомментировав две записи для Xpdf, xdg-open правильно открывает документы PDF с evince.
Работая нормально для меня, gnome-open правильно открывает Adobe Reader. Не могли бы вы попробовать с Adobe Reader один раз.
Возможно, дело в том, что evince где-то неправильно установлен по умолчанию.
Я использую Natty BTW.