Ubuntu下自定义URL协议在其他应用中无法点击启动的问题求助
Ubuntu下自定义URL协议在其他应用中无法点击启动的问题求助
嗨,我来帮你搞定这个自定义URL协议的问题~
你现在的情况是:已经在Ubuntu里给应用配置了myapp://这个自定义URL scheme,用xdg-open命令或者浏览器打开链接都能正常启动应用,但把链接贴到文本编辑器、邮件客户端这类应用里时,它却不被当成可点击的链接,而http/https这类标准协议的链接就完全没问题。你的桌面文件配置看起来是对的,我先把你提供的配置贴出来方便参考:
[Desktop Entry] Name=My Application Exec=myapp %U MimeType=x-scheme-handler/myapp;
咱们一步步来解决:
1. 先确保系统缓存已经刷新
虽然你写好了桌面文件,但系统可能还没加载新的配置,先执行刷新命令:
- 如果桌面文件放在你的用户目录(
~/.local/share/applications/),跑这俩命令:update-desktop-database ~/.local/share/applications/ update-mime-database ~/.local/share/mime/ - 如果是系统级安装(放在
/usr/share/applications/),就加sudo执行:sudo update-desktop-database /usr/share/applications/ sudo update-mime-database /usr/share/mime/
2. 验证协议关联是否正确
咱们检查一下myapp协议是不是真的绑定到了你的应用,执行:
xdg-mime query default x-scheme-handler/myapp
如果输出不是你的桌面文件名(比如myapp.desktop),那就手动绑定一下:
xdg-mime default myapp.desktop x-scheme-handler/myapp
3. 搞定第三方应用的链接识别问题
很多应用的链接识别规则只认常见的http/https这类协议,得针对性调整:
- GNOME系应用(比如自带的文本编辑器):
GTK应用的URL支持列表可以用gsettings修改,先看看当前支持哪些:
然后把gsettings get org.gtk.Settings.FileChooser url-schemesmyapp加进去:gsettings set org.gtk.Settings.FileChooser url-schemes "['http', 'https', 'ftp', 'myapp']" - Thunderbird邮件客户端:
打开设置→常规→文件和链接→点击“配置链接处理”,点添加按钮,输入myapp,然后选择你的应用关联上就行。 - Qt类应用(比如Kate编辑器):
这类应用一般会跟着系统MIME配置走,但如果还是不行,可以去应用的设置里找找有没有链接识别的白名单,把myapp加进去。
4. 最后测试一下
重启刚才有问题的那些应用,再粘贴myapp://test这类链接试试,应该就能被识别成可点击的链接,点击后直接启动你的应用啦~
备注:内容来源于stack exchange,提问作者Vipul Gupta
相关产品推荐
相关产品推荐

