Запуск приложения по умолчанию для файла в Linux - PullRequest
1 голос
/ 13 сентября 2010

Я работаю над плагином Firefox NPAPI + компонент XPCOM.Я столкнулся с дилеммой: учитывая файл, загруженный из Интернета (например, PDF или PNG), как мне запустить вспомогательное приложение по умолчанию для отображения этого файла в Linux с помощью C / C ++?

В настоящее времяиспользуя вызов функции system для вызова команды gnome-open и передачи ей пути к файлу.Это работает на рабочих столах GNOME, однако не будет работать на платформах Linux с различными рабочими средами (включая KDE).

Итак, мой вопрос: существует ли стандартный унифицированный метод для этого?Есть какие-нибудь рекомендации?Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

4 голосов
/ 14 сентября 2010

Команда xdg-open - это стандартный способ открыть файл или URL-адрес в предпочитаемом пользователем приложении.

Он должен корректно работать в различных средах рабочего стола.

1 голос
/ 13 сентября 2010

Не существует стандартного инструмента для открытия файла с использованием приложения по умолчанию в Linux. Это зависит от среды рабочего стола. Для Gnome, как вы выяснили, есть инструмент "gnome-open". KDE имеет свое «kde-open» для той же цели. Сначала я проверю gnome-open, а если его нет, проверьте kde-open. В противном случае сообщите об ошибке пользователю.

Другой вариант - использовать сам Firefox для открытия файла с использованием протокола «file: //». Firefox может отображать файлы PDF, если установлен соответствующий плагин, отображать текстовые файлы и так далее.

...