Як xdg-open виконує свою роботу


27

За даними man, xdg-openвідкриє файл за допомогою програми, яку налаштував користувач. Але як саме ця програма визначається насправді? Я не бачу жодних пов’язаних файлів конфігурацій xdg-utils, тож де зберігаються мої налаштування та як їх змінити? Бачачи, як простий файл PNG відкриває Internet Explorer за допомогою Wine, мені потрібно змінити ці налаштування.

Відповіді:


27

Подивіться на вміст xdg-openфайлу, і ви помітите, що це простий скрипт оболонки. Основним її завданням є визначення використовуваного робочого середовища, яке потім буде використано для делегування завдання певному інструменту:

  • KDE делегує до kde-openабоkfmclient
  • Делегати Gnome до gvfs-openабоgnome-open
  • Mate делегує до gvfs-openабоmate-open
  • XFCE делегує доexo-open
  • LXDE делегується pcmanfm, із зворотним доступом до "загального" для більшості URL-адрес
  • Делегати просвітництва доenlightenment_open
  • Все інше називається " загальним ", а сценарій намагається пощастити

Отже, основне повідомлення таке: у більшості ситуацій один з цих делегатів виконає фактичну роботу, тож слід перевірити, як вони налаштовані.

Наприклад, я запускаю XFCE, тому xdg-openдзвінки, в exo-openяких використовуються налаштування XFCE, доступні через користувальницький інтерфейс налаштувань XFCE і зберігаються в ~/.local/share/applications/mimeapps.list.

Детальна інформація про використовувані конфігураційні файли strace -e fileможе бути корисною. І якщо ви перебуваєте в "загальній" ситуації і хочете побачити, що xdg-openсаме робить, ви можете спробувати sh -x `which xdg-open` file.name.


2
Аналогічна відповідь на різні запитання. :-)
patryk.beza
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.