Как мне установить новую настройку xdg-open?

Я хочу использовать xdg-open, чтобы открыть irc:// ссылки, как мне сделать требуемый параметр?

28
задан 22 September 2011 в 22:49

3 ответа

xdg-open в основном просто смотрит, какая у вас среда рабочего стола, а затем запускает gnome-open, gvfs-open, xfce-open и т. Д. См. Ниже инструкции по конкретной среде рабочего стола ...

Gnome

Gnome использует программу gnome-open, которая использует gconf для хранения всего. Например, на моей машине с Ubuntu 10.10 работает gnome-open irc: // blah открывает xchat, потому что xchat включает в себя патч настройки gconf для добавления обработчика irc: //.

gconf-editor showing irc with xchat configuration

Это показывает, как гном делает это, с настройками gconf в /desktop/gnome/url-handlers/. См. xchat-2.8.8/src/common/dbus/apps_xchat_url_handler.schemas в качестве примера.

KDE

Для KDE вы должны посмотреть файлы .protocol в / usr / share / kde4 / services /, создать новый для вашего нового протокола и поместить его в ~ / .kde / share / kde4 / services /, если это супер полезно, рассмотрите возможность добавления его в пакет как исправление для других пользователей.

KDE использует kde-open или kfmclient в зависимости от того, что доступно и какая у вас версия KDE.

XFCE

XFCE использует программу под названием exo-open, у этой программы нет никакого способа сконфигурировать ее или добавить обработчики uri. Просмотр исходного кода показывает, что он использует файлы рабочего стола для указания только трех типов программ. TerminalEmulator, WebBrowser и EmailClient.

В XFCE4 (и, возможно, также в других) можно настроить xdg-open для определения обработчика настраиваемого протокола. В некоторых вы должны создать / отредактировать следующие файлы:

~ / .local / share / Applications / protocolhandler.desktop ~ / .local / share / Applications / mimeapps.list

Пример добавление обработчика для протокола ed2k предоставляется на stackexchange.com 2 .

0
ответ дан 22 September 2011 в 22:49

Я хотел связаться postman ссылки с моим вручную установленным приложением Почтальона (не хромовое расширение) так, чтобы я мог открыть документы почтальона от браузера как это:

enter image description here

enter image description here

ссылка, которую я хотел связать, похожа на это:

postman://app/collections/import/39995-2b0394ab-b007-488d-9a0a...

, Чтобы сделать ассоциацию я сделал следующие шаги:

  1. Установка приложение вручную (загружают и распаковывают tar.gz) в /home/andrzej.rehmann/software/postman/
  2. Создают файл на рабочем столе в /usr/share/applications/Postman.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Postman
Icon=/home/andrzej.rehmann/software/postman/app/resources/app/assets/icon.png
Exec="/home/andrzej.rehmann/software/postman/Postman" %u
Comment=Develop with pleasure!
Categories=Development;
Terminal=false
StartupWMClass=Postman
  1. Партнер postman ссылка xdg с приложением путем выполнения:

xdg-mime default Postman.desktop x-scheme-handler/postman

<час>

у меня есть ansibled эта конфигурация, если кому-либо интересно: https://github.com/hoto/ansible-home-fedora/blob/fedora/roles/postman/tasks/postman_installer.yml

0
ответ дан 22 September 2011 в 22:49

Я опишу это с magnet: Тип URI и Передача (т.е. случай bittorent), но тот же метод могут быть применены к любой схеме или типу файла.

Также я проверил это с Debian Jessie, и у меня на самом деле нет машины Ubuntu, но я полагаю, что она должна работать то же (по крайней мере, для xdg-открытого, обратите внимание, что файловые менеджеры могут принять решение использовать другую логику).

  1. Узнайте строку типа MIME. Для файла типы MIME можно узнать это с командой файла:

    $ file -i Broken_Blossoms.webm 
    Broken_Blossoms.webm: video/webm; charset=binary
    $
    

    Для вышеупомянутого файла тип MIME video/webm.

    Для обработчиков URI тип x-scheme-handler/<scheme>, где <scheme> часть URI перед двоеточием, например, "http", "mailto" "irc" или "магнитом". Следующее является примерами допустимых типов MIME:

    x-scheme-handler/http
    x-scheme-handler/irc
    x-scheme-handler/magnet
    x-scheme-handler/mailto
    
  2. Узнайте название приложения .desktop файл.

    Часто это не то же как "официальное" имя, а скорее строчная версия его или совершенно другое имя. Установленные .desktop файлы живут под/usr/share/applications. Так как они - файлы обычного текста и содержат "официальное" имя, после команды может помочь Вам:

    $ grep "Transmission" -l -r /usr/share/applications
    /usr/share/applications/transmission-gtk.desktop
    $
    

    Команда эффективно означает "файлы списка в соответствии с этим каталогом, которые содержат слово 'Transmission'". Некоторые приложения могут быть установлены только для пользователя, в этом случае путь был бы ~/.local/share/applications.

    В случае, если у Вас есть "странное" приложение, которое не может иметь файла вообще, можно всегда создавать один (и возможно отправлять его разработчикам приложения). Простой способ состоял бы в том, чтобы скопировать существующий, переписать поля, Вы понимаете и удаляете тех, которых Вы не делаете. Обратитесь к спецификации для деталей.

  3. Сделайте присвоение с помощью команды xdg-пантомимы:

    $ xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet
    $
    

    Обратите внимание, что, неважно, где файл на самом деле (/usr/share/applications, ~/.local/share/applications...), Вы всегда используете только имя, не полный путь.

    Обычно команда ничего не произведет - это в порядке. Если Вы хотите проверить то, что Вы просто сделали или видите то, что в настоящее время присваивается любому типу MIME, не открывая его:

    $ xdg-mime query default x-scheme-handler/magnet
    transmission-gtk.desktop
    $
    

Примечание 1: Если Вы хотите проверить другие типы MIME, можно посмотреть на/etc/mime.types. Это не содержит все типы в мире; например, обработчики URI, но это могло использоваться для "агрессивной" формы обработки ассоциаций. Например:

grep ^video/ | cut -d\t -f1 | xargs xdg-mime default vlc.desktop

связал бы все известные форматы видео к VLC.

Примечание 2: .desktop файлы часто содержат список типов MIME, что они утверждают, что смогли обработать использование MimeType поле. xdg-имитируйте страницу справочника, говорит, что .desktop файл должен требовать типа MIME, прежде чем вышеупомянутая команда будет работать, но для меня это, кажется, работает, даже если поле отсутствует. (Я имею в виду, ассоциация будет применена, и приложение запустится - если она действительно может обработать тип, другой вопрос). Я не уверен, что является недостатком (возможно, в будущем, xdg-пантомима будет более строгой).

14
ответ дан 22 September 2011 в 22:49

Другие вопросы по тегам:

Похожие вопросы: