Ubuntu 22.04下Bamboo Agent调用Snap管理的ChromiumHeadless权限报错问题及非Snap安装方案咨询
Ubuntu 22.04下Bamboo Agent调用Snap管理的ChromiumHeadless权限报错问题及非Snap安装方案咨询
我完全理解你遇到的这个头疼问题——从Ubuntu 20.04开始Snap就给这类服务调用带来不少麻烦,升级到22.04又碰到新的cgroup权限报错,确实挺闹心的。下面给你两种解决方案,你可以根据自己的需求选择:
一、修复Snap版Chromium的权限问题
这个报错的根源是:Snap应用会验证进程所在的cgroup是否属于Snap的层级,而Bamboo Agent作为系统服务默认运行在/system.slice/下,不在Snap的cgroup范围内,所以被拦截了。你可以通过调整systemd服务配置来解决:
- 打开Bamboo Agent的systemd服务配置文件(路径可能是
/etc/systemd/system/bamboo-agent.service,如果你的代理是通过其他方式安装的,自行确认路径):sudo nano /etc/systemd/system/bamboo-agent.service - 在
[Service]区块中添加以下两行配置,让服务的cgroup适配Snap的要求:
(Delegate=yes CGROUPPath=/sys/fs/cgroup/unified/snap.chromiumDelegate=yes允许服务管理自身的cgroup子树,CGROUPPath指定了Chromium Snap使用的cgroup路径,让Bamboo Agent的进程能被Snap识别) - 重新加载systemd配置并重启Bamboo Agent服务:
sudo systemctl daemon-reload sudo systemctl restart bamboo-agent.service - 如果上述配置不生效,还可以尝试在调用ChromiumHeadless时临时添加
--no-sandbox参数(注意:这会关闭Chrome的沙箱安全机制,仅作为应急临时方案,不推荐长期使用)
二、安装非Snap版Chromium(更推荐的长期方案)
既然你明确表示更希望避开Snap,Ubuntu 22.04可以通过第三方PPA安装传统Deb包格式的Chromium,彻底摆脱Snap的权限限制:
- 添加提供非Snap Chromium的PPA源:
sudo add-apt-repository ppa:linuxuprising/chromium - 更新本地的apt包索引:
sudo apt update - 安装Chromium浏览器:
sudo apt install chromium-browser - 安装完成后,直接在Bamboo的构建脚本里调用
chromium-browser或者chromium-browser --headless即可,完全不需要处理Snap相关的权限问题。
备注:内容来源于stack exchange,提问作者Brian Duguid
相关产品推荐
相关产品推荐

