Xdg-Open

xdg-open 命令如何知道使用哪個應用程序打開文件?

  • September 14, 2018

我希望 xdg-open 命令使用在預設文件管理器中點兩下文件時打開的相同應用程序,但這並不總是正確的。

例如,我的 DE 是 XFCE,我的文件管理器是 Thunar,我的預設圖片查看器是 Ristretto。但是,xdg-open example.png在 Pinta 中打開範例 PNG 文件。為什麼?

xdg-open 是一個獨立於桌面的工具,用於配置使用者的預設應用程序。許多應用程序在內部呼叫 xdg-open 命令。在桌面環境(如 GNOME、KDE ​​或 Xfce)中,xdg-open 只是將參數傳遞給這些桌面環境的文件打開器應用程序(例如 gvfs-open、kde-open 或 exo-open)。這意味著關聯由桌面環境決定。當沒有檢測到桌面環境時(例如,當執行一個獨立的視窗管理器如 Openbox)時,xdg-open 將使用它自己的配置文件。

來自Archwiki

針對您的問題,您可以嘗試設置與 png 文件關聯的預設應用程序:

xdg-mime default <ristretto.desktop> image/png

你需要找出 Ristretto 的桌面文件名到底是什麼。之後,你可以用這個檢查它:

xdg-mime query default image/png

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