非SNAP版Firefox无法识别已挂载的Google Drive
看起来你已经排除了Snap版本的问题,那咱们从几个和GVFS挂载、Firefox文件选择器相关的方向排查试试:
检查Google Drive的挂载路径并手动访问
Ubuntu通过GVFS挂载的Google Drive通常在/run/user/<你的UID>/gvfs/google-drive:host=<你的邮箱地址>这个路径下。你可以先打开终端,输入ls /run/user/$(id -u)/gvfs确认这个挂载目录存在,然后在Firefox的保存对话框里,点击地址栏手动输入完整路径,看看能不能访问到Google Drive里的文件。如果手动能访问,说明是Firefox的文件选择器没自动识别到GVFS挂载点。调整Firefox的文件选择器设置
Firefox默认使用系统的xdg门户文件选择器,有时候这个组件和GVFS的兼容性会出问题。你可以在Firefox地址栏输入about:config,搜索widget.use-xdg-desktop-portal.file-picker:- 如果当前值是
1,改成0(切换到Firefox原生文件选择器),重启Firefox再试; - 如果已经是
0,改成1再重启试试。
- 如果当前值是
重启GVFS服务
Google Drive是通过GVFS(GNOME Virtual File System)挂载的,有时候服务异常会导致挂载点不被其他应用识别。打开终端运行:systemctl --user restart gvfs-daemon重启后再打开Firefox的保存对话框,看看Google Drive是否出现。
重新连接Google账户
有时候账户的挂载缓存会出问题,你可以在Ubuntu设置的「账户」里移除你的Google账户,然后重新添加并同步,确保Google Drive在文件管理器里正常显示后,再测试Firefox的保存功能。检查AppArmor权限(可选)
非Snap版Firefox也可能受到AppArmor规则的限制,导致无法访问GVFS挂载点。你可以先运行aa-status查看当前的AppArmor状态,如果看到针对/usr/bin/firefox的规则,可以临时禁用测试:sudo aa-disable /etc/apparmor.d/usr.bin.firefox重启Firefox后如果问题解决,你可以调整AppArmor规则来允许访问GVFS路径,或者重新启用规则后再排查其他原因(注意:临时禁用只是排查手段,不建议长期保持禁用状态)。
如果以上方法都不行,你可以对比另一台正常机器的Firefox版本、GVFS版本,看看有没有版本差异,或者尝试更新Firefox到最新版(你用的是115.0.2,现在已经有更新的版本了)。
备注:内容来源于stack exchange,提问作者Daniel

