FreeBSD 中文社区 2025 第二季度问卷调查
FreeBSD 中文社区(CFC)
VitePress 镜像站QQ 群 787969044视频教程Ⅰ视频教程Ⅱ
  • FreeBSD 从入门到追忆
  • 中文期刊
  • 状态报告
  • 发行说明
  • 手册
  • 网络文章集锦
  • 笔记本支持报告
  • Port 开发者手册
  • 架构手册
  • 开发者手册
  • 中文 man 手册
  • 文章
  • 书籍
  • FreeBSD 中文期刊
  • 编辑日志
  • 2025-123 下游项目
    • FreeBSD 发布工程:新主管上任
    • GhostBSD:从易用到挣扎与重生
    • BSD Now 与将来
    • 字符设备驱动教程(第三部分)
    • 学会走路——连接 GPIO 系统
    • FreeBSD 中对 SYN 段的处理
    • FreeBSD 2024 年秋季峰会
  • 2024-1112 虚拟化
    • 字符设备驱动程序教程(第二部分)
    • 面向 Linux 和 Windows 用户的 bhyve
    • Xen 与 FreeBSD
    • Wifibox:一种嵌入式虚拟化无线路由器
    • 嵌入式 FreeBSD:Fabric——起步阶段
    • DGP:一种新的数据包控制方法
    • 会议报告:我在都柏林的 EuroBSDCon 体验
  • 2024-0910 内核开发
    • 字符设备驱动程序教程
    • VPP 移植到了 FreeBSD:基础用法
    • 利用 Kyua 的 Jail 功能提升 FreeBSD 测试套件的并行效率
    • FreeBSD 上的 Valgrind
    • 嵌入式 FreeBSD:探索 bhyve
    • TCP/IP 历险记:FreeBSD TCP 协议栈中的 Pacing
    • 实用软件:实现无纸化(Paperless)
  • 2024-0708 存储与文件系统
    • FreeBSD 中的 NVMe-oF
    • FreeBSD iSCSI 入门
    • 使用 ZFS 原生加密保护数据
    • 嵌入式 FreeBSD:打造自己的镜像
    • TCP LRO 简介
    • 基于 Samba 的时间机器备份
  • 2024-0506 配置管理对决
    • 基本系统中的 mfsBSD
    • rdist
    • Hashicorp Vault
    • 在 GitHub 上向 FreeBSD 提交 PR
    • 悼念 Mike Karels
    • 2024 年 5-6 月来信
    • 嵌入式 FreeBSD 面包板
    • TCP/IP 历险记:TCP BBLog
    • 实用软件:开发定制 Ansible 模块
  • 2024-0304 开发工作流与集成
    • FreeBSD 内核开发工作流程
    • FreeBSD 与 KDE 持续集成(CI)
    • 更现代的内核调试工具
    • 从零开始的 ZFS 镜像及 makefs -t zfs
    • 提升 Git 使用体验
  • 2024-0102 网络(十周年)
    • FreeBSD 中的 RACK 栈和替代 TCP 栈
    • FreeBSD 14 中有关 TCP 的更新
    • if_ovpn 还是 OpenVPN
    • SR-IOV 已成为 FreeBSD 的重要功能
    • FreeBSD 接口 API(IfAPI)
    • BATMAN:更优的可移动热点网络方式
    • 配置自己的 VPN——基于 FreeBSD、Wireguard、IPv6 和广告拦截
    • 实用软件:使用 Zabbix 监控主机
  • 2023-1112 FreeBSD 14.0
    • LinuxBoot:从 Linux 启动 FreeBSD
    • FreeBSD 容器镜像
    • 现在用 Webhook 触发我
    • 新的 Ports 提交者:oel Bodenmann (jbo@freebsd.org)
  • 2023-0910 Port 与软件包
    • 回忆录:与 Warner Losh(@imp)的访谈
    • 在你自己的仓库中定制 Poudriere 源
    • Wazuh 和 MITRE Caldera 在 FreeBSD Jail 中的使用
    • PEP 517
    • CCCamp 2023 旅行报告
  • 2023-0708 容器与云
    • 在 Firecracker 上的 FreeBSD
    • 使用 pot 和 nomad 管理 Jail
    • 会议报告:C 与 BSD 正如拉丁语与我们——一位神学家的旅程
    • 抒怀之旅:与 Doug Rabson 的访谈
    • 基于 Jail 的广告拦截教程
    • 我们收到的来信
  • 2023-0506 FreeBSD 三十周年纪念特刊
    • CheriBSD 近十多年的历程
    • AArch64:成为 FreeBSD 新的一级架构
    • 岁月如梭:我个人的时间线
    • 安装 FreeBSD 1.0:回顾 30 年前
    • ZFS 是如何进入 FreeBSD 的呢?
    • 我不是来自约克郡的,我保证!
    • 回忆录:采访 David Greenman Lawrence
    • FreeBSD 和早期的 Unix 社区
    • 早期的 FreeBSD 移植
    • FreeBSD 30 周年:成功的秘诀
    • FreeBSD 在日本:回忆之旅与今日之实
  • 2023-0304 嵌入式
    • CheriBSD port 和软件包
    • 让我们来试试 ChatGPT
    • GPU 直通
  • 2023-0102 构建 FreEBSD Web 服务器
    • ZFS 的原子 I/O 与 PostgreSQL
    • 虚拟实验室——BSD 编程研讨会
    • ZFS 简介
    • 会议报告:落基山庆祝女性计算机科学家
    • 进行中的工作/征求反馈:数据包批处理
    • 基金会与 FreeBSD 桌面
  • 2022-1112 可观测性和衡量标准
    • 在 FreeBSD 的 DDB 内核调试器中编写自定义命令
    • DTrace:老式跟踪系统的新扩展
    • 基于证书的 Icinga 监控
    • 活动监控脚本(activitymonitor.sh)
    • 实用 IPv6(第四部分)
    • EuroBSDCon 会议报道
    • 实用 Port:Prometheus 的安装与配置
    • 书评:《用火解决问题:管理老化的计算机系统(并为现代系统保驾护航)》Kill It with Fire: Manage Aging Computer Systems (and Future Proof Modern Ones)
  • 2022-0910 安全性
    • CARP 简介
    • 重构内核加密服务框架
    • PAM 小窍门
    • SSH 小窍门
    • 实用 IPv6(第三部分)
    • 书评:Understanding Software Dynamics(深入理解软件性能——一种动态视角)—— Richard L. Sites 著
    • 访谈:保障 FreeBSD 安全性
    • MCH 2022 会议报告
  • 2022-0708 科研、系统与 FreeBSD
    • 在 FreeBSD 上构建 Loom 框架
    • 教授本科生 Unix 课程
    • FreeBSD 入门研讨会
    • 实用 IPv6(第二部分)
    • 在 2022 年及以后推广 FreeBSD
    • 进行中的工作/征求反馈:Socket 缓冲区
    • FreeBSD 开发者峰会报告
    • 支持 Electromagnetic Field 2022
  • 2022-0506 灾难恢复
    • 使用 FreeBSD 构建高弹性的私有云
    • LLDB 14 —— FreeBSD 新调试器
    • 实用 IPv6(第一部分)
    • 利用 netdump(4) 进行事后内核调试
    • 进行中的工作/征求反馈:FreeBSD 启动性能
    • 实用 Port:在 OpenZFS 上设置 NFSv4 文件服务器
  • 2022-0304 ARM64 是一级架构
    • FreeBSD/ARM64 上的数据科学
    • Pinebook Pro 上的 FreeBSD
    • 嵌入式控制器的 ACPI 支持
    • 进行中的工作/征求反馈:Lumina 桌面征集开发人员
    • 实用 Port:如何设置 Apple 时间机器
  • 2022-0102 软件与系统管理
    • 为 FreeBSD Ports 做贡献
    • 使用 Git 贡献到 FreeBSD Ports
    • CBSD:第一部分——生产环境
    • 将 OpenBSD 的 pf syncookie 代码移植到 FreeBSD 的 pf
    • 进行中的工作/征求反馈:mkjail
    • 《编程智慧:编程鬼才的经验和思考》(The Kollected Kode Vicious)书评
    • 会议报告:EuroBSDCon 2021 我的第一次 EuroBSDCon:一位新组织者的视角
  • 2021-1112 存储
    • 开放通道 SSD
    • 构建 FreeBSD 社区
    • 与完美操作系统同行 27 年
    • 进行中的工作/征求反馈:OccamBSD
    • 通过 iSCSI 导入 ZFS ZIL——不要在工作中这样做——就像我做的那样
  • 2021-0910 FreeBSD 开发
    • FreeBSD 代码审查与 git-arc
    • 如何为 FreeBSD 实现简单的 USB 驱动程序
    • 内核开发技巧
    • 程序员编程杂谈
  • 2021-0708 桌面/无线网
    • 通往 FreeBSD 桌面的直线路径
    • FreeBSD 13 中的人机接口设备 (HID) 支持
    • Panfrost 驱动程序
    • 用 Git 更新 FreeBSD
    • FreeBSD 的新面孔
    • 想给你的桌面加点佐料?
  • 2021-0506 安全
    • 七种提升新安装 FreeBSD 安全性的方法
    • copyinout 框架
    • 使用 TLS 改善 NFS 安全性
    • Capsicum 案例研究:Got
    • 对 Jail 进行安全扫描
  • 2021-0304 FreeBSD 13.0
    • 展望未来
    • FreeBSD 13.0 工具链
    • FreeBSD 13.0 中有新加载器吗?
    • TCP Cubic 准备起飞
    • OpenZFS 中的 Zstandard 压缩
    • 会议报告:FreeBSD 供应商峰会
    • Git 不够吗?
  • 2021-0102 案例研究
    • Tarsnap 的 FreeBSD 集群
    • BALLY WULFF
    • Netflix Open Connect
    • FreeBSD 的新面孔
    • 写作学者的 FreeBSD
    • 在世界之巅
  • 2020-1112 工作流/持续集成(CI)
    • FreeBSD Git 快速入门
    • 使用 syzkaller 进行内核 Fuzzing
    • Mastering Vim Quickly 书评
    • 线上会议实用技巧
    • 在控制台上进行网络监控
  • 2020-0910 贡献与入门
    • 采访:Warner Losh,第 2 部分
    • 代码审查
    • 撰写良好的提交消息
    • 如何在不是程序员的情况下做出贡献——成为 FreeBSD 译者
    • 如何成为文档提交者
    • 谷歌编程之夏
    • 为 FreeBSD 期刊撰写文章
    • 你为什么使用 FreeBSD
    • FreeBSD 的新面孔
  • 2020-0708 基准测试/调优
    • FreeBSD Friday
    • 采访:Warner Losh,第 1 部分
    • 构建和运行开源社区
    • 在 FreeBSD 上轻松搭建我的世界(Minecraft)服务器
    • FreeBSD 的新面孔
  • 2020-0506 网络性能
    • 内核中的 TLS 卸载
    • 访谈:Michael W Lucas
    • FreeBSD 桌面发行版
    • 使用 Poudriere 进行 Port 批量管理
    • FreeBSD 的新面孔
