XorgがLinuxノートブックのディスプレイパネルを使用しないようにするにはどうすればよいですか?

XorgがLinuxノートブックのディスプレイパネルを使用しないようにするにはどうすればよいですか?

私はほとんどの時間をデスクトップとして使用するラップトップ(約5年前にFedora Linuxを実行しているHP compaq nc6400)を持っています。カバーを閉じたままドッキングステーションに接続し、DVIケーブルを介して大型外部LCDモニタに接続します。

いくつかの理由で(サインイングリーティングがオフになっているモニターに表示され、限られたグラフィックカードが両方のモニターで同時に3Dを実行できない)、Xがラップトップの統合ディスプレイパネルを使用するのを完全に防止したいと思います。ベースに取り付けて机に座ったとき(私が約97%の時間を使う方法です)、統合ノートブックパネルをまったく使用しなかったらと思います。デフォルトでは、すべてが2つのモニタ間でミラーリングされるため、実行は特別な問題ではありません。また、机の外でラップトップを使用するときにまれに設定をキャンセルする必要がある「手動」ソリューションも気に入りません。

ログイン後に外部モニターのみを使用し、ノートブックパネルを「オフ」と表示するようにGnomeを構成できますが、これはXの初期自動構成状態と事前ログインウェルカムディスプレイには影響しません。驚くべきことに、ラップトップにはカバーセンサーがないようで、カバーを開けたり閉じたりしてもイベントが発生しないようです。ログインする前に別のVCで作業できますが、xrandr -display :0 --output LVDS1 --off --output DVI1 --autoXが起動して両方のモニターを使用することを決定した後も同様です。

/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バージョンでもこの問題が発生しました。

答え1

次の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

重要な要素はOption "Ignore" "true"おそらくより簡単になりますが、うまくいきます。外部モニターから離れてノートパソコンを使用するときに何が起こるのかまだわかりません。 Xがエラーで終了することもあります。これは完璧なソリューションではありませんが、この場合は設定を移動できます。

答え2

私は、ラップトップをラップトップのように使用したいと思う場合は、より柔軟性がある少し異なるアプローチをお勧めします。

ディスプレイマネージャ(GDM、KDM、またはLightDMのいずれか)に応じて、ディスプレイマネージャの起動時にスクリプトを実行できます。 xorg.conf ファイルをまったく変更する必要はありません。スクリプトの場所は次のとおりです(1)。

  • KDM: /etc/kde/kdm/Xsetup (下部)
  • SDDM: /etc/X11/xdm/Xsetup(下部)
  • XDM: /etc/X11/xdm/Xsetup(下部)
  • GDM:/etc/gdm/Init/Default - "/sbin/initctl"行のすぐ上にスクリプトコードを配置します。 (1)
  • LightDM: /etc/lightdm/lightdm.conf - "display-setup-script=" は目的のスクリプトの場所を指します。スクリプトの最初の行が次のようになっていることを確認してください。#!/bin/shそして実行可能です。

スクリプトは次のとおりです。モニタ名をコンピュータに適した名前に変更する必要があります。上記の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

DVIモニターが接続されているか、内蔵モニターの代わりに有効になっているかをテストします。私のラップトップドックに適していますが、他の場所でも使い続けることができるより洗練されたバージョンがあります。私は仕事で5つの画面を使うので、これはもっと複雑です。

(1) 一部のファイル位置情報http://forum.xfce.org/viewtopic.php?pid=25026#p25026

答え3

前の記事で若干修正されたxorg.confのバージョン

Section "Monitor"
   Identifier "hdmi out"
   Option "ignore" "true"
EndSection

Section "Monitor"
   Identifier "big display"
EndSection

Section "Device"
   Identifier "onboard"
   Option "Monitor-LVDS1" "hdmi out"
   Option "Monitor-VGA1" "big display"
EndSection

Intel NM10チップで動作しているようです。ボックスには「大型モニタ」用のVGAポートがあります。

答え4

Option "ignore" "true"inを使用すると、/etc/X11/xorg.confその出力はまったく使用できません(またはツールによって異なります)。xrandrこの設定では、HDMI出力を無効にしました。

Section "Monitor"
        Identifier "My-DVI-D"
        Option "Primary" "true"
        Option "PreferredMode" "1920x1080x60.0"
EndSection

Section "Monitor"
        Identifier "My-HDMI"
        Option "Enable" "false"
        Option "RightOf" "My-DVI-D"
EndSection

Section "Device"
        Identifier "onboard"
        Option "Monitor-HDMI1" "My-DVI-D"
        Option "Monitor-HDMI2" "My-HDMI"
EndSection

DVI-D(フル解像度)を有効にしてHDMIを無効にするには、各設定ラインが必要です。

出力を見つけるには、適切に実行してxrandr -q調整Option "Monitor-...します。関連するマンページのセクションは次のとおりです。

   Option "Enable" "bool"
          This optional entry specifies whether the monitor should be turned on at  startup.   By  default,  the  server  will
          attempt to enable all connected monitors.  (RandR 1.2-supporting drivers only)
...
   Option "PreferredMode" "name"
          This optional entry specifies a mode to be marked as the preferred initial mode of the monitor.  (RandR 1.2-support‐
          ing drivers only)
...
   Option "Primary" "bool"
          This optional entry specifies that the monitor should be treated as the primary monitor. (RandR 1.2-supporting driv‐
          ers only)
...
   With RandR 1.2-enabled drivers, monitor sections may be tied to specific outputs of the video card.  Using the name of  the
   output  defined by the video driver plus the identifier of a monitor section, one associates a monitor section with an out‐
   put by adding an option to the Device section in the following format:

   Option "Monitor-outputname" "monitorsection"

   (for example, Option "Monitor-VGA" "VGA monitor" for a VGA output)

関連情報