Skip to content

13.9 Web 浏览器

本节介绍如何在 FreeBSD 系统上安装和配置一些主流的 Web 浏览器。

13.9.1 Firefox

Firefox 是一款开源浏览器,具有符合标准的 HTML 渲染引擎、标签页浏览、弹出式窗口拦截、扩展功能、增强的安全性等特点。Firefox 基于 Mozilla 代码库。

13.9.1.1 安装最新版本的 Firefox

  • 使用 pkg 安装:
sh
# pkg install firefox
  • 或者使用 Ports:
sh
# cd /usr/ports/www/firefox/
# make install clean

火狐浏览器

13.9.1.2 安装 Firefox 扩展支持版本 (ESR)

  • 使用 pkg 安装:
sh
# pkg install firefox-esr
  • 或者使用 Ports:
sh
# cd /usr/ports/www/firefox-esr/
# make install clean

13.9.2 Chromium

Chromium 是一个开源浏览器项目,旨在提供更安全、更快速、更稳定的 web 浏览体验。Chromium 具有标签页浏览、弹出式窗口拦截、扩展支持等功能。Chromium 是 Google Chrome 浏览器的开源基石。

Chromium 不同于 Chrome,但是在 FreeBSD 中 Chromium 的启动命令为 chrome

  • 使用 pkg 安装 Chromium
sh
# pkg install chromium
  • 或者使用 Ports 安装 Chromium
sh
# cd /usr/ports/www/chromium/
# make install clean

警告

要编译 Chromium,需要至少 8 GB 内存(Release 构建),或等量的交换分区与内存之和。如果启用 LTO 优化则需要 16 GB,如果启用 Debug 构建则需要 32 GB。Chromium 仅支持 amd64 和 aarch64 架构。

13.9.3 ungoogled-chromium

Chromium 仍保留了对 Google 网络服务和二进制文件的依赖,因此 ungoogled-chromium 项目在此基础上移除了所有与 Google 相关的组件,包括后台请求、域名追踪和预编译二进制文件等。

  • 使用 pkg 安装 ungoogled-chromium
sh
# pkg install ungoogled-chromium
  • 或者使用 Ports 安装 ungoogled-chromium
sh
# cd /usr/ports/www/ungoogled-chromium/
# make install clean

13.9.4 Chrome(Linux 兼容层)

Chrome(Linux 兼容层)基于 FreeBSD 的 Linuxulator 运行,需先启用 Linux 二进制兼容层。

  • 使用 pkg 安装 Chrome
sh
# pkg install linux-chrome
  • 或者使用 Ports 安装 Chrome
sh
# cd /usr/ports/www/linux-chrome/
# make install clean

13.9.5 附录:让 Chromium 使用 Google 账号同步

作为开源项目,Chromium 与 Google Chrome 的关系类似于 AOSP 与 Pixel UI 的关系。Chromium 无法直接从 Google Chrome 的在线插件商店下载安装插件,只能手动从本地安装 crx(同步启用后可自动同步浏览器插件)。Chromium 也不自带 Google 翻译插件等功能。更多差异可参见:The Chromium Project. Chromium Browser vs Google Chrome[EB/OL]. [2026-03-26]. https://chromium.googlesource.com/chromium/src/+/main/docs/chromium_browser_vs_google_chrome.md. 该文档比较了 Chromium 与 Google Chrome 在功能和授权上的差异。

Chromium 并非 Google Chrome,前者是 The Chromium Project 发布的开源与自由软件,其顶层许可证为 BSD 3-Clause “New” or “Revised” License,同时包含 LGPL 2.1 及 MPL 1.1 等许可的代码;后者是 Google LLC 的专有软件。

Chromium 89 版本发布前后,Google 限制了对私有同步 API 的访问,各发行版因此移除了之前打包时自带的与 Chrome 相同的默认 API 密钥。该公告说明了此变更的原因与影响。

在开始获取 token 之前,需要先加入以下两个 Google 邮件列表:

加入邮件列表

由于仅需 Chrome Google API 的访问权限,必须关闭这两个邮件列表的消息通知(即“不接收电子邮件”),否则将收到大量邮件通知。

关闭邮件通知

邮件列表设置

加入 Google browser sign-in test account 群组后,会看到“您无权访问此内容”等提示,此属正常现象,无需担心。

join-mail-list-for-google-api-error2

在浏览器中打开 谷歌云控制台网站

注意

登录控制台时使用的谷歌账户必须与之前加入邮件列表的账户一致。

谷歌云控制台首页

点击左上角的“My First Project”,随后在弹出窗口的右上角选择“新建项目”即可。

新建项目选项

项目名称可自行填写,组织保持默认设置。

填写项目信息

点击左上角的“My First Project”,随后在弹出窗口中选择刚才创建的项目(此处为 google-sync)。

选择项目

点击上图中的“API 和服务”,再点击“+ 启用 API 和服务”

启用 API 和服务

搜索“chrome-sync”找到下列内容。

搜索 Chrome Sync

点击启用“Chrome Sync API”

启用 Chrome Sync API

之后会在已启用的 API 和服务列表中显示下列状态

已启用 API 列表

选择“OAuth 权限请求页面”:

OAuth 权限页面

创建外部应用:

创建外部应用

填写应用信息

应用信息填写

应用详细信息

创建后如图:

应用创建完成

点击“客户端”,创建 OAuth 客户端 ID,应用类型为“桌面应用”:

创建 OAuth 客户端

创建后如图:

OAuth 客户端创建

点击创建的“桌面客户端 1”

查看客户端详情

获取以下凭据(此为示例,必须自行生成):

  • 客户端 ID 502882456359-okloi0a7k6vjodss69so97tmqmv0jjj5.apps.googleusercontent.com
  • 客户端密钥 GoCSPX-iKHEKZmP4w_zdq0Z8nwOqz6SF2_M

返回“API 和服务”,点击“+ 创建凭据”,再点击“API 密钥”。

创建 API 密钥

即可获得一个 API 密钥(此为示例,读者必须自行生成):AIzaSyDVpYvJQUn9HTjAiD89y3xBDOG3oaxV5_E

API 密钥生成

打开凭据概览:

凭据概览

编辑 ~/.profile 文件,加入:

sh
export GOOGLE_API_KEY=AIzaSyDVpYvJQUn9HTjAiD89y3xBDOG3oaxV5_E  # 填写 API 密钥
export GOOGLE_DEFAULT_CLIENT_ID=502882456359-okloi0a7k6vjodss69so97tmqmv0jjj5.apps.googleusercontent.com  # 填写客户端 ID
export GOOGLE_DEFAULT_CLIENT_SECRET=GoCSPX-iKHEKZmP4w_zdq0Z8nwOqz6SF2_M  # 填写客户端密钥

注意

本节仅在默认 shell sh 和 KDE 6 下测试通过。其他环境下的配置欢迎提交反馈。

重启系统,再启动 Chromium。

点击“开启同步功能”:

开启同步功能

输入账户:

输入账户

输入账户密码:

输入密码

登录确认

查看同步情况:

同步状态

13.9.5.1 参考文献

13.9.6 故障排除与未竟事宜

13.9.6.1 缓解 Chromium 磁盘缓存过大及 GPU 加速异常的问题

将参数添加至启动图标(其本质为文本文件)中:

sh
chrome --disk-cache-size=0 --disable-gpu

注意

--disk-cache-size=0 并非禁用磁盘缓存,而是让 Chromium 使用默认计算值。如需限制缓存大小,请指定具体字节数(如 --disk-cache-size=104857600 表示 100 MB)。--disable-gpu 用于禁用 GPU 硬件加速。