Xfce
如何註冊 xfce4-mime-settings 中不可用的新 mimetype,以便在 XFCE4 下使用 xdg-open 辨識它們?
我正在嘗試在 XFCE4 下註冊新的 mimetype。特別是,我想註冊該協議
zoommtg
,以便我可以從網路瀏覽器 Chrome 中的連結啟動 Zoom 會議。Chrome 將xdg-open
在此處啟動,然後啟動exo-open
.exo-open
似乎忽略了類型的 mimetype 註冊xdg-mime default ZoomLauncher.desktop x-scheme-handler/zoommtg
也手動添加
[Default Applications] x-scheme-handler/zoommtg=ZoomLauncher.desktop
要麼通過辨識協議
$HOME/.config/mimeapps.list
要麼$HOME/.local/share/applications/mimeapps.list
不導致。xdg-open``exo-open``zoommtg
如何在 XFCE4 下註冊新的 mimetype?
筆記:
xfce4-mime-settings
不提供添加新 mimetype 的選項。Chrome 瀏覽器不再提供選項(在此處測試:)
Google Chrome V. 86
手動定義命令來處理協議類型(chrome://settings/handlers
僅提供允許網站處理協議的選項(例如 mailto:到帶有 webmail 的站點))。
問題中幾乎指出了一個解決方案:阻礙
xdg-open
選擇exo-open
。蠻力的方法是複製/usr/bin/xdg-open
到/usr/local/bin
(/usr/local/bin
是較早的,PATH
除非PATH
已被修改) 並修補它以open_generic
代替使用exo_open
(與XFCE4
-specific不同exo-open
,open_generic
確實尊重xdg
mime 類型)--- /usr/bin/xdg-open 2020-03-31 03:20:01.000000000 +0200 +++ /usr/local/bin/xdg-open 2020-07-18 10:12:20.133132390 +0200 @@ -691,15 +691,11 @@ open_xfce() { - if exo-open --help 2>/dev/null 1>&2; then - exo-open "$1" - elif gio help open 2>/dev/null 1>&2; then - gio open "$1" - elif gvfs-open --help 2>/dev/null 1>&2; then - gvfs-open "$1" - else + #if gvfs-open --help 2>/dev/null 1>&2; then + # gvfs-open "$1" + #else open_generic "$1" - fi + #fi if [ $? -eq 0 ]; then exit_success