我有一台笔记本电脑(运行Fedora Linux的大约5岁的HP compaq nc6400),大部分时间都用作台式机。它的盖子关闭时插入了扩展坞,并通过DVI电缆将其连接到大型外部LCD显示器。
由于种种原因(登录问候语出现在封闭的显示器上,有限的图形卡无法同时对两个显示器进行3D处理)我想防止X完全使用笔记本电脑的集成显示面板。当停靠在我的桌子上时(这是我大约97%的时间使用它的方式),我希望它不使用集成的笔记本电脑面板。引导并不是一个特殊的问题,因为默认情况下,所有内容都在两个显示器之间进行镜像。另外,我不介意“手动”解决方案,因此在极少数情况下,当我不在办公桌旁使用笔记本电脑时,必须撤消设置。
登录后,我可以配置Gnome,使其仅使用外部显示器,并且笔记本电脑面板标记为“关闭”,但是这对X的初始自动配置状态和登录前的欢迎程序显示没有影响。令人惊讶的是,笔记本电脑似乎没有盖子传感器,因此打开或关闭盖子似乎不会触发任何事件。我可以xrandr -display :0 --output LVDS1 --off --output DVI1 --auto
在登录前在单独的VC上使用,但这仍然是在X已经开始并发现并决定同时使用两个显示器的事实之后。
我尝试通过创建一个/etc/X11/xorg.conf.d/01-turn-off-laptop-display.conf
包含以下内容的文件来配置Xorg :
Section "Monitor"
Identifier "laptop panel"
Option "Monitor-LVDS1" "laptop panel"
Option "Enable" "no"
EndSection
Section "Monitor"
Identifier "big display"
Option "Monitor-DVI1" "big display"
EndSection
Section "Screen"
Identifier "main"
Device "Default"
Monitor "big display"
EndSection
但是,这没有用。显卡是Intel 945GM:
[dan@khorium ~]$ sudo lspci -v -s 0:2
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
Subsystem: Hewlett-Packard Company Device 30ad
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f4600000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 4000 [size=8]
Memory at e0000000 (32-bit, prefetchable) [size=256M]
Memory at f4680000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Kernel driver in use: i915
Kernel modules: i915
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
Subsystem: Hewlett-Packard Company Device 30ad
Flags: bus master, fast devsel, latency 0
Memory at f4700000 (32-bit, non-prefetchable) [size=512K]
Capabilities: [d0] Power Management version 2
自大约10/11版本以来,该机器已在运行各种版本的Fedora Linux(x86_64)。我目前正在尝试Fedora 15 beta(包括Gnome 3),但是该问题在以前的OS版本中已经存在。