由 GitBook 提供支持
LogoLogo

FreeBSD 中文社区(CFC) 2025

在本页
  • 硬件
  • 笔记本电脑
  • WiFi
  • 显卡
  • 蓝牙
  • BIOS 设置
  • X11
  • 图形环境
  • 现成的解决方案
  • GhostBSD
  • NomadBSD
  • helloSystem
  • 结束语
在GitHub上编辑
导出为 PDF
  1. 2021-0708 桌面/无线网

通往 FreeBSD 桌面的直线路径

上一页程序员编程杂谈下一页FreeBSD 13 中的人机接口设备 (HID) 支持

最后更新于1个月前

  • 原文链接:

  • 作者:VERMADEN

所以,你想试试 FreeBSD 桌面?

嗯,也许你应该再考虑一下,因为即使是每天编写和修改 FreeBSD 的人——FreeBSD 开发者——多年来也更倾向于使用 Macbook,而不是尝试运行 FreeBSD 桌面。如果连他们都是这样,那你为什么还要尝试呢?

在经历了从 4.4BSD 和 386BSD 过渡到 FreeBSD 的多年演变后,它依然保持着 UNIX 的本质,并且遵循 UNIX 的方式做事。简单的事情依然简单,而复杂的事情尽可能地保持简单。它仍然基于 X11,并使用传统的纯文本文件进行配置。有些人实际上更喜欢这种方式——尤其是在 Linux 世界引入 systemd(1) 之后。但 FreeBSD 更加简单和统一,并且拥有 Linux 世界中找不到的多个子系统或特性。例如,ZFS 启动环境 (Boot Environments) 或 GEOM 存储框架。此外,还有 Jail、基本系统 (Base System) 概念、直接集成在内核中的优秀音频子系统,以及更多特性。

在本文中,我将尝试为你理清通往 FreeBSD 桌面的道路。

硬件

硬件是最重要的部分。真的。我已经不止一次犯过这个错误。我买了 FreeBSD 不支持的硬件。我当时非常想要一款“最强”的 Intel X3000 显卡,它搭载在 Intel G965 主板上。我还想把它与当时非常强大的 Intel Core 2 Quad Q6600 处理器搭配使用。不幸的是,FreeBSD 并不支持那款显卡。它支持所有其他 Intel 显卡,如 GMA 950 和 GMA 3000,但唯独不支持 X3000。这个决定让我不得不进入 Ubuntu Linux 的世界大约一年,而你可能也能想象,那并不是一段愉快的时光。

关于 FreeBSD 硬件的第一条经验法则是:不要选择最新的硬件。为了稳妥起见,尽量选择已经上市至少两年的硬件。这样,你就能最大程度地减少遇到不受支持设备的风险。此外,你还应该查阅 FreeBSD 最新版本的 硬件支持说明 (Hardware Notes)。在撰写本文时,最新版本包括 12.2-RELEASE 和 13.0-RELEASE。以下是相关链接:

请记住,这些硬件支持列表也并不完美。例如,它们列出了许多受支持的 AMD 处理器,但却没有提到 AMD EPYC 服务器 CPU 和 AMD Ryzen 桌面/移动 CPU,而 FreeBSD 在这些平台上运行得非常流畅。

