You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snap安装的Gforth无法找到指定脚本文件的技术求助

解决Snap版Gforth无法访问系统文件的问题

问题分析

你在Arch Linux通过snapd安装的Gforth(路径/var/lib/snapd/snap/bin/gforth),执行本地.fs文件或CGI脚本时始终提示「No such file or directory」,即使文件路径正确、权限全开放也无效。核心原因是Snap应用默认采用严格的沙箱机制,会限制应用访问沙箱外的系统目录,比如/srv/http/cgi-bin/这类非Snap允许的路径。

解决方案

1. 调整Snap应用的权限

给Gforth添加读取系统文件的权限,执行以下命令:

sudo snap connect gforth:removable-media

这个权限允许Gforth访问系统中的可移动介质及部分公共目录,如果/srv/http/仍无法访问,可尝试使用更宽松的权限(不推荐用于生产环境):

sudo snap install gforth --devmode

--devmode会关闭沙箱限制,让Gforth完全访问系统文件。

2. 将文件移到Snap允许的目录

Snap应用默认可访问用户主目录下的文件,比如~/Documents/,把你的.fs文件或CGI脚本移到这个目录下再执行:

mv /srv/http/cgi-bin/mytest.fs ~/Documents/
gforth ~/Documents/mytest.fs

3. 改用Pacman安装Gforth(推荐)

Arch官方仓库里有Gforth,直接用Pacman安装可避免Snap沙箱的限制:

sudo pacman -S gforth

安装后直接执行本地文件即可,无需额外配置权限。

验证测试

用修改后的方式执行你的测试脚本:

." Hello World"
bye

执行命令(以主目录文件为例):

gforth ~/Documents/mytest.fs

正常情况下会输出Hello World。

内容的提问来源于stack exchange,提问作者proto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 13:33:21