モバイルノートPCは非常に持ち運びに便利ですが、液晶ディスプレイの解像度が小さいケースが多く、宅内で作業する時なんかは大きいディスプレイを使いたくなるかと思います。
で、マルチモニタというか、外部ディスプレイ出力をあれこれするとき、最近は"/etc/X11/xorg.conf"をモリモリといじらなくても良いんですね。
最近、"XRandR"を使えば、Xの再起動もいらずに簡単に様々なディスプレイの設定が出来ることがわかりました。
ここに、そのメモを残しておくことにします。
尚、試した環境は、Ubuntu 8.04 (Hardy Helon) on ThinkPad X61です。
とはいっても、少しだけ"xorg.conf"を設定
デュアルヘッドを有効にするべく"/etc/X11/xorg.conf"の"Screen"セクションに仮想ディスプレイサイズを入れておきます。このサイズは2画面の合計サイズを超えていたらOK。
Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" Subsection "Display" Virtual 3000 3000 EndSubsection EndSection
↑のような感じね。一部抜粋。
設定したらXを再起動します。・・・んまぁ、"Ctrl + Alt + Backspace"でいっちゃってもOKです。
まずは状況確認
$ xrandr Screen 0: minimum 320 x 200, current 1024 x 768, maximum 3000 x 3000 VGA connected (normal left inverted right x axis y axis) 1920x1200 60.0 + 1600x1200 59.9 1680x1050 60.0 1280x1024 75.0 59.9 1152x864 74.8 1024x768 75.1 60.0 800x600 75.0 60.3 640x480 75.0 60.0 720x400 70.1 LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 246mm x 185mm 1024x768 50.0*+ 60.0 40.0 800x600 60.3 640x480 60.0 59.9
今、使える外部出力の一覧が出ます。
↑の出力例では、ノートPCの液晶ディスプレイと、VGA接続している外部ディスプレイの情報が出ています。
デュアル出力してみる
$ xrandr --output VGA --auto --right-of LVDS
VGA接続している外部ディスプレイに出力、かつノートPCの液晶ディスプレイの右側に来るように設定。
"--right-of"の部分を"--left-of"にすると、液晶ディスプレイの左側にすることも可能。
$ xrandr --output VGA --mode "1920x1200" --right-of LVDS
解像度を明示する場合は、↑のような感じで、解像度を指定して実行します。
ディスプレイ出力のON/OFFを制御する
$ xrandr --output VGA --off
デュアルで出力しているときに、↑を実行すると、液晶ディスプレイのみの出力に戻すことが出来ます。
$ xrandr --output LVDS --off
逆に、↑を実行すると、外部ディスプレイのみの出力にすることも出来ます。
液晶ディスプレイと外部ディスプレイに表示する画面を同じ(クローン)にする
$ xrandr --output VGA --same-as LVDS
こないな感じでOKなはず。
画面を回転させる
$ xrandr --output LVDS --rotate left
とか
$ xrandr --output VGA --rotate left
ディスプレイが縦回転できるタイプだと、これで回転させてやると、読み物とかコーディングをするときなんかは結構使えます。
鏡面ディスプレイ!
$ xrandr --output "LVDS" --reflect x
とか
$ xrandr --output "LVDS" --reflect xy
結構、酔いそうになるので注意ww
実は、簡単な設定に関してはGUIで出来る
[システム] ⇒ [設定] ⇒ [画面の解像度] で、かなりWindowsライクな設定が可能です。
散々、コマンドベースで紹介してきましたが、簡単な設定のみならこっちがお手軽ですw
XRandR、その他オプション
ヘルプを見る限り、細かいオプションが色々あるので、他にも設定できそうですね。
これはなかなか便利です。
$ xrandr --help usage: xrandr [options] where options are: -display <display> or -d <display> -help -o <normal,inverted,left,right,0,1,2,3> or --orientation <normal,inverted,left,right,0,1,2,3> -q or --query -s <size>/<width>x<height> or --size <size>/<width>x<height> -r <rate> or --rate <rate> or --refresh <rate> -v or --version -x (reflect in x) -y (reflect in y) --screen <screen> --verbose --dryrun --prop or --properties --fb <width>x<height> --fbmm <width>x<height> --dpi <dpi>/<output> --output <output> --auto --mode <mode> --preferred --pos <x>x<y> --rate <rate> or --refresh <rate> --reflect normal,x,y,xy --rotate normal,inverted,left,right --left-of <output> --right-of <output> --above <output> --below <output> --same-as <output> --set <property> <value> --off --crtc <crtc> --newmode <name> <clock MHz> <hdisp> <hsync-start> <hsync-end> <htotal> <vdisp> <vsync-start> <vsync-end> <vtotal> [+HSync] [-HSync] [+VSync] [-VSync] --rmmode <name> --addmode <output> <name> --delmode <output> <name>