Manjaro系统snap版Eclipse的eclipse.ini只读无法编辑如何解决
故障原因
你遇到的不是磁盘只读问题,是Snap包的默认机制导致的。通过Snap安装的应用会以只读SquashFS镜像的形式挂载到/snap/<应用名>/目录下,该目录的文件哪怕用root权限也无法修改,和系统重启、权限配置无关,直接编辑该路径下的文件必然触发只读报错。
解决方案
不要尝试修改/snap/eclipse/current/路径下的原始文件,按以下方法操作即可:
- 方法1:使用Snap用户配置覆盖机制
- 先创建对应用户配置目录,再把原始eclipse.ini拷贝到可写的用户配置路径:
mkdir -p ~/snap/eclipse/current/ cp /snap/eclipse/current/eclipse.ini ~/snap/eclipse/current/ - 直接编辑用户目录下的配置文件即可,此时无只读限制:
# 用你习惯的编辑器就行,gedit、nano、vim都可以 gedit ~/snap/eclipse/current/eclipse.ini - 修改完成保存后重启Eclipse,Snap启动时会优先读取用户目录下的配置文件,自动覆盖只读镜像内的原始配置。
- 先创建对应用户配置目录,再把原始eclipse.ini拷贝到可写的用户配置路径:
- 方法2:直接通过Snap配置注入启动参数
如果上述覆盖方式不生效,可以不用修改eclipse.ini文件,直接执行以下命令编辑Eclipse的Snap启动配置,把需要调整的JVM参数直接写入配置即可,保存后重启Eclipse就会生效:sudo snap edit eclipse
注意:不要尝试通过重新挂载
/snap目录为读写模式修改原始文件,会破坏Snap的包签名校验,直接导致Eclipse无法启动,后续Snap版本更新也会出现异常。
内容的提问来源于stack exchange,提问作者Alex Gromov
相关产品推荐
相关产品推荐