笔记本电脑

许多人更喜欢“移动计算”而不是传统的 PC。总体而言,IBM 和联想 ThinkPad 笔记本电脑对 FreeBSD 的支持相当不错。我个人偏爱经典的 7 排 IBM 键盘,因此我使用的是 2011 年(是的,一台十年前的电脑)推出的 ThinkPad W520,在这台设备上,一切都运行得非常顺畅。其他配备该经典键盘的机型包括 X220、T420、T420s 和 T520。

不过,你不必回溯那么久的时间。例如,ThinkPad X1 Carbon 第 5 代和第 6 代运行 FreeBSD 非常稳定。ThinkPad X460、X470、T460 和 T470 也表现良好。实际上,有一个完整的笔记本测试列表,其中包含针对 FreeBSD 的有用说明,此外,还有一个 BSD 硬件数据库。在购买设备之前,我建议你查看这两个资源:

WiFi

这是 FreeBSD 领域最需要改进的部分之一,不过在许多方面,它的进展已经开始了。这个话题在最近的 FreeBSD 开发者峰会上被讨论过,FreeBSD 基金会也已经意识到了这个问题,并启动了一项计划来解决它。

目前,最稳妥的选择是 802.11n 芯片——大多数都能正常工作,但有些只能在 802.11g 模式(速度较慢)下运行。例如,Realtek RTL8188CUS 就是一种“临时解决方案”,当你发现笔记本的内置 WiFi 芯片不受 FreeBSD 支持时,可以考虑使用它。这款 USB 802.11n WiFi 适配器体积非常小,从 USB-A 端口伸出仅几毫米。缺点是 FreeBSD 仅支持它的 802.11g 模式,但至少它能正常工作。

显卡

在 FreeBSD 下运行良好的显卡大致可以分为三类:

  1. 受开源驱动支持的 Intel 和 AMD 显卡

  2. 由 Nvidia 官方闭源驱动良好支持的 Nvidia 显卡

  3. 太旧和太新的显卡,可能根本不受支持

我个人使用低功耗的 Intel 集成显卡,它们的表现对我来说足够好。如果你需要更强的性能,那么可以考虑 AMD 和 Nvidia 的产品。我更倾向于 AMD,因为它们的驱动和硬件设计是开源的。不过,Nvidia 的二进制闭源驱动在很多情况下也能很好地运行。

蓝牙

就个人而言,我认为蓝牙更像是手机的功能,而非笔记本电脑的功能,但蓝牙在所有笔记本电脑中都有存在,甚至许多 SBC(单板计算机)如树莓派也配备了蓝牙。FreeBSD 上的蓝牙应该可以正常使用鼠标和键盘,但在一些笔记本上,它也可能会“破坏”你的睡眠/恢复周期。

