Ubuntu 24.04 LTS下通过原生Firefox的HTTPS链接打开Bottles中Windows程序的问题
Ubuntu 24.04 LTS下通过原生Firefox的HTTPS链接打开Bottles中Windows程序的问题
我之前在Ubuntu 24.04上用Bottles跑Windows程序时,也碰到过浏览器协议调用没反应的情况,给你几个亲测有效的解决办法:
方法一:给Bottles程序的桌面快捷方式添加协议关联
Bottles会给每个安装的程序生成桌面快捷方式,我们可以直接修改它来关联ls3d协议:
- 打开文件管理器,进入
~/.local/share/applications/目录,找到以bottles-开头的对应程序的.desktop文件(比如bottles-my-game.desktop) - 用文本编辑器打开这个文件,在
[Desktop Entry]区块里添加一行:MimeType=x-scheme-handler/ls3d; - 保存文件后,打开终端运行命令更新桌面数据库:
update-desktop-database ~/.local/share/applications/ - 回到Firefox重新点击链接,这次选择这个桌面程序,应该就能正常唤起Bottles里的程序了
方法二:写个自定义启动脚本兜底
如果第一种方法没生效,可能是桌面文件的关联没被正确识别,我们可以自己写个脚本让浏览器能正确调用:
- 创建启动脚本
打开文本编辑器,输入以下内容(记得替换成你自己的瓶子名称和程序路径):
保存为#!/bin/bash # 替换成你的瓶子名称和程序的Windows路径 bottles run -b "MyAppBottle" -e "C:\\Program Files\\MyApp\\app.exe" "$@"open-ls3d-app.sh,比如放在你的用户主目录下 - 给脚本加执行权限
打开终端运行:chmod +x ~/open-ls3d-app.sh - 创建自定义桌面关联文件
再新建一个ls3d-handler.desktop文件,放在~/.local/share/applications/里,内容如下(替换成你的用户名):[Desktop Entry] Type=Application Name=LS3D程序(Bottles启动) Exec=/home/你的用户名/open-ls3d-app.sh %u MimeType=x-scheme-handler/ls3d; NoDisplay=true - 更新桌面数据库
同样运行:update-desktop-database ~/.local/share/applications/
之后在Firefox里选择这个“LS3D程序(Bottles启动)”作为ls3d链接的默认打开程序
方法三:检查Firefox的应用程序设置
有时候是Firefox本身的协议关联没配置对:
- 打开Firefox,点击右上角菜单→设置→通用,拉到“应用程序”部分
- 找“ls3d”这个协议,如果已经存在,点击右侧的下拉菜单,选择你配置好的程序;如果没找到,点击“添加应用程序”,手动选择你创建的.desktop文件
- 确认设置后,重新测试链接
一些小提醒
- 先确保你能直接通过Bottles打开这个Windows程序,排除程序本身的问题
- 脚本里的瓶子名称要和Bottles界面里显示的完全一致,程序路径要用Windows格式的双反斜杠
- 如果还是不行,可以在终端直接运行脚本测试,比如
~/open-ls3d-app.sh ls3d://test,看看有没有报错信息,根据报错调整就行
备注:内容来源于stack exchange,提问作者user
相关产品推荐
相关产品推荐

