我正在尝试在 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类型)PATH
PATH
open_generic
exo_open
XFCE4
exo-open
open_generic
xdg
--- /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