Использование gnome-open для открытия файлов PDF

23

Я настроил evince как приложение по умолчанию для открытия файлов pdf (используя «Открыть с помощью ... и щелкаю на всегда открываемых файлах pdf с этим приложением), но когда я gnome-open foo.pdfпечатаю вместо evince, у меня появляется Nautilus, который открывается в нужной папке с выделением» файл моего выбора.

Это особенно тревожно, так как я использую плагин LaTeX для gedit, и когда я пытаюсь скомпилировать текстовый файл в pdf, вместо того, чтобы открывать новое окно с моим скомпилированным pdf-файлом, у меня просто появляется всплывающее окно nautilus. Я знаю, что могу отредактировать сценарии своего плагина gedit LaTeX для вызова evince (или acroread) с открытым PDF-файлом, который я хочу открыть, но это обходной путь, а не решение, которое я ищу.

SB
источник
У вас есть такая же проблема xdg-open?
dv3500ea
1
@ dv3500ea Да. Точно такая же проблема с xdg-open. КСТАТИ. что такое xdg-open? Никогда об этом не слышал.
SB
@ Это все еще сводит меня с ума, так что щедрость это ...
SB
Я думаю, что вы можете столкнуться с ошибкой, я получаю что-то похожее с Nautilus, который появляется в списке открытых файлов, когда этого не должно быть, так что, скорее всего, это ошибка где-то в Natty.
RolandiXor
1
@SB: xdg-open - это (или должен быть) «стандартный» способ открытия файлов дистро-агностическим способом. Он решает все проблемы, связанные с определением используемого вами дистрибутива / рабочего стола (Gnome, KDE, XFCE и т. Д.), И запускает файлы с помощью соответствующей команды. В среде Gnome xdg-open заканчивается использованием modern gvfs-open, тогда gnome-openкак используется как запасной вариант, если gvfs-open не найден. Его сильно порекомендован , что вы используете XDG открыть вместо гнома-открытым, так что ваши скрипты / приложения / все , что будет гораздо более портативными (и будущее доказательство)
MestreLion

Ответы:

15

Удаление exo-utilsсработало у меня отлично.

trivialanalog
источник
О, хатч, это сработало! Благодарность!! Мне жаль, что время щедрости прошло, так как вы полностью заслуживаете очков ... Я только попробовал ваше решение сейчас. Не знаю, почему у меня были установлены exo-utils. Еще раз спасибо!!
SB
Я просто столкнулся с той же проблемой (где gnome-open и xdg-open не могли открыть ничего, кроме каталогов), и это помогло (он удалил весь материал xubuntu-desktop).
Пауло Эберманн
1
но это уберет xfce :(
NoBugs
Это можно исправить, не удаляя exo-utils / xfce
синеватый
Это исправление также работает для gvfs-openнеправильного поведения в Fedora с MATE. Название пакета на Fedora есть exo. Возможно, вы установили его случайно с xfburn.
NWK
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» внутри этих файлов.

desgua
источник
спасибо за всю информацию, но, к сожалению, это не помогает (или, по крайней мере, я не смог ничего с этим сделать). Вот мои выводы: /usr/share/applications/defaults.list содержит мои предпочтительные PDF-приложения (изменил их с evince) /usr/share/applications/mimeinfo.cache содержит весь список приложений, которые могут открывать PDF-файлы. Наутилус не указан как один из них ~ / .local / share / Applications / имел имена файлов mimeinfo.cache, но там не было PDF (возможно, мне следует добавить его вручную ??) И, наконец, у меня нет каталога с именем ~ / .gnome.
SB
@dasgua, спасибо, что заглянул в это. Попробовал gvfs-openи получил тот же результат (т.е. Наутилус открывается). Смотри выше, что я тоже пробовал xdg-open, и ничего не изменилось. Прежде всего, почему есть так много foo-openвариантов? Во-вторых, это gvfs-optionне только не сработало, но и заставило мою машину выйти из системы ... gvfs-optionХотя я не знаю, является ли это ошибкой, поскольку то же самое произошло со мной ранее сегодня с помощью Google-Chrome Я думаю, что есть ошибка с единицей (или compiz), которая заставляет вас сеанс самоуничтожения ...
SB
спасибо, что остался со мной ... попробовал второй подход. Ввод первой команды просто вернул, application/pdfпоскольку я не был уверен, было ли это «тем, чего я должен ожидать». Я выполнил вторую команду (которая должна читать) xdg-mime default evince.desktop application/pdf(она не позволяла запустить ее так, как вы ее называли), и все еще то же самое. вещь. Наутилус просто открывается ... расстраивает
SB
спасибо за все ваши усилия! К сожалению ... у меня есть evince.desktop. Кстати, установка Adobe Reader в качестве моей программы чтения PDF по умолчанию также дает тот же результат, поэтому я скептически относился к этому решению с самого начала ... :-)
SB
Это мое хобби находить решения для программного обеспечения ;-). Если вы войдете как другой пользователь, проблема не исчезнет?
Desgua
5

Я только что столкнулся с этой проблемой сегодня, и согласно этой теме на ubuntuforums.org, она вызвана exo-utils:

http://ubuntuforums.org/showthread.php?t=1729680

exo-tools - это зависимость от Thunar (которую я установил сегодня), но обычно она не устанавливается в стандартной Ubuntu, поэтому, я думаю, именно поэтому они пропустили эту ошибку в релизе.

Удаление этого упакованного (я фактически только что удалил Thunar и все его deps) решило проблему для меня.

bj0
источник
Не нужно его удалять! Смотрите мой ответ: askubuntu.com/a/493866/169
голубоглазый
4

Проблема связана с exo-utils.

  1. есть ошибка, которая была исправлена ​​в Ubuntu Utopic: https://bugs.launchpad.net/bugs/956255

  2. по какой-то причине следующие 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 для каждого файла.

blueyed
источник
Очевидное замечание: чтобы это исправить, нужно удалить эти строки из mimeapps.listфайла
Дэвид Фрейзер,
1

У меня была похожая проблема, удаление exo-utils не работало для меня.

После небольшого поиска я нашел две записи для application / pdf в / etc / mailcap, которые отдавали приоритет Xpdf над evince.

Закомментировав две записи для Xpdf, xdg-open правильно открывает документы PDF с evince.

kisoku
источник
1

Проблема исходит от thunarи exo-utils(которая необходима thunar). Удаление их решает проблему.

Гай Аддади
источник
Не нужно его удалять. См. Askubuntu.com/a/493866/169 .
голубоглазый
1

У меня была такая же проблема после установки nautilus для управления моими файлами в Xubuntu 11.10. Когда я вернулся на обычную Ubuntu 12.04, проблема была и там.

Простое решение, если это происходит ТОЛЬКО с вашим пользователем (близко к тому, что уже сказал desgua): удалите ~/.local/share/applicationкаталог s, и все должно вернуться к нормальной жизни. Вы можете сделать резервную копию некоторых ярлыков внутри этого каталога, если хотите сохранить их.

nesuribe
источник
Вам нужно только удалить строки, связанные с exo ~/.local/share/applications/mimeapps.list, см. Askubuntu.com/a/493866/169 .
голубоглазый
-1

Работая нормально для меня, gnome-open правильно открывает Adobe Reader. Не могли бы вы попробовать с Adobe Reader один раз.

Возможно, дело в том, что evince где-то неправильно установлен по умолчанию.

Я использую Natty BTW.

Мадхава
источник
спасибо за предложение, но я уже попробовал это. Независимо от того, что установлено по умолчанию, я все равно заставляю Наутилуса открываться.
SB