Xrandr
RandR (Resize and Rotate)[1] X プロトコルの拡張とそのCLIツールであるxrandrは画面解像度や画面の回転、X下でのマルチディスプレイのスクリーンを管理するために使われています。
バージョン1.4ではマルチグラフィックボードがサポートされ、それ以降のバージョン(> 1.5)ではさらにUSB接続のモニターもサポートされます。(これはおそらくxorg-server 1.13 のDisplayLink[2]のサポートに統合されるでしょう。)
インストール
x11-apps/xrandrは次のコマンドでインストールすることができます。
root #
emerge --ask x11-apps/xrandr
このツールはたいていwindow managersとともにインストールされるはずです。なぜならこれはディスプレイを管理するために利用されているからです。
GUI ツール
xrandrを使うためのいくつかのGUIツールが存在します。これはGentooでサポートされているツールの一覧です。
- x11-misc/arandr – もう一つのXRandR GUI (独立したGUIツール)
- lxde-base/lxrandr – RandRの拡張のためのLXDEGUIインターフェース
設定
Xに関係したスクリプトを実行する一般的な方法はユーザーのホームディレクトリに存在する~/.xinitrcもしくは~/.xprofileといったファイルを使用することです。xrandrに関するコードをこれらのファイルに記述すれば、そのコードは毎回のXの開始時に自動的に実行され、設定は永続的になります。
使い方
xrandrはモニターのExtended Display Identification Data (EDID)を使用してその性能を確認します。欠陥のあるハードウェアは誤ったEDIDを報告してしまうので、そのような場合にはトライアンドエラーを繰り返しながらカスタムスクリプトを作成することで対処することができます。
スクリーンクエリ
xrandrを引数なしで実行することで、すべての利用可能なディスプレイ出力インターフェースの一覧と、現在の状態及び性能と共にすべてのディスプレイの一覧が表示されるでしょう。
user $
xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192 VGA-1 disconnected (normal left inverted right x axis y axis) LVDS-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 304mm x 190mm 1440x900 60.1*+ 1024x768 60.0 800x600 60.3 640x480 59.9
xrandrクエリの結果には、すべての利用可能なインターフェースが<interface_name>-<index>
とラベル付けされて含まれています。それぞれは接続状態とスクリーンのモードを表しています。接続されたデバイスの現在のモードは*
で示され、推奨されたモードは+
で示されます。
RandRの一般的なディスプレイインターフェースの命名規則:
LVDS
- Laptop screenHDMI
- High-Definition Multimedia InterfaceDVI
- Digital Visual InterfaceDP
- DisplayPortVGA
- Video Graphics ArrayTV
- Composite VideoS-video
- S-Video
スクリーンの操作
xrandr クエリで発見された出力インターフェースに対して、操作を行うことができます。以下はよく使われるタスクの例です:
- 複数のデバイスが接続されている場合に主ディスプレイを設定する:
user $
xrandr --output LVDS-1 --primary
- 既知のインターフェースにつなげて、外部ディスプレイへ拡張する (left-of, right-of, above, below, same-as):
user $
xrandr --output DVI-1 --auto --left-of LVDS-1
- ディスプレイを回転する (normal, left, right, inverted):
user $
xrandr --output LVDS-1 --rotate left
- デバイスを切る:
user $
xrandr --output LVDS-1 --off
スクリーンモード
モードは常に解像度とリフレッシュレートから構成されます。xrandr クエリによって、ハードウェアはどのモードがサポートされているかを報告します。ハードウェアが誤った情報を報告した場合は、独自のモードを定義することができます。接続されたデバイスのモードを変更するには:
user $
xrandr --output LVDS-1 --mode 1024x768
これはそのモードでの最高のリフレッシュレートを使用します。リフレッシュレートも (kHz 単位で) 変更するには:
user $
xrandr --output LVDS-1 --mode 1024x768 --rate 75
変更は即時反映されます。上記のハードウェアでは 75kHz はサポートされていないので、エラーを出力したり、画面が空になったりするかもしれません。これは次のセッションが開始するまで続くでしょう。おかしなことになった場合は、 Ctrl+Alt+Backspace を使うことで現在のセッションを終了し、X が再起動するでしょう。
75Hz モードを追加するには、適切なモード行を得るために cvt ツール (x11-base/xorg-server) を使用することができます:
user $
cvt 1024x768 refresh 75
Modeline 以降のすべてを次のコマンドの後ろに追加する必要があります:
user $
xrandr --newmode "1024x768_75.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
クエリを再実行すると、新しく追加したモードが表示されるはずです。
モードを手動で追加しても、以前動作しなかったディスプレイがそのモードで動作するようになることはありません。
関連項目
- Xorg — an open source implementation of the X Window System.