「Xrandr」の版間の差分
(en:Xrandrへの転送ページ) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリの追加) |
||
| (7人の利用者による、間の34版が非表示) | |||
| 1行目: | 1行目: | ||
| + | {{Lowercase title}} |
||
| − | #redirect[[en:Xrandr]] |
||
| + | [[Category:Xorg コマンド]] |
||
| + | [[Category:ディスプレイ制御]] |
||
| + | [[en:Xrandr]] |
||
| + | [[ru:Xrandr]] |
||
| + | [[zh-hans:Xrandr]] |
||
| + | {{Related articles start}} |
||
| + | {{Related|Xorg}} |
||
| + | {{Related|マルチディスプレイ}} |
||
| + | {{Related articles end}} |
||
| + | |||
| + | ''xrandr'' は [[Wikipedia:RandR|RandR]]("Resize and Rotate") [[Wikipedia:X Window System|X Window System]] 拡張の公式設定ユーティリティです。xrandr を使うことで画面のサイズや向き、反転などを設定できます。マルチモニターの設定については[[マルチディスプレイ]]のページを見て下さい。 |
||
| + | |||
| + | == インストール == |
||
| + | |||
| + | {{Pkg|xorg-xrandr}} を[[インストール]]してください。 |
||
| + | |||
| + | === グラフィカルフロントエンド === |
||
| + | |||
| + | * {{App|ARandR|XRandR のシンプルなビジュアルフロントエンド。相対的なモニター位置がグラフィカルに表示され、ドラッグアンドドロップにより変更できます。|https://christian.amsuess.com/tools/arandr/|{{Pkg|arandr}}}} |
||
| + | * {{App|LXRandR|LXDE 向けのスクリーン解像度や外部モニタを管理するツールです|https://wiki.lxde.org/en/LXRandR|GTK+ 2: {{Pkg|lxrandr}}, GTK+ 3: {{Pkg|lxrandr-gtk3}}}} |
||
| + | |||
| + | === CLI フロントエンド === |
||
| + | |||
| + | * {{App|xlayoutdisplay|ディスプレイを検出して設定します。ラップトップのカバーの状態、利用可能なリフレッシュレートの最大値、実際の DPI の計算と適用。.xinitrc で最適に使用され、モニタのプラグを差し込んだり抜いたり、ラップトップのカバーを閉じるときに呼び出すことができます。|https://github.com/alex-courtis/xlayoutdisplay|{{AUR|xlayoutdisplay}}}} |
||
| + | |||
| + | == 設定のテスト == |
||
| + | |||
| + | 何もオプションを付けずに実行すると、''xrandr'' はシステムで利用可能な出力端子の名前 ({{ic|VGA-1}}, {{ic|HTMI-1}}, など) と各端子で利用できる解像度を表示します (現在の解像度は {{ic|*}}、推奨解像度は {{ic|+}} が後ろに付きます): |
||
| + | |||
| + | {{hc|xrandr| |
||
| + | Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 8192 x 8192 |
||
| + | VGA-1 disconnected (normal left inverted right x axis y axis) |
||
| + | HTML-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm |
||
| + | 1920x1080 59.93 + 60.00* 50.00 59.94 |
||
| + | 1920x1080i 60.00 50.00 59.94 |
||
| + | 1680x1050 59.88 |
||
| + | ... |
||
| + | }} |
||
| + | |||
| + | {{Note|上記のリストに使用したい解像度が表示されない場合、[[#検出されない解像度を追加する]]を参照してください。}} |
||
| + | |||
| + | ''xrandr'' を使うことで特定の出力端子で解像度を設定できます (上記のリストに存在する解像度である必要があります): |
||
| + | |||
| + | $ xrandr --output HDMI-1 --mode 1920x1080 |
||
| + | |||
| + | リストに複数のリフレッシュレートがある場合、{{ic|--rate}} オプションを使うことで同時に、または個別にリフレッシュレートを変更できます。例: |
||
| + | |||
| + | $ xrandr --output HDMI-1 --mode 1920x1080 --rate 60 |
||
| + | |||
| + | {{ic|--auto}} オプションは特定の出力がオフになっている場合にオンに変えて最大解像度を設定します: |
||
| + | |||
| + | $ xrandr --output HDMI-1 --auto |
||
| + | |||
| + | 1回のコマンドで複数の出力端子を指定することもできます。例えば {{ic|HDMI-1}} をオフにして {{ic|HDMI-2}} を最大解像度でオンするには: |
||
| + | |||
| + | $ xrandr --output HDMI-1 --off --output HDMI-2 --auto |
||
| + | |||
| + | {{Note| |
||
| + | * ''xrandr'' による設定は現在のセッション中だけ適用されます。 |
||
| + | * ''xrandr'' には多数の機能が存在します。詳しくは {{man|1|xrandr}} を見て下さい。 |
||
| + | }} |
||
| + | |||
| + | == 設定 == |
||
| + | |||
| + | ''xrandr'' は RandR 拡張のシンプルなインターフェイスであり設定ファイルが存在しません。しかしながら、永続的な設定を行う方法が複数存在します: |
||
| + | |||
| + | # RandR 拡張は [[Xorg#設定|X の設定ファイル]]で設定できます。詳しくは [[マルチディスプレイ#RandR]] を参照してください。この方法では静的な設定だけが可能です。 |
||
| + | # 動的な設定が必要な場合、X サーバーを起動するたびに ''xrandr'' コマンドを実行するようにしてください。詳しくは[[自動起動#X セッションのスタートアップ]]を参照。この方法の欠点は起動プロセスに遅延が発生するということで、[[ディスプレイマネージャ]]を使用している場合、ディスプレイマネージャの解像度を変更することはできません。 |
||
| + | # ''xrandr'' を呼び出すカスタムスクリプトを特定のイベント (例えば外部モニターが接続された時) で実行することもできます。詳しくは [[acpid]] を見て下さい。[[#スクリプト]] セクションに役に立つようなサンプルスクリプトをいくつか記載しています。 |
||
| + | |||
| + | {{Tip|KDM と GDM には X が初期化されたときに実行されるスタートアップスクリプトが存在します。GDM の場合、スクリプトは {{ic|/etc/gdm/}} にあり、KDM の場合、スクリプトは {{ic|/usr/share/config/kdm/Xsetup}}、SDDM の場合、{{ic|/usr/share/sddm/scripts/Xsetup}} です。この方法は root 権限を必要とし、システムの設定ファイルを弄る必要がありますが、起動プロセスでは xprofile よりも早く設定が適用されます。}} |
||
| + | |||
| + | === スクリプト === |
||
| + | |||
| + | ==== 外部モニターを切り替える ==== |
||
| + | |||
| + | このスクリプトは外部モニター ({{ic|$extern}} で指定) とデフォルトのモニター ({{ic|$intern}} で指定) を切り替えます。つまり一度にどちらか片方のモニターだけを使うようにします。 |
||
| + | |||
| + | スクリプトを実行するときはデフォルトのモニター ({{ic|$intern}} で指定) が接続されているようにしてください。ノートパソコンなら常時接続されているはずです。 |
||
| + | |||
| + | {{bc|<nowiki> |
||
| + | #!/bin/bash |
||
| + | intern=LVDS1 |
||
| + | extern=VGA1 |
||
| + | |||
| + | if xrandr | grep "$extern disconnected"; then |
||
| + | xrandr --output "$extern" --off --output "$intern" --auto |
||
| + | else |
||
| + | xrandr --output "$intern" --off --output "$extern" --auto |
||
| + | fi |
||
| + | </nowiki>}} |
||
| + | |||
| + | {{Note|外部モニターを有効にし続けたい場合、''else'' の中身を {{ic|xrandr --output "$intern" --primary --auto --output "$extern" --right-of "$intern" --auto}} に置き換えてください。}} |
||
| + | |||
| + | ==== 設定を autorandr で設定を自動的に切り替える ==== |
||
| + | |||
| + | {{Pkg|autorandr}} を使うと、ディスプレイを接続したり接続解除するときに自動的に有効化できる xrandr "profiles" を簡単に設定できます。使用方法は [https://github.com/phillipberndt/autorandr ホームページ] を参照。 |
||
| + | |||
| + | ==== 2つのモニターを管理する ==== |
||
| + | |||
| + | {{AUR|mons}} は2つのモニターディスプレイを素早く切り替える POSIX 互換のシェルスクリプトです。 |
||
| + | |||
| + | プロジェクターモードなど分かりやすいモードが用意されており、モニター接続時に選択・位置決めを行います (詳しくは [https://github.com/Ventto/mons] を参照)。 |
||
| + | |||
| + | ==== 例 3 ==== |
||
| + | |||
| + | このスクリプトは接続されているモニターを順繰りに切り替えます。現在アクティブなモニターを選択して、次のモニターをオンにして他のモニターはオフにします: |
||
| + | |||
| + | {{bc|<nowiki> |
||
| + | # get info from xrandr |
||
| + | connectedOutputs=$(xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") |
||
| + | activeOutput=$(xrandr | grep -E " connected (primary )?[1-9]+" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") |
||
| + | |||
| + | # initialize variables |
||
| + | execute="xrandr " |
||
| + | default="xrandr " |
||
| + | i=1 |
||
| + | switch=0 |
||
| + | |||
| + | for display in $connectedOutputs |
||
| + | do |
||
| + | # build default configuration |
||
| + | if [ $i -eq 1 ] |
||
| + | then |
||
| + | default=$default"--output $display --auto " |
||
| + | else |
||
| + | default=$default"--output $display --off " |
||
| + | fi |
||
| + | |||
| + | # build "switching" configuration |
||
| + | if [ $switch -eq 1 ] |
||
| + | then |
||
| + | execute=$execute"--output $display --auto " |
||
| + | switch=0 |
||
| + | else |
||
| + | execute=$execute"--output $display --off " |
||
| + | fi |
||
| + | |||
| + | # check whether the next output should be switched on |
||
| + | if [ $display = $activeOutput ] |
||
| + | then |
||
| + | switch=1 |
||
| + | fi |
||
| + | |||
| + | i=$(( $i + 1 )) |
||
| + | done |
||
| + | |||
| + | # check if the default setup needs to be executed then run it |
||
| + | echo "Resulting Configuration:" |
||
| + | if [ -z "$(echo $execute | grep "auto")" ] |
||
| + | then |
||
| + | echo "Command: $default" |
||
| + | `$default` |
||
| + | else |
||
| + | echo "Command: $execute" |
||
| + | `$execute` |
||
| + | fi |
||
| + | echo -e "\n$(xrandr)" |
||
| + | </nowiki>}} |
||
| + | |||
| + | ==== 例 3a ==== |
||
| + | |||
| + | このスクリプトは xrandr の全ての出力端子を順繰りに確認します。モニターが接続されていれば、最大解像度を確認して前のデイスプレイの右に配置します。{{AUR|srandrd}} と {{Pkg|i3-wm}} で使用する例: |
||
| + | |||
| + | {{hc|~/.xprofile| |
||
| + | srandrd ~/.i3/detect_displays.sh |
||
| + | }} |
||
| + | |||
| + | {{bc|<nowiki> |
||
| + | #!/bin/bash |
||
| + | |||
| + | XRANDR="xrandr" |
||
| + | CMD="${XRANDR}" |
||
| + | declare -A VOUTS |
||
| + | eval VOUTS=$(${XRANDR}|awk 'BEGIN {printf("(")} /^\S.*connected/{printf("[%s]=%s ", $1, $2)} END{printf(")")}') |
||
| + | declare -A POS |
||
| + | #XPOS=0 |
||
| + | #YPOS=0 |
||
| + | #POS="${XPOS}x${YPOS}" |
||
| + | |||
| + | POS=([X]=0 [Y]=0) |
||
| + | |||
| + | find_mode() { |
||
| + | echo $(${XRANDR} |grep ${1} -A1|awk '{FS="[ x]"} /^\s/{printf("WIDTH=%s\nHEIGHT=%s", $4,$5)}') |
||
| + | } |
||
| + | |||
| + | xrandr_params_for() { |
||
| + | if [ "${2}" == 'connected' ] |
||
| + | then |
||
| + | eval $(find_mode ${1}) #sets ${WIDTH} and ${HEIGHT} |
||
| + | MODE="${WIDTH}x${HEIGHT}" |
||
| + | CMD="${CMD} --output ${1} --mode ${MODE} --pos ${POS[X]}x${POS[Y]}" |
||
| + | POS[X]=$((${POS[X]}+${WIDTH})) |
||
| + | return 0 |
||
| + | else |
||
| + | CMD="${CMD} --output ${1} --off" |
||
| + | return 1 |
||
| + | fi |
||
| + | } |
||
| + | |||
| + | for VOUT in ${!VOUTS[*]} |
||
| + | do |
||
| + | xrandr_params_for ${VOUT} ${VOUTS[${VOUT}]} |
||
| + | done |
||
| + | set -x |
||
| + | ${CMD} |
||
| + | set +x |
||
| + | </nowiki>}} |
||
| + | |||
| + | ==== 例 4 - xrasengan を使って X のクラッシュを防ぐ ==== |
||
| + | |||
| + | DisplayPort モニターでよくなる、モニターがサスペンドモードになって接続されていないと表示される場合、以下の方法を使って接続されている出力端子をオンにしてください: |
||
| + | |||
| + | {{bc|<nowiki> |
||
| + | declare -i count=2 |
||
| + | declare -i seconds=1 |
||
| + | |||
| + | while ((count)); do |
||
| + | xrandr >/dev/null |
||
| + | sleep $seconds |
||
| + | ((count--)) |
||
| + | done |
||
| + | </nowiki>}} |
||
| + | |||
| + | {{AUR|xrasengan}} は上記のワークアラウンドを組み込んだ xrandr ラッパーです: |
||
| + | |||
| + | $ xrasengan --force -on DisplayPort-0 -off HDMI-0 |
||
| + | |||
| + | {{ic|--force}} オプションを付けると、''xrasengan'' は HDMI-0 がオフになる前に全ての出力端子の状態を更新して、それが唯一接続されていた出力端子だった場合に X がクラッシュするのを防ぎます。 |
||
| + | |||
| + | 現在の設定をリロードしたいときは、''xrasengan'' の {{ic|--try-reload-active-layout}} オプションを使います。{{ic|--force}} と {{Pkg|arandr}} パッケージの ''unxrandr'' を利用してコマンドラインを組み立てます: |
||
| + | |||
| + | $ xrasengan --try-reload-active-layout |
||
| + | |||
| + | 上記のコマンドを systemd ユニットやキーボードのバインドで使うことで、DisplayPort モニターがサスペンドから復帰したときに画面が落ちるのを防ぐことができます。 |
||
| + | |||
| + | === arandr を使用した設定 === |
||
| + | |||
| + | {{Pkg|arandr}} はモニターをグラフィカルに配置し、解像度を変更し、スクリプトを保存してセットアップを複製できます。デフォルトでは、"Save As" すると、{{ic|~/.screenlayout/}} に保存されます。これらのファイルは、その後、[[自動起動#Xorg のスタートアップ|自動起動]]することができます。ログイン後すぐに arandr スクリプトを実行すると問題が発生することがあります。必要であれば、{{ic|sleep}} コマンドを追加してください。 |
||
| + | |||
| + | == トラブルシューティング == |
||
| + | |||
| + | === 画面の点滅 === |
||
| + | |||
| + | 一部の LCD スクリーン(例:Samsung 2343NW、Acer XB280HK、iiyama ProLite XUB3490WQSU-B1 など)については、{{ic|cvt -r}}(点滅を減らす)コマンドを使用する必要があるようです。例えば ProLite XUB3490WQSU-B1 と Dell XPS 13 の Thunderbolt HDMI 2.0 アダプタで、60hz (59,94 を選択) でこの画面が点滅している場合 (アダプタ +LCD 画面は Windows で完全に動作)、以下を実行する必要があります。 |
||
| + | |||
| + | <code>cvt -r 3440 1440</code> |
||
| + | |||
| + | ヒント: |
||
| + | |||
| + | <code># 3440x1440 59.97 Hz (CVT) hsync: 88.82 kHz; pclk: 319.75 MHz |
||
| + | Modeline "3440x1440R" 319.75 3440 3488 3520 3600 1440 1443 1453 1481 +hsync -vsync |
||
| + | </code> |
||
| + | |||
| + | こちらも試してみて下さい: |
||
| + | |||
| + | <code>xrandr --newmode "3440x1440R" 319.75 3440 3488 3520 3600 1440 1443 1453 1481 +hsync -vsync</code> |
||
| + | |||
| + | それと: |
||
| + | |||
| + | <code>xrandr --addmode DP1 3440x1440R</code> |
||
| + | |||
| + | これで、点滅しない最高の画面解像度で 59.97hz モードを選択できます。 |
||
| + | |||
| + | [https://pix.toile-libre.org/upload/original/1601935466.png click here for a screenshot] |
||
| + | |||
| + | === 検出されない解像度を追加する === |
||
| + | |||
| + | ハードウェアやドライバーにバグがあるために、モニターの適切な解像度が xrandr によって検出されないことがあります。例えば、モニターの EDID データブロックが間違っていることが考えられます。その場合でも、適当な解像度を xrandr に追加することができます。また、この方法を応用すると、ドライバーでは有効でないが、実際ハードウエアがサポートしているリフレッシュレートを追加したりもできます。 |
||
| + | |||
| + | まず {{ic|gtf}} か {{ic|cvt}} を実行して希望の解像度の ''Modeline'' を取得します: |
||
| + | |||
| + | {{hc|$ cvt 1280 1024| |
||
| + | # 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz |
||
| + | Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync |
||
| + | }} |
||
| + | |||
| + | {{Tip|1=液晶ディスプレイ (例: Samsung 2343NW や Acer XB280HK) の場合、{{ic|cvt -r}} コマンドを使います。}} |
||
| + | |||
| + | {{Tip|1= ''Modeline'' を適用した際にスクリーンが暗転するなら、低めのリフレッシュレート (60 ではなく 30 あるいは 45 など) を試みてください。リフレッシュレートは3番目の引数として渡されます: {{ic|cvt 2560 1440 45}}}} |
||
| + | |||
| + | {{Note|Intel のビデオドライバー {{pkg|xf86-video-intel}} を使っている場合、{{ic|/var/log/Xorg.0.log}} に望みの解像度とプロパティが報告されている可能性があります。{{ic|gtf}} や {{ic|cvt}} の出力と違っている場合は先にそちらを使って下さい。ログの例: |
||
| + | [ 45.063] (II) intel(0): clock: 241.5 MHz Image Size: 597 x 336 mm |
||
| + | [ 45.063] (II) intel(0): h_active: 2560 h_sync: 2600 h_sync_end 2632 h_blank_end 2720 h_border: 0 |
||
| + | [ 45.063] (II) intel(0): v_active: 1440 v_sync: 1443 v_sync_end 1448 v_blanking: 1481 v_border: 0 |
||
| + | xrandr での使用例: {{ic|$ xrandr --newmode "2560x1440" 241.50 2560 2600 2632 2720 1440 1443 1448 1481 -hsync +vsync}}。}} |
||
| + | |||
| + | Modesetting ドライバーでも同じようなログを見つけられるでしょう。 |
||
| + | |||
| + | 次に新しい xrandr のモードを作成します。Modeline キーワードは抜かす必要があるので注意してください。 |
||
| + | |||
| + | $ xrandr --newmode "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync |
||
| + | |||
| + | モードを作成した後、この新しいモードを現在の出力 (VGA1) に追加してください。先にパラメータを設定したので、モードの名前だけで使うことができます。 |
||
| + | |||
| + | $ xrandr --addmode VGA1 1280x1024_60.00 |
||
| + | |||
| + | そして画面の解像度を追加した解像度に変更します: |
||
| + | |||
| + | $ xrandr --output VGA1 --mode 1280x1024_60.00 |
||
| + | |||
| + | 上記の設定は現在のセッションでのみ有効なので注意してください。 |
||
| + | |||
| + | テストする解像度について確信が持てない場合、以下のように {{ic|sleep 5}} を追加することで安全に解像度を変更できます: |
||
| + | |||
| + | $ xrandr --output VGA1 --mode 1280x1024_60.00 && sleep 5 && xrandr --newmode "1024x768-safe" 65.00 1024 1048 1184 1344 768 771 777 806 -HSync -VSync && xrandr --addmode VGA1 1024x768-safe && xrandr --output VGA1 --mode 1024x768-safe |
||
| + | |||
| + | また、{{ic|VGA1}} は適当な出力端子の名前に置き換えてください。 |
||
| + | |||
| + | ==== EDID checksum is invalid ==== |
||
| + | |||
| + | 上記の方法で起動時に {{ic|*ERROR* EDID checksum is invalid}} エラーが発生する場合、[[KMS#モードと EDID を強制する]] や [https://askubuntu.com/questions/201081/how-can-i-make-linux-behave-better-when-edid-is-unavailable] を見て下さい。 |
||
| + | |||
| + | また、{{ic|xrandr --addmode}} で {{ic|X Error of failed request: BadMatch}} というエラーが表示されることがありますが、この場合も EDID のチェックサムが間違っています。詳しく確認したい場合、verbose モードで X を起動して (例: {{ic|startx -- -logverbose 6}})、Xorg のログに EDID に関するメッセージが出力されていないかチェックしてください。NVIDIA のカードを使っている場合は [[NVIDIA/トラブルシューティング#xrandr BadMatch]] を読むことを推奨します。 |
||
| + | |||
| + | ==== 点滅後に画面の解像度が戻ってしまう ==== |
||
| + | |||
| + | EDID が存在しないモニターで [[GNOME]] を使っている場合、上記の[[#検出されない解像度を追加する]]方法が機能しないことがあります。{{ic|xrandr --output}} を実行した後に画面が点滅して解像度がリセットされます。 |
||
| + | |||
| + | {{ic|~/.config/monitors.xml}} を修正するか、ファイルを完全に削除してから再起動してください。 |
||
| + | |||
| + | 詳しくは [https://unix.stackexchange.com/questions/184941/gnome-prevents-high-resolution-vga-without-edid-info-over-vga こちら] の記事を参照。 |
||
| + | |||
| + | === 検出されない解像度を永続的に追加 === |
||
| + | |||
| + | {{ic|xrandr}} を使って適当な解像度が見つかったら、{{ic|/etc/X11/xorg.conf.d/}} にエントリを追加することでモードを永続的に追加することができます: |
||
| + | |||
| + | {{hc|/etc/X11/xorg.conf.d/10-monitor.conf| |
||
| + | Section "Monitor" |
||
| + | Identifier "VGA1" |
||
| + | Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync |
||
| + | Option "PreferredMode" "1280x1024_60.00" |
||
| + | EndSection |
||
| + | |||
| + | Section "Screen" |
||
| + | Identifier "Screen0" |
||
| + | Monitor "VGA1" |
||
| + | DefaultDepth 24 |
||
| + | SubSection "Display" |
||
| + | Modes "1280x1024_60.00" |
||
| + | EndSubSection |
||
| + | EndSection |
||
| + | |||
| + | Section "Device" |
||
| + | Identifier "Device0" |
||
| + | Driver "intel" |
||
| + | EndSection}} |
||
| + | |||
| + | {{ic|intel}} は適当なドライバーに置き換えてください。例: {{ic|nvidia}}。X サーバーを再起動すれば、新しい解像度が設定できるようになるはずです。 |
||
| + | |||
| + | 上手く行かない場合、Screen と Device セクションを削除して Monitor セクションだけにしてみてください [https://bbs.archlinux.org/viewtopic.php?id=225134]。 |
||
| + | |||
| + | === 解像度が低い === |
||
| + | |||
| + | {{Tip|先に [[#検出されない解像度を追加する]] を試して下さい。それで上手く行かない場合、この方法を試して下さい。}} |
||
| + | |||
| + | ビデオカードは認識されるのに解像度が低い場合、以下の方法を試すことができます。 |
||
| + | |||
| + | 例: ATI X1550 ベースのビデオカードと2つの液晶モニター DELL 2408 (最大解像度: 1920x1200) と Samsung 206BW (最大解像度: 1680x1050) を使用。インストール後の最初のログイン時に、デフォルトの解像度が 1152x864 になる。xrandr でも 1152x864 以上の解像度が表示されない。{{ic|/etc/X11/xorg.conf}} を編集して、仮想スクリーンのセクションを追加して、ログアウト・ログインしても上手く解像度が設定されない。 |
||
| + | |||
| + | {{ic|xorg.conf}} を変更: |
||
| + | {{hc|/etc/X11/xorg.conf| |
||
| + | Section "Screen" |
||
| + | ... |
||
| + | SubSection "Display" |
||
| + | Virtual 3600 1200 |
||
| + | EndSubSection |
||
| + | EndSection |
||
| + | }} |
||
| + | |||
| + | 数字について: DELL を左に Samsung を右に配置しているため、液晶ディスプレイの横幅の合計は 3600=1920+1680 になり、高さはディスプレイの高い方に合わせて、max(1200,1050)=1200 となります。他のディスプレイの上に液晶ディスプレイを配置する場合、次のように計算します: (max(width1, width2), height1+height2)。 |
||
| + | |||
| + | === .xinitrc から解像度を設定してもうまくいかない === |
||
| + | |||
| + | [[wikipedia:X.Org_Server#DDX|DDX]] {{man|4|modesetting}} ドライバ以外の場合、接続されたデバイスのモードを適切に列挙するのに時間がかかり、xrandr がすぐには動作しないかもしれません。これは {{Pkg|xf86-video-intel}} ドライバに当てはまると思われ、起動初期に xrandr を使うと間違った解像度が設定されます。考えられる対処法は以下の通りです。 |
||
| + | |||
| + | * xrandr を起動する前に2、3秒待つ。 |
||
| + | {{hc|~/.xinitrc| |
||
| + | ... |
||
| + | { sleep 2; xrandr ''xrandr_parameters'' } & |
||
| + | ... |
||
| + | }} |
||
| + | これはバックグラウンドで待機し、他のスタートアップをブロックしないようにするためです。これが好ましくない場合、例えばウィンドウマネージャの設定がディスプレイを正しく配置することに依存している場合、フォアグラウンドでコマンドを実行することができます。 |
||
| + | {{hc|~/.xinitrc| |
||
| + | ... |
||
| + | sleep 2 |
||
| + | xrandr ''xrandr_parameters'' |
||
| + | ... |
||
| + | }} |
||
| + | * デスクトップ起動の後段でモードを設定する。スタートアップスクリプトの機能の詳細については、ウィンドウマネージャのドキュメントを参照してください。 |
||
| + | * 汎用モード設定ドライバへの切り替え。これは、デバイス固有のDDXドライバをアンインストールすることで、最も簡単に行うことができます。{{Pkg|xf86-video-intel}} の場合、このドライバには他の欠陥があり、これが役に立つかもしれません。詳しくは [[Intel Graphics#インストール]] をご覧ください。 |
||
| + | |||
| + | === アンダースキャンを利用してオーバースキャンが発生するテレビ解像度を補正 === |
||
| + | |||
| + | 薄型テレビでは[[w:overscan|オーバースキャン]]によって画像が大きく表示され端のほうが切れてしまうことがあります。 |
||
| + | |||
| + | テレビの設定で問題を解決できないか確認してください。テレビの設定でどうにもならないがアンダースキャンをサポートしている場合 ({xrandr --prop} で確認できる) は、{{ic|underscan}} を適用して境界値を変更してください。使用しているテレビによって適切な {{ic|underscan vborder}} と {{ic|underscan hborder}} の値は変わります。自分の目で確認しながら値を増減させてください: |
||
| + | |||
| + | $ xrandr --output HDMI-0 --set underscan on --set "underscan vborder" 25 --set "underscan hborder" 40 |
||
| + | |||
| + | === --transform を利用してオーバースキャンが発生するテレビ解像度を補正 === |
||
| + | |||
| + | アンダースキャンが利用できないなら、出力を変形する {{ic|xrandr --transform "a,b,c,d,e,f,g,h,i"}} を利用する解決策もあります。変形方法の詳細は {{man|1|xrandr|RandR_version_1.3_options}} マニュアルページを参照してください。 |
||
| + | |||
| + | 例えば、水平座標の変形スケールを {{ic|0.8}} に、垂直座標を {{ic|1.04}} に、そして画面を 35 ピクセル右に 19 ピクセル下にするには: |
||
| + | |||
| + | $ xrandr --output HDMI1 --transform 0.80,0,-35,0,1.04,-19,0,0,1 |
||
| + | |||
| + | === HDMI のフル RGB === |
||
| + | |||
| + | [[Intel]] のドライバーでは HDMI モニターの出力が正しく設定されないことがあります。[https://patchwork.kernel.org/patch/1972181/ Broadcast RGB プロパティ] によって色諧調が狭くなると (16-235)、黒が黒ではなく灰色のようになります。 |
||
| + | |||
| + | === phantom monitor の無効化 === |
||
| + | |||
| + | 場合によっては、存在しないモニターがシステムによって検出されることがあります。これを無効にするには、phantom 出力の名前を見つけます。例: VGA1、そしてそれをオフにします |
||
| + | |||
| + | $ xrandr --output VGA1 --off |
||
| + | |||
| + | これを永続的にするには、{{ic|/etc/X11/xorg.conf.d/}} のエントリに以下を追加します。 |
||
| + | |||
| + | {{hc|/etc/X11/xorg.conf.d/10-monitor.conf| |
||
| + | Section "Monitor" |
||
| + | Identifier "VGA1" |
||
| + | Option "Ignore" "true" |
||
| + | EndSection}} |
||
| + | |||
| + | === AOC G2590PX による動的インターレースパターンの出現 === |
||
| + | |||
| + | 動きが見られるときに非常に目立つ [https://web.archive.org/web/20190102230349/https://pcmonitors.info/reviews/aoc-g2590px/#Interlace_pattern_artifacts インターレースパターンの出現](メッシュまたはグリッド)が表示されている場合このモニターの画面では、リフレッシュレートが低いために発生している可能性があります。より高いリフレッシュレート(60Hz から119.98Hz、そしておそらくそれ以上)に切り替えると、影響を減らすのに役立つ場合があります。 |
||
| + | |||
| + | HDMIを介したこのモニターのサンプルxrandr出力: |
||
| + | HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 544mm x 303mm |
||
| + | 1920x1080 60.00 + 119.98* 99.93 50.00 59.94 |
||
| + | |||
| + | 上記の出力からわかるように、xrandr によって報告される推奨リフレッシュレートは 60.00 ですが、このリフレッシュレートでは問題が非常に目立ちます。119.98 に切り替えると、影響を大幅に減らすことができます。 |
||
| + | |||
| + | $ xrandr --output HDMI-1 --mode 1920x1080 --rate 119.98 |
||
| + | |||
| + | == 参照 == |
||
| + | * https://wiki.ubuntu.com/X/Config/Resolution |
||
| + | * [https://wiki.debian.org/XStrikeForce/HowToRandR12 RandR 1.2 tutorial] |
||
| + | * [https://www.thinkwiki.org/wiki/Xorg_RandR_1.2 Xorg RandR 1.2 on ThinkWiki] |
||
| + | * [https://www.x.org/wiki/FAQVideoModes#ObtainingmodelinesfromWindowsprogramPowerStrip FAQVideoModes - more information about modelines] |
||
2024年4月5日 (金) 21:07時点における最新版
xrandr は RandR("Resize and Rotate") X Window System 拡張の公式設定ユーティリティです。xrandr を使うことで画面のサイズや向き、反転などを設定できます。マルチモニターの設定についてはマルチディスプレイのページを見て下さい。
目次
インストール
xorg-xrandr をインストールしてください。
グラフィカルフロントエンド
- ARandR — XRandR のシンプルなビジュアルフロントエンド。相対的なモニター位置がグラフィカルに表示され、ドラッグアンドドロップにより変更できます。
- LXRandR — LXDE 向けのスクリーン解像度や外部モニタを管理するツールです
- https://wiki.lxde.org/en/LXRandR || GTK+ 2: lxrandr, GTK+ 3: lxrandr-gtk3
CLI フロントエンド
- xlayoutdisplay — ディスプレイを検出して設定します。ラップトップのカバーの状態、利用可能なリフレッシュレートの最大値、実際の DPI の計算と適用。.xinitrc で最適に使用され、モニタのプラグを差し込んだり抜いたり、ラップトップのカバーを閉じるときに呼び出すことができます。
設定のテスト
何もオプションを付けずに実行すると、xrandr はシステムで利用可能な出力端子の名前 (VGA-1, HTMI-1, など) と各端子で利用できる解像度を表示します (現在の解像度は *、推奨解像度は + が後ろに付きます):
xrandr
Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 8192 x 8192
VGA-1 disconnected (normal left inverted right x axis y axis)
HTML-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
1920x1080 59.93 + 60.00* 50.00 59.94
1920x1080i 60.00 50.00 59.94
1680x1050 59.88
...
xrandr を使うことで特定の出力端子で解像度を設定できます (上記のリストに存在する解像度である必要があります):
$ xrandr --output HDMI-1 --mode 1920x1080
リストに複数のリフレッシュレートがある場合、--rate オプションを使うことで同時に、または個別にリフレッシュレートを変更できます。例:
$ xrandr --output HDMI-1 --mode 1920x1080 --rate 60
--auto オプションは特定の出力がオフになっている場合にオンに変えて最大解像度を設定します:
$ xrandr --output HDMI-1 --auto
1回のコマンドで複数の出力端子を指定することもできます。例えば HDMI-1 をオフにして HDMI-2 を最大解像度でオンするには:
$ xrandr --output HDMI-1 --off --output HDMI-2 --auto
設定
xrandr は RandR 拡張のシンプルなインターフェイスであり設定ファイルが存在しません。しかしながら、永続的な設定を行う方法が複数存在します:
- RandR 拡張は X の設定ファイルで設定できます。詳しくは マルチディスプレイ#RandR を参照してください。この方法では静的な設定だけが可能です。
- 動的な設定が必要な場合、X サーバーを起動するたびに xrandr コマンドを実行するようにしてください。詳しくは自動起動#X セッションのスタートアップを参照。この方法の欠点は起動プロセスに遅延が発生するということで、ディスプレイマネージャを使用している場合、ディスプレイマネージャの解像度を変更することはできません。
- xrandr を呼び出すカスタムスクリプトを特定のイベント (例えば外部モニターが接続された時) で実行することもできます。詳しくは acpid を見て下さい。#スクリプト セクションに役に立つようなサンプルスクリプトをいくつか記載しています。
スクリプト
外部モニターを切り替える
このスクリプトは外部モニター ($extern で指定) とデフォルトのモニター ($intern で指定) を切り替えます。つまり一度にどちらか片方のモニターだけを使うようにします。
スクリプトを実行するときはデフォルトのモニター ($intern で指定) が接続されているようにしてください。ノートパソコンなら常時接続されているはずです。
#!/bin/bash
intern=LVDS1
extern=VGA1
if xrandr | grep "$extern disconnected"; then
xrandr --output "$extern" --off --output "$intern" --auto
else
xrandr --output "$intern" --off --output "$extern" --auto
fi
設定を autorandr で設定を自動的に切り替える
autorandr を使うと、ディスプレイを接続したり接続解除するときに自動的に有効化できる xrandr "profiles" を簡単に設定できます。使用方法は ホームページ を参照。
2つのモニターを管理する
monsAUR は2つのモニターディスプレイを素早く切り替える POSIX 互換のシェルスクリプトです。
プロジェクターモードなど分かりやすいモードが用意されており、モニター接続時に選択・位置決めを行います (詳しくは [1] を参照)。
例 3
このスクリプトは接続されているモニターを順繰りに切り替えます。現在アクティブなモニターを選択して、次のモニターをオンにして他のモニターはオフにします:
# get info from xrandr connectedOutputs=$(xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") activeOutput=$(xrandr | grep -E " connected (primary )?[1-9]+" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") # initialize variables execute="xrandr " default="xrandr " i=1 switch=0 for display in $connectedOutputs do # build default configuration if [ $i -eq 1 ] then default=$default"--output $display --auto " else default=$default"--output $display --off " fi # build "switching" configuration if [ $switch -eq 1 ] then execute=$execute"--output $display --auto " switch=0 else execute=$execute"--output $display --off " fi # check whether the next output should be switched on if [ $display = $activeOutput ] then switch=1 fi i=$(( $i + 1 )) done # check if the default setup needs to be executed then run it echo "Resulting Configuration:" if [ -z "$(echo $execute | grep "auto")" ] then echo "Command: $default" `$default` else echo "Command: $execute" `$execute` fi echo -e "\n$(xrandr)"
例 3a
このスクリプトは xrandr の全ての出力端子を順繰りに確認します。モニターが接続されていれば、最大解像度を確認して前のデイスプレイの右に配置します。srandrdAUR と i3-wm で使用する例:
~/.xprofile
srandrd ~/.i3/detect_displays.sh
#!/bin/bash
XRANDR="xrandr"
CMD="${XRANDR}"
declare -A VOUTS
eval VOUTS=$(${XRANDR}|awk 'BEGIN {printf("(")} /^\S.*connected/{printf("[%s]=%s ", $1, $2)} END{printf(")")}')
declare -A POS
#XPOS=0
#YPOS=0
#POS="${XPOS}x${YPOS}"
POS=([X]=0 [Y]=0)
find_mode() {
echo $(${XRANDR} |grep ${1} -A1|awk '{FS="[ x]"} /^\s/{printf("WIDTH=%s\nHEIGHT=%s", $4,$5)}')
}
xrandr_params_for() {
if [ "${2}" == 'connected' ]
then
eval $(find_mode ${1}) #sets ${WIDTH} and ${HEIGHT}
MODE="${WIDTH}x${HEIGHT}"
CMD="${CMD} --output ${1} --mode ${MODE} --pos ${POS[X]}x${POS[Y]}"
POS[X]=$((${POS[X]}+${WIDTH}))
return 0
else
CMD="${CMD} --output ${1} --off"
return 1
fi
}
for VOUT in ${!VOUTS[*]}
do
xrandr_params_for ${VOUT} ${VOUTS[${VOUT}]}
done
set -x
${CMD}
set +x
例 4 - xrasengan を使って X のクラッシュを防ぐ
DisplayPort モニターでよくなる、モニターがサスペンドモードになって接続されていないと表示される場合、以下の方法を使って接続されている出力端子をオンにしてください:
declare -i count=2
declare -i seconds=1
while ((count)); do
xrandr >/dev/null
sleep $seconds
((count--))
done
xrasenganAUR は上記のワークアラウンドを組み込んだ xrandr ラッパーです:
$ xrasengan --force -on DisplayPort-0 -off HDMI-0
--force オプションを付けると、xrasengan は HDMI-0 がオフになる前に全ての出力端子の状態を更新して、それが唯一接続されていた出力端子だった場合に X がクラッシュするのを防ぎます。
現在の設定をリロードしたいときは、xrasengan の --try-reload-active-layout オプションを使います。--force と arandr パッケージの unxrandr を利用してコマンドラインを組み立てます:
$ xrasengan --try-reload-active-layout
上記のコマンドを systemd ユニットやキーボードのバインドで使うことで、DisplayPort モニターがサスペンドから復帰したときに画面が落ちるのを防ぐことができます。
arandr を使用した設定
arandr はモニターをグラフィカルに配置し、解像度を変更し、スクリプトを保存してセットアップを複製できます。デフォルトでは、"Save As" すると、~/.screenlayout/ に保存されます。これらのファイルは、その後、自動起動することができます。ログイン後すぐに arandr スクリプトを実行すると問題が発生することがあります。必要であれば、sleep コマンドを追加してください。
トラブルシューティング
画面の点滅
一部の LCD スクリーン(例:Samsung 2343NW、Acer XB280HK、iiyama ProLite XUB3490WQSU-B1 など)については、cvt -r(点滅を減らす)コマンドを使用する必要があるようです。例えば ProLite XUB3490WQSU-B1 と Dell XPS 13 の Thunderbolt HDMI 2.0 アダプタで、60hz (59,94 を選択) でこの画面が点滅している場合 (アダプタ +LCD 画面は Windows で完全に動作)、以下を実行する必要があります。
cvt -r 3440 1440
ヒント:
# 3440x1440 59.97 Hz (CVT) hsync: 88.82 kHz; pclk: 319.75 MHz
Modeline "3440x1440R" 319.75 3440 3488 3520 3600 1440 1443 1453 1481 +hsync -vsync
こちらも試してみて下さい:
xrandr --newmode "3440x1440R" 319.75 3440 3488 3520 3600 1440 1443 1453 1481 +hsync -vsync
それと:
xrandr --addmode DP1 3440x1440R
これで、点滅しない最高の画面解像度で 59.97hz モードを選択できます。
検出されない解像度を追加する
ハードウェアやドライバーにバグがあるために、モニターの適切な解像度が xrandr によって検出されないことがあります。例えば、モニターの EDID データブロックが間違っていることが考えられます。その場合でも、適当な解像度を xrandr に追加することができます。また、この方法を応用すると、ドライバーでは有効でないが、実際ハードウエアがサポートしているリフレッシュレートを追加したりもできます。
まず gtf か cvt を実行して希望の解像度の Modeline を取得します:
$ cvt 1280 1024
# 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
Modesetting ドライバーでも同じようなログを見つけられるでしょう。
次に新しい xrandr のモードを作成します。Modeline キーワードは抜かす必要があるので注意してください。
$ xrandr --newmode "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
モードを作成した後、この新しいモードを現在の出力 (VGA1) に追加してください。先にパラメータを設定したので、モードの名前だけで使うことができます。
$ xrandr --addmode VGA1 1280x1024_60.00
そして画面の解像度を追加した解像度に変更します:
$ xrandr --output VGA1 --mode 1280x1024_60.00
上記の設定は現在のセッションでのみ有効なので注意してください。
テストする解像度について確信が持てない場合、以下のように sleep 5 を追加することで安全に解像度を変更できます:
$ xrandr --output VGA1 --mode 1280x1024_60.00 && sleep 5 && xrandr --newmode "1024x768-safe" 65.00 1024 1048 1184 1344 768 771 777 806 -HSync -VSync && xrandr --addmode VGA1 1024x768-safe && xrandr --output VGA1 --mode 1024x768-safe
また、VGA1 は適当な出力端子の名前に置き換えてください。
EDID checksum is invalid
上記の方法で起動時に *ERROR* EDID checksum is invalid エラーが発生する場合、KMS#モードと EDID を強制する や [2] を見て下さい。
また、xrandr --addmode で X Error of failed request: BadMatch というエラーが表示されることがありますが、この場合も EDID のチェックサムが間違っています。詳しく確認したい場合、verbose モードで X を起動して (例: startx -- -logverbose 6)、Xorg のログに EDID に関するメッセージが出力されていないかチェックしてください。NVIDIA のカードを使っている場合は NVIDIA/トラブルシューティング#xrandr BadMatch を読むことを推奨します。
点滅後に画面の解像度が戻ってしまう
EDID が存在しないモニターで GNOME を使っている場合、上記の#検出されない解像度を追加する方法が機能しないことがあります。xrandr --output を実行した後に画面が点滅して解像度がリセットされます。
~/.config/monitors.xml を修正するか、ファイルを完全に削除してから再起動してください。
詳しくは こちら の記事を参照。
検出されない解像度を永続的に追加
xrandr を使って適当な解像度が見つかったら、/etc/X11/xorg.conf.d/ にエントリを追加することでモードを永続的に追加することができます:
/etc/X11/xorg.conf.d/10-monitor.conf
Section "Monitor"
Identifier "VGA1"
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
Option "PreferredMode" "1280x1024_60.00"
EndSection
Section "Screen"
Identifier "Screen0"
Monitor "VGA1"
DefaultDepth 24
SubSection "Display"
Modes "1280x1024_60.00"
EndSubSection
EndSection
Section "Device"
Identifier "Device0"
Driver "intel"
EndSection
intel は適当なドライバーに置き換えてください。例: nvidia。X サーバーを再起動すれば、新しい解像度が設定できるようになるはずです。
上手く行かない場合、Screen と Device セクションを削除して Monitor セクションだけにしてみてください [3]。
解像度が低い
ビデオカードは認識されるのに解像度が低い場合、以下の方法を試すことができます。
例: ATI X1550 ベースのビデオカードと2つの液晶モニター DELL 2408 (最大解像度: 1920x1200) と Samsung 206BW (最大解像度: 1680x1050) を使用。インストール後の最初のログイン時に、デフォルトの解像度が 1152x864 になる。xrandr でも 1152x864 以上の解像度が表示されない。/etc/X11/xorg.conf を編集して、仮想スクリーンのセクションを追加して、ログアウト・ログインしても上手く解像度が設定されない。
xorg.conf を変更:
/etc/X11/xorg.conf
Section "Screen"
...
SubSection "Display"
Virtual 3600 1200
EndSubSection
EndSection
数字について: DELL を左に Samsung を右に配置しているため、液晶ディスプレイの横幅の合計は 3600=1920+1680 になり、高さはディスプレイの高い方に合わせて、max(1200,1050)=1200 となります。他のディスプレイの上に液晶ディスプレイを配置する場合、次のように計算します: (max(width1, width2), height1+height2)。
.xinitrc から解像度を設定してもうまくいかない
DDX modesetting(4) ドライバ以外の場合、接続されたデバイスのモードを適切に列挙するのに時間がかかり、xrandr がすぐには動作しないかもしれません。これは xf86-video-intel ドライバに当てはまると思われ、起動初期に xrandr を使うと間違った解像度が設定されます。考えられる対処法は以下の通りです。
- xrandr を起動する前に2、3秒待つ。
~/.xinitrc
...
{ sleep 2; xrandr xrandr_parameters } &
...
これはバックグラウンドで待機し、他のスタートアップをブロックしないようにするためです。これが好ましくない場合、例えばウィンドウマネージャの設定がディスプレイを正しく配置することに依存している場合、フォアグラウンドでコマンドを実行することができます。
~/.xinitrc
... sleep 2 xrandr xrandr_parameters ...
- デスクトップ起動の後段でモードを設定する。スタートアップスクリプトの機能の詳細については、ウィンドウマネージャのドキュメントを参照してください。
- 汎用モード設定ドライバへの切り替え。これは、デバイス固有のDDXドライバをアンインストールすることで、最も簡単に行うことができます。xf86-video-intel の場合、このドライバには他の欠陥があり、これが役に立つかもしれません。詳しくは Intel Graphics#インストール をご覧ください。
アンダースキャンを利用してオーバースキャンが発生するテレビ解像度を補正
薄型テレビではオーバースキャンによって画像が大きく表示され端のほうが切れてしまうことがあります。
テレビの設定で問題を解決できないか確認してください。テレビの設定でどうにもならないがアンダースキャンをサポートしている場合 ({xrandr --prop} で確認できる) は、underscan を適用して境界値を変更してください。使用しているテレビによって適切な underscan vborder と underscan hborder の値は変わります。自分の目で確認しながら値を増減させてください:
$ xrandr --output HDMI-0 --set underscan on --set "underscan vborder" 25 --set "underscan hborder" 40
--transform を利用してオーバースキャンが発生するテレビ解像度を補正
アンダースキャンが利用できないなら、出力を変形する xrandr --transform "a,b,c,d,e,f,g,h,i" を利用する解決策もあります。変形方法の詳細は xrandr(1) § RandR_version_1.3_options マニュアルページを参照してください。
例えば、水平座標の変形スケールを 0.8 に、垂直座標を 1.04 に、そして画面を 35 ピクセル右に 19 ピクセル下にするには:
$ xrandr --output HDMI1 --transform 0.80,0,-35,0,1.04,-19,0,0,1
HDMI のフル RGB
Intel のドライバーでは HDMI モニターの出力が正しく設定されないことがあります。Broadcast RGB プロパティ によって色諧調が狭くなると (16-235)、黒が黒ではなく灰色のようになります。
phantom monitor の無効化
場合によっては、存在しないモニターがシステムによって検出されることがあります。これを無効にするには、phantom 出力の名前を見つけます。例: VGA1、そしてそれをオフにします
$ xrandr --output VGA1 --off
これを永続的にするには、/etc/X11/xorg.conf.d/ のエントリに以下を追加します。
/etc/X11/xorg.conf.d/10-monitor.conf
Section "Monitor"
Identifier "VGA1"
Option "Ignore" "true"
EndSection
AOC G2590PX による動的インターレースパターンの出現
動きが見られるときに非常に目立つ インターレースパターンの出現(メッシュまたはグリッド)が表示されている場合このモニターの画面では、リフレッシュレートが低いために発生している可能性があります。より高いリフレッシュレート(60Hz から119.98Hz、そしておそらくそれ以上)に切り替えると、影響を減らすのに役立つ場合があります。
HDMIを介したこのモニターのサンプルxrandr出力:
HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 544mm x 303mm 1920x1080 60.00 + 119.98* 99.93 50.00 59.94
上記の出力からわかるように、xrandr によって報告される推奨リフレッシュレートは 60.00 ですが、このリフレッシュレートでは問題が非常に目立ちます。119.98 に切り替えると、影響を大幅に減らすことができます。
$ xrandr --output HDMI-1 --mode 1920x1080 --rate 119.98