Ubuntu下Flatpak版Chrome无法访问多数本地文件如何解决
问题原因
Flatpak版本的Google Chrome默认运行在沙箱隔离环境中,采用文件路径白名单机制控制访问范围,你列出的可访问目录就是Flatpak为Chrome配置的默认访问白名单。白名单外的路径会被沙箱直接拦截,因此浏览器会返回ERR_FILE_NOT_FOUND错误,该问题和Chrome本身的文件识别功能无关。
解决方法
命令行配置(无需额外安装工具)
- 全量文件访问授权(适配需要频繁访问多路径的场景)
终端执行以下命令,完成后重启Chrome即可访问所有本地用户可读取的文件:
如果后续需要恢复默认的沙箱权限,执行重置命令即可:flatpak override com.google.Chrome --filesystem=hostflatpak override com.google.Chrome --reset - 指定路径授权(遵循最小权限原则,安全性更高)
如果仅需要Chrome访问特定的非默认目录,可单独为目标路径授权。例如同时授权访问/workspace和/mnt/externaldisk两个路径时,执行:
命令执行后重启Chrome,即可正常访问对应路径下的文件。flatpak override com.google.Chrome --filesystem=/workspace --filesystem=/mnt/externaldisk
注意:上述命令使用普通用户身份执行即可,配置仅对当前登录用户生效;如果需要为系统所有用户配置全局生效的权限,才需要在命令前添加
sudo前缀。
图形化工具配置(适合不熟悉命令行的用户)
可以通过Flatseal(Flatpak生态的权限图形管理工具)可视化调整权限:
- 终端执行命令安装Flatseal:
flatpak install flathub com.github.tchx84.Flatseal - 启动Flatseal,在左侧应用列表选中Google Chrome
- 在右侧权限配置区找到Filesystem板块:
- 若要开放全系统文件访问,直接打开「All system files」对应的开关
- 若要仅开放指定目录,在「Other files」配置项中手动添加需要授权的目录路径即可
- 配置完成后关闭Flatseal,重启Chrome即可生效。
内容的提问来源于stack exchange,提问作者Denis
相关产品推荐
相关产品推荐

