【免费下载链接】helium-linux
Helium Browser for Linux
helium-linux 是 Helium Browser(隐私优先的 Chromium 系浏览器)的 Linux 构建、打包与开发工具仓库。本教程带你从零开始,使用项目内置的 Docker 容器化编译环境完成一次完整的源码编译:克隆仓库 → 构建 Debian 编译镜像 → 容器内编译出helium浏览器二进制 → 打包为 tar.xz / AppImage / .deb。全程无需手动安装任何编译依赖,Docker 帮你把环境一次性配好。
一、先认识 helium-linux:它如何组织 Linux 构建
Helium 的最终形态如上——一个功能完整的 Chromium 浏览器。而 helium-linux 仓库负责的就是「把它在 Linux 上编译出来并打包」。核心目录结构如下:
| 路径 | 作用 |
|---|---|
| docker/build.Dockerfile | 编译环境镜像定义(Debian + 全套编译依赖) |
| docker/package.Dockerfile | 打包环境镜像定义(debbuild、appimagetool) |
| scripts/docker-build.sh | 一键构建入口:构建镜像并在容器内编译 |
| scripts/build.sh | 容器内的实际编译流程 |
| scripts/package.sh | 生成 tar.xz 与 AppImage |
| package/docker-package.sh | 在打包容器内运行 package.sh |
| scripts/dev.sh | 本地开发模式(he命令) |
| patches/series | 所有要打到 Chromium 源码上的补丁清单 |
| flags.linux.gn | Linux 平台专属的 GN 编译参数 |
构建时会用到一个 git 子模块helium-chromium(即 Helium 浏览器主仓库),脚本会自动初始化。
二、一键克隆仓库:准备工作
打开终端,执行:
git clone https://gitcode.com/gh_mirrors/he/helium-linux cd helium-linux📌环境要求:
- 已安装 Docker(推荐 20.x 以上,支持
docker buildx) - 编译 Chromium 类项目建议:≥ 16GB 内存、≥ 100GB 磁盘(源码与依赖缓存较大)
- 默认支持
x86_64与arm64双架构
三、看懂 Docker 编译环境:build.Dockerfile 里有什么
很多人不敢编译 Chromium,是怕配环境。helium-linux 的 docker/build.Dockerfile 已经替你解决了这个问题,镜像基于debian:trixie-slim,关键内容包括:
- Node.js 22(LTS):Chromium 构建脚本运行所需;
- 几十种系统开发库:
libnss3-dev、libgtk-3-dev、libx11-xcb-dev、mesa-common-dev等,Chromium 链接期必需; - sccache 编译缓存:让重复编译速度大幅提升;
- mold 链接器:显著加快链接阶段;
- builder 用户 + UID/GID 对齐:容器内用户与宿主机保持一致,避免挂载目录出现权限问题;
- 非 x86 架构额外预装 clang/cmake:因为 Chromium 在 arm64 上需要现场编译 LLVM 工具链。
而真正驱动编译的是 scripts/shared.sh,它按顺序完成:拉取源码 → 打补丁(patches/series 中 10 个补丁,如重命名二进制为helium、更换品牌与主题)→ 域名/名称替换 → 生成 flags.linux.gn 中的args.gn编译参数 →gn gen→ninja构建。
四、一键构建命令:scripts/docker-build.sh
一切就绪后,只需一条命令:
./scripts/docker-build.sh -c这个脚本(scripts/docker-build.sh)会分两步执行:
- 构建镜像
chromium-builder:trixie-slim(仅首次需要); - 挂载仓库为
/repo运行容器,进入 scripts/build.sh 完成编译。
常用参数:
| 参数 | 说明 |
|---|---|
-c | 使用 git clone 源码树(而非官方 tarball),开发调试或 tarball 尚未发布时使用 |
--pgo | 启用 PGO 性能优化(仅 x86_64 有效,且必须配合-c) |
环境变量ARCH | 交叉编译目标架构,默认与宿主机一致 |
编译产物位于build/src/out/Default/,其中helium就是可执行的浏览器主程序。⏱️ 首次完整编译通常需要数小时,请耐心等待,sccache 会让二次编译快得多。
五、打包发布:生成 tar.xz、AppImage 与 .deb
编译完成后,把成果打包成可分发格式:
# 容器内打包(推荐,无需本机依赖) ./package/docker-package.sh # 需要额外生成 .deb 包时 MAKE_DEB=1 ./package/docker-package.shpackage/docker-package.sh 基于 docker/package.Dockerfile 构建打包镜像,其中预装了debbuild(构建 .deb 的工具)与appimagetool(构建 AppImage 的工具)。最终产物出现在build/release/目录下:
helium-<版本>-<架构>_linux.tar.xz:二进制压缩包helium-<版本>-<架构>.AppImage:免安装便携版.deb(MAKE_DEB=1时):由 package/mkdeb.sh 基于 package/helium-bin.spec 生成
如上图所示,编译出的 Helium 自带多标签、分屏对比(Split View)等特性——你的容器化构建成果就是这样一个完整可用的浏览器。
六、开发模式:进入源码树调试 Helium
如果你是贡献者,想在源码树上迭代,仓库提供了交互式开发工具 scripts/dev.sh:
source scripts/dev.sh he setup # 首次初始化开发环境(拉源码、打补丁、配置 GN) he build # 增量编译 he run # 用独立数据目录启动开发版,并开启 UI 开发者工具he命令还提供sub/unsub(域名替换与还原)、push/pop(quilt 补丁管理)、pull(同步上游)、reset(清理)等子命令,完整清单可执行he查看帮助。💡 提示:开发版使用独立数据目录~/.config/net.imput.helium.dev,不会污染正式版配置。
七、常见问题速查
Q1:能不用 Docker 直接跑 scripts/build.sh 吗?不建议。README 明确说明:直接在宿主机运行 scripts/build.sh 要求你是 Debian 系发行版且已手动装好全部依赖,这正是 Docker 方案要帮你避免的。
Q2:arm64 上编译特别慢/报错?正常现象。arm64 没有现成的 LLVM/Rust 工具链,scripts/shared.sh 中的setup_toolchain会现场自编译,耗时更长。
Q3:如何确认产物签名?仓库提供签名公钥 pubkey.asc,正式发布渠道(AppImage、tarball、.deb 源)均附带签名。
Q4:想给发行版做包,有什么规范?参见打包指南 package/README.md,其中明确禁止添加--no-sandbox等削弱安全性的默认参数,并要求保留完整沙箱。
八、总结
回顾整条路径:
git clone获取 helium-linux 仓库;./scripts/docker-build.sh -c一键完成镜像构建 + 容器内编译;MAKE_DEB=1 ./package/docker-package.sh产出可分发安装包;source scripts/dev.sh进入日常开发循环。
Docker 容器化编译环境让 Helium 的 Linux 构建做到了「零环境配置」——你只需要一条命令,剩下的交给 docker/build.Dockerfile 和 scripts/shared.sh。现在就可以动手,为自己编译一份 Helium 浏览器吧!
【免费下载链接】helium-linux
Helium Browser for Linux
相关推荐
如何从零编译Navop:Rust+GPUI开发环境搭建与源码构建完整教程
如何从零编译Navop:Rust+GPUI开发环境搭建与源码构建完整教程 Navop 是一款用 Rust 与 GPUI 原生构建的开源一体化桌面工作台 ,集数据
从零开始编译mpv:Linux环境下的完整构建教程
从零开始编译mpv:Linux环境下的完整构建教程 还在为找不到合适的视频播放器而烦恼?想要一个功能强大、高度可定制的命令行播放器?mpv正是你的不二选择!作为
音视频视频音频如何编译Mixxx源码:从零开始的完整构建教程
如何编译Mixxx源码:从零开始的完整构建教程 🎵 想要深入了解开源DJ软件Mixxx的内部工作原理吗?这篇 完整的Mixxx源码编译指南 将带你从零开始,逐
音视频桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考