BIOS 设置

有时你需要更改一些 BIOS 设置,才能让笔记本电脑正常睡眠/恢复。需要禁用的选项有时包括:

  • 蓝牙

  • 受信平台模块 (TPM)

X11

无论你选择 FreeBSD 12.2 还是 13.0——两者在桌面上的表现都不错。对于 Intel 和 AMD 显卡,你分别需要使用 graphics/drm-fbsd12.0-kmod 或 graphics/drmfbsd13-kmod。对于 Nvidia 显卡,则需要使用相应版本的 x11/nvidia-driver,因为有多个版本,所以请查看 Nvidia 发布说明,了解哪个版本最适合你的 GPU。至于 X11 本身,你可以使用 x11/xorg 或 x11/xorg-minimal。如果你希望安装最少的包,建议使用后者。不过,从某种意义上说,这其实没有意义,因为当你开始安装 GTK/QT 桌面软件时,你最终会安装大约 1,000 个包,且占用大约 10 GB 的空间。别忘了,FreeBSD 在 X11 方面有大量的文档——在手册和 FAQ 中:

图形环境

图形环境是由你来决定的,有很多选择。有人偏好简约的 Openbox 和 FVWM 栈式窗口管理器。其他人喜欢 i3 或 Awesome 等平铺式窗口管理器。一些人选择轻量级环境,如 MATE 或 XFCE。还有一些人觉得完整的桌面环境,如 GNOME 或 KDE 最为舒适。如果你坚持使用更简约的窗口管理器,你将需要自己创建环境,包括状态栏和信息栏。决定是否使用通知守护进程,是否使用系统托盘和剪贴板管理器——而在桌面环境中,这些决策已经为你做出了。你无需重新造轮子 😀

现成的解决方案

GhostBSD

NomadBSD

helloSystem

结束语


VERMADEN 是另一位 ${RANDOM} 系统管理员,分享他在 IT 行业的工作经验。

你可以安装 FreeBSD 并按照自己的方式设置桌面,但如果你只想体验使用 FreeBSD 桌面的感觉,可以尝试一些现成的、专为桌面设计的 FreeBSD 解决方案。我将简要介绍其中的几种,更多信息可以参考 FreeBSD 基金会页面:

它可能是其中一个较老且更加成熟的解决方案。它使用 MATE 作为图形桌面,并且采用 OpenRC 初始化系统,而不是默认的 FreeBSD rc(8) 系统。这可能对一些已经熟悉 OpenRC 系统的 Linux 用户有吸引力。它们还有一个 XFCE 变体,如果你觉得它更合适,可以尝试。详情请访问 。

这个系统专注于 Openbox,并进行了少量附加,适合非常轻量级的桌面环境。它还使用了 Tint2 和 Plank,看起来与 MacOS 布局相似。它提供了几个有趣的 DSB 工具,用于自动挂载或音量控制。你可以访问他们的页面 。

helloSystem 仍处于非常早期的开发阶段,但它具有一些 Linux 上甚至没有的独特功能,例如全局菜单搜索/过滤系统。它的图形部分主要是用 QT 编写的。详情请查看 。

我选择了“创建自己的桌面”路径,并通过 Openbox 作为窗口管理器构建了我的图形环境——这在我的 FreeBSD 桌面系列中分为 26 部分进行描述——。你还应该查看 FreeBSD 基金会对 X11 设置的总结——。你也可以使用 desktop-installer 来为你完成很多工作——。

FreeBSD 13.0-RELEASE 硬件支持
FreeBSD 12.2-RELEASE 硬件支持
FreeBSD 笔记本电脑支持列表
BSD 硬件数据库
FreeBSD X11 手册
FreeBSD X11 FAQ
FreeBSD 桌面发行版指南
https://www.ghostbsd.org/
https://nomadbsd.org/
https://hellosystem.github.io/docs/
https://vermaden.wordpress.com/freebsd-desktop/
https://freebsdfoundation.org/freebsd-project/resources/installing-a-desktop-environment-on-freebsd/
https://www.grayhatfreelancing.com/freebsd-desktop-workstation-quickbuild/
A Straight Path to the FreeBSD Desktop