3

Я использую Google Chrome на своем ноутбуке Debian, но в какой-то момент у меня был установлен Firefox. Сейчас я разрабатываю приложение GTK, и когда я нажимаю на ссылку, она выводит это:

(charry.phpw:6267): Gtk-WARNING **: Unable to show 'http://t.co/nOOjE9u1': Failed to execute child process "/opt/firefox/firefox" (No such file or directory)

Я не понимаю, почему это вызвало бы Firefox, потому что у меня x-www-browser установлен на Chrome. Кто-нибудь знает, как GTK выбирает браузер для открытия гиперссылок?

Теперь я должен расширить этот вопрос. Я проснулся этим утром и попытался запустить это приложение на моем компьютере с Windows, но он говорит:

<php.exe:3360>: Gtk-WARNING **: Unable to show 'http://t.co/tKtwKbAt': No application is registered as handling this file

Так как же GTK регистрирует обработчики URI? Кажется, никто в Интернете не знает, как это сделать ... по крайней мере, без Gnome.

1 ответ1

1

GTK использует GVFS, которая использовала настройки схемы из Gconf (/desktop/gnome/uri-handlers), но с тех пор переключилась на спецификацию действий XDG MIME, с настройками, хранящимися в ${XDG_DATA_HOME-~/.local/share}/applications ,

~/.local/share/applications/mimeapps.list:

[Default Applications]
x-scheme-handler/http=firefox.desktop

Файлы .desktop ищутся в applications подпапок как $XDG_DATA_HOME и в каждом пути, указанном в $XDG_DATA_DIRS .

Если mimeapps.list не существует, будет использоваться defaults.list .


Я не знаю ответа для Windows (пока), но Process Monitor будет полезен при определении местоположения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .