2007年9月19日水曜日

Linux でプレゼン

各地で既報のとおり、 X.org は、 xrandr による出力のホットプラグに対応した。 xrandr 1.2 以降を使えば、 X を再起動せずに、柔軟に出力先を切り替えられる。

ここでは、液晶パネル (LVDS) に解像度 1024x768 で出しつつ、プロジェクタ (VGA) に解像度 1024x768 の「別個」の画面を出す例について。いわゆるデュアルディスプレイというやつか。

これには、あらかじめ、 /etc/X11/xorg.conf を弄っておく必要がある。今回の例の場合、液晶パネルとプロジェクタを横に繋げると、解像度は合わせて最大 2048x768 になるので、次のようにすればいいだろう。
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Virtual 2048 768
EndSubSection
EndSection

これを忘れると、いざ使おうとしたときに
xrandr: screen cannot be larger than 1024x1024 (desired size 2048x768)

などというエラーメッセージに遭遇する。
設定したら X を一度再起動すれば準備は完了だ(Ctrl + Alt + Backspace)。

実際に使うには、まず
$ xrandr -q

とする。各出力先に対して利用可能な解像度と周波数が分かる。

次に、それにしたがい、
$ xrandr --output VGA --mode 1024x768 --right-of LVDS

などとすれば、 プロジェクタに解像度 1024x768 で画面が表示される。ここでは、 --right-of LVDS と指定したので、液晶パネルの右側を通して、マウスカーソルも行き来できる。

2008年5月14日追記: xrandr -qで期待される解像度が出てこない場合があるが、これはたいてい周波数範囲が保守的に検出されてしまっているためで、xorg.confに手で記述してやると解決する可能性がある。EIZO L66の周波数を記述してみた例。
Section "Monitor"
Identifier "Generic Monitor"
Option "Monitor-VGA" "EIZO L66"
EndSection

Section "Monitor"
Identifier "EIZO L66"
HorizSync 27-80
VertRefresh 50-85
EndSection

0 件のコメント: