ChromeOS Crostini下jGRASP执行sys_run遇权限拒绝问题求助
解决ChromeOS Crostini下jGRASP运行Java文件时的sys_run权限拒绝问题
问题详情
在ChromeOS Crostini(基于Debian的Linux环境)中安装jGRASP IDE后,运行任意.java文件时弹出权限错误:
(Cannot run program "/home/aarnap/jgrasp_bdl206_16/jgrasp/internal_bin/sys_run": error=13, Permission denied)
Check permissions on the file.
已尝试以下权限修改操作:
- 执行
chmod +x /home/aarnap/jgrasp_bdl206_16/jgrasp/internal_bin/sys_run - 执行
chmod 777 /home/aarnap/jgrasp_bdl206_16/jgrasp/internal_bin/sys_run
修改后文件权限分别为:
执行chmod +x后:
rwxr-xr-x 1 aarnap aarnap 23104 Mar 28 16:38 sys_run
执行chmod 777后:
-rwxrwxrwx 1 aarnap aarnap 23104 Mar 28 16:38 sys_run
手动在终端运行sys_run可正常执行,但jGRASP内仍返回权限拒绝错误,无法运行Java文件。
可行解决步骤
1. 调整SELinux上下文
Crostini环境中SELinux可能限制图形界面程序的执行权限,执行以下命令修改sys_run的安全上下文:
chcon -t unconfined_exec_t /home/aarnap/jgrasp_bdl206_16/jgrasp/internal_bin/sys_run
修改完成后重启jGRASP再尝试运行Java文件。
2. 从终端启动jGRASP
图形界面启动的程序可能继承受限的权限环境,尝试直接从终端启动jGRASP:
cd /home/aarnap/jgrasp_bdl206_16/jgrasp ./jgrasp
启动后在jGRASP内运行Java文件,验证是否仍出现权限错误。
3. 检查jGRASP运行配置
打开jGRASP的设置面板,找到运行配置选项:
- 确认Java运行时的执行路径配置正确
- 检查是否勾选了与执行权限相关的选项
- 确认jGRASP以当前用户(aarnap)身份运行,而非其他受限用户
4. 重新安装jGRASP
若上述方法无效,卸载现有jGRASP后,在终端中以普通用户身份重新下载并执行安装包,避免图形界面安装可能带来的权限异常。
内容的提问来源于stack exchange,提问作者Wizardo
相关产品推荐
相关产品推荐

