Desktop-Environment

xdg-open 是如何工作的

  • March 6, 2019

根據手冊頁,xdg-open將使用使用者配置的應用程序打開一個文件。但是該應用程序實際上是如何確定的呢?我看不到與 關聯的配置文件xdg-utils,那麼我的設置儲存在哪里以及如何修改它們?看到一個簡單的 PNG 文件如何使用 Wine 打開 Internet Explorer,我需要更改這些設置。

查看xdg-open文件的內容,您會注意到它是一個簡單的 shell 腳本。它的主要任務是辨識正在使用的桌面環境,然後將其用於將任務委託給特定工具:

  • KDE委託給kde-openkfmclient
  • Gnome代表gvfs-opengnome-open
  • 代表與gvfs-openmate-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.

引用自:https://unix.stackexchange.com/questions/144047