我有一台笔记本电脑(运行 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
Run Code Online (Sandbox Code Playgroud)
然而,这并没有产生有用的效果。显卡是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
Run Code Online (Sandbox Code Playgroud)
自大约版本 10/11 以来,该机器一直在运行各种版本的 Fedora Linux (x86_64)。我目前正在尝试 Fedora 15 beta(包括 Gnome 3),但该问题在以前的操作系统版本中存在。
Nor*_*rky 10
我能够使用以下 xorg.conf 实现预期目标:
Section "Monitor"
Identifier "laptop panel"
Option "ignore" "true"
EndSection
Section "Monitor"
Identifier "big display"
EndSection
Section "Device"
Identifier "onboard"
Option "Monitor-LVDS1" "laptop panel"
Option "Monitor-DVI1" "big display"
EndSection
Run Code Online (Sandbox Code Playgroud)
关键要素是Option "Ignore" "true"。我也许可以进一步简化它,但它有效。我还不知道当/如果我在远离外部显示器的地方使用笔记本电脑会发生什么,X 可能会退出并出现错误 - 不是一个完美的解决方案,但我可以在这种情况下将配置移开。
我建议采用稍微不同的方法,对于您想将笔记本电脑用作笔记本电脑的极少数情况,该方法可能更灵活。
根据您的显示管理器(可能是 GDM、KDM 或 LightDM),您可以在显示管理器启动时运行脚本。您根本不需要修改过的 xorg.conf 文件。脚本的位置如下(1):
脚本可以是这样的。您需要将监视器名称替换为适合您机器的名称。我试图根据你上面的 xorg.conf 猜测。
/usr/bin/xrandr --current | grep "DVI1 connected "
if [ $? -eq 0 ]; then
echo "DVI found"
sleep 1s
/usr/bin/xrandr --output LVDS1 --off
/usr/bin/xrandr --output DVI1 --auto --primary
fi
Run Code Online (Sandbox Code Playgroud)
这将测试您的 DVI 显示器是否已连接,以及是否启用它而不是内置显示器。我有一个更复杂的版本,它使我的笔记本电脑底座可以很好地工作,但仍然可以在其他地方使用。这对我来说更复杂,因为我在工作中使用 5 个屏幕。
(1) 来自http://forum.xfce.org/viewtopic.php?pid=25026#p25026 的一些文件位置信息
| 归档时间: |
|
| 查看次数: |
20121 次 |
| 最近记录: |