如何注册 xfce4-mime-settings 中不可用的新 mimetype,以便在 XFCE4 下使用 xdg-open 识别它们?

如何注册 xfce4-mime-settings 中不可用的新 mimetype,以便在 XFCE4 下使用 xdg-open 识别它们?

我正在尝试在 XFCE4 下注册新的 mimetypes。特别是,我想注册该协议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不提供添加新 mimetypes 的选项。

Chrome 浏览器不再提供Google Chrome V. 86手动定义命令来处理协议类型的选项(在此处进行测试:)(chrome://settings/handlers仅提供允许网站处理协议的选项(例如 mailto:到带有网络邮件的网站))。

答案1

问题中几乎已经暗示了一个解决方案:阻碍xdg-open选择exo-open。一种强力方法是复制/usr/bin/xdg-open/usr/local/bin(除非已修改,否则/usr/local/bin是较早的)并对其进行修补以使用(与 -spec 不同,确实尊重mime类型)PATHPATHopen_genericexo_openXFCE4exo-openopen_genericxdg

--- /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

相关内容