Xrandr

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Xrandr and the translation is 100% complete.
Other languages:
Resources

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
メモ
このツールはたいていウィンドウマネージャとともにインストールされるはずです。なぜならこれはディスプレイを管理するために利用されているからです。

GUI ツール

xrandr を使うためのいくつかの GUI ツールが存在します。以下は Gentoo でサポートされているツールの一覧です:

設定

X に関係したスクリプトを実行する一般的な方法はユーザーのホームディレクトリに存在する ~/.xinitrc もしくは ~/.xprofile といったファイルを使用することです。xrandr に関するコードをこれらのファイルに記述すれば、そのコードは毎回の X の開始時に自動的に実行され、設定は永続的になります。例えば、i3 のためには:

ファイル ~/.xinitrc
~/.screenlayout/two-displays.sh &
exec dbus-run-session i3

使い方

xrandrはモニターのExtended Display Identification Data (EDID)を使用してその性能を確認します。欠陥のあるハードウェアは誤ったEDIDを報告してしまうので、そのような場合にはトライアンドエラーを繰り返しながらカスタムスクリプトを作成することで対処することができます。

警告
NVIDIAAMD のバイナリなどのいくつかのグラフィックドライバーは xrandr をサポートしません。

スクリーンクエリ

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の一般的なディスプレイインターフェースの命名規則:

スクリーンの操作

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

これはそのモードでの最高のリフレッシュレートを使用します。リフレッシュレートも (Hz 単位で) 変更するには:

user $xrandr --output LVDS-1 --mode 1024x768 --rate 75

変更は即時反映されます。上記のハードウェアでは 75Hz はサポートされていないので、エラーを出力したり、画面が空になったりするかもしれません。これは次のセッションが開始するまで続くでしょう。おかしなことになった場合は、Ctrl+Alt+Backspace を使うことで現在のセッションを終了し、X が再起動するでしょう。

75Hz モードを追加するには、適切なモード行を得るために cvt ツール (x11-libs/libxcvt) を使用することができます:

user $cvt 1024 768 75

Modeline 以降のすべてを次のコマンドの後ろに追加する必要があります:

user $xrandr --newmode "1024x768_75.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync

クエリを再実行すると、新しく追加したモードが表示されるはずです。

メモ
モードを手動で追加しても、以前動作しなかったディスプレイがそのモードで動作するようになることはありません。

関連項目

  • Non root Xorg — describes how an unprivileged user can run Xorg without using suid.
  • XorgX サーバのオープンソース実装です。
  • Xorg/Guide — Xorg とは何か、Xorg のインストール方法、各種設定について説明します。
  • X server — the main component of the X Window system which abstracts the hardware and provides the foundation for most graphical user interfaces, like desktop environments or window managers, and their applications.

外部資料

参照