Ubuntu 22.04下如何配置Chrome/Edge直接打开Type=link类型的.desktop链接文件(Google Drive相关)
Ubuntu 22.04下如何配置Chrome/Edge直接打开Type=link类型的.desktop链接文件(Google Drive相关)
我之前用google-drive-ocamlfuse挂载Google Drive时,也碰到过一模一样的问题——Firefox能正常打开那些Google Docs的.desktop链接,但Chrome和Edge一双击就触发下载,折腾了几个方法终于搞定了,给你分享三个可行的方案,你可以根据自己的习惯选:
方案一:让google-drive-ocamlfuse直接生成符号链接(最省心)
其实不用纠结.desktop文件的问题,直接让工具生成系统能识别的符号链接就行。下次挂载Google Drive的时候,加上--symlink参数:
google-drive-ocamlfuse --symlink ~/你的挂载目录
这样生成的链接会直接指向Google Docs的网页地址,不管你用Chrome还是Edge当默认浏览器,双击后都会直接在浏览器里打开对应的文档,完全不用额外配置。
方案二:给Chrome/Edge添加.desktop文件的MIME关联
如果想保留.desktop文件的形式,可以修改浏览器的MIME类型关联,让它们能正确处理这类链接文件:
- 先查看当前
application/x-desktop类型的默认应用:
xdg-mime query default application/x-desktop
- 把Chrome或Edge设为该类型的默认应用,比如Chrome的话:
xdg-mime default google-chrome.desktop application/x-desktop
Edge的话就换成microsoft-edge.desktop
3. 最后更新桌面数据库:
update-desktop-database ~/.local/share/applications
不过这个方法有时候可能不生效,因为Chrome/Edge本身不会解析.desktop文件里的URL,这时候可以试试第三个方案。
方案三:写个小脚本专门解析.desktop里的URL
这个方法最稳妥,相当于给系统加个“翻译官”,先把.desktop文件里的Google Docs网址提取出来,再传给浏览器打开:
- 首先在你的用户目录下创建一个
bin文件夹(如果没有的话),然后新建一个脚本文件open-desktop-link.sh:
mkdir -p ~/bin nano ~/bin/open-desktop-link.sh
- 把下面的内容粘贴进去,保存退出(按Ctrl+O,回车,再Ctrl+X):
#!/bin/bash # 提取.desktop文件里的URL字段 URL=$(grep -E '^URL=' "$1" | cut -d'=' -f2-) if [ -n "$URL" ]; then # 用默认浏览器打开URL xdg-open "$URL" else echo "这个.desktop文件里没找到有效的URL哦" fi
- 给脚本加上执行权限:
chmod +x ~/bin/open-desktop-link.sh
- 接着创建一个桌面配置文件
~/.local/share/applications/desktop-link-handler.desktop:
nano ~/.local/share/applications/desktop-link-handler.desktop
粘贴下面的内容,注意把你的用户名换成你实际的用户名:
[Desktop Entry] Type=Application Name=Desktop链接解析器 Exec=/home/你的用户名/bin/open-desktop-link.sh %U MimeType=application/x-desktop;
- 最后把这个解析器设为
application/x-desktop类型的默认应用:
xdg-mime default desktop-link-handler.desktop application/x-desktop
这样以后双击那些Google Docs的.desktop文件,系统就会先调用脚本提取网址,再用你的默认浏览器(Chrome/Edge)打开,完美解决下载的问题。
备注:内容来源于stack exchange,提问作者Andre Cavalcante
相关产品推荐
相关产品推荐

