在安装OpenBSD 5.1时,我遇到了一个问题:
Do you expect to run the X Windows System?
如果我说“是”,安装程序会对我的系统进行什么更改?我知道 X Windows 是什么,但我不知道为什么安装程序想知道我是否打算使用它。它是否根据我的回答以某种方式启用/禁用 X?
答案1
Random832的回答是正确的,但我会给你一个更简单的答案。
操作系统中唯一可以直接访问硬件的部分是内核。在传统的unix系统中,X服务器(XFree86/Xorg)需要直接访问图形硬件,即用户态进程需要绕过内核。这是一个很大的安全问题,因此 OpenBSD 要求您确认。
如果您回答“是”,安装程序会将 sysctl 条目(可以在运行时设置的内核配置参数)更改machdep.allowaperture=0
为machdep.allowaperture=2
.
xorg (KMS) 的新图形堆栈将解决此问题,但有必要将 KMS 移植到 OpenBSD。
答案2
根据常见问题解答,这个问题导致启用xf86(4)光圈驱动程序,它允许 X 服务器(或有权访问它的任何其他进程)直接访问视频内存。
11.2 - 配置X
好消息:在大多数平台的绝大多数硬件中,X 根本不需要配置,它就可以工作。
X 的手动配置细节因平台而异。在所有情况下,已安装系统的 /usr/X11R6/README 中都会有说明和其他特定于平台的信息。
一些平台需要 xf86(4) X 孔径驱动程序,该驱动程序提供对 VGA 板的内存和 I/O 端口以及 X 服务器所需的 PCI 配置寄存器的访问。使用此驱动程序之前必须启用它,方法是在安装过程中对此问题回答“是”:
Do you expect to run the X window System [no]
或者将 /etc/sysctl.conf 中 machdep.allowaperture 的值更改为适合您平台的非零值,然后重新启动计算机(出于安全原因,启动完成后无法更改此 sysctl)。这会带来安全隐患,因此如果不需要,请不要这样做。