私はここにソリューションのベースを見つけました:https : //askubuntu.com/questions/186288/how-to-detect-and-configure-an-output-with-xrandr
CentOSを含む最新のLinuxディストリビューションでは、xrandrライブラリが画面の解像度や回転などの処理を担当します。システムは自動検出しないため、モニターが対応できるモードについて手動でシステムに通知する必要があります。
KVMでも同じ問題があり、サンプル出力は私のコンピューターからのものです。
ステップ1:
ポートの名前を見つけます。これはVGA1、HDMI1のようなものになります。/var/log/Xorg.0.logから見つけることができるか、xrandrユーティリティを使用できます。
> xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*
800x600 60.32 56.25
848x480 60.00
640x480 59.94
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
KVMはVGA1と呼ばれるVGAポートに接続されています。KVMは自動検出をブロックするため、xrandrは1024x768の解像度しか見ませんでした。
ステップ2:
新しいモードについてxrandrに伝えます。モードは、ビデオ表示パラメータが付加された単なる文字列です。
ステップ2.1
必要な表示パラメータを見つけます。1600x900 @ 60 Hzが欲しかった:
> gtf 1600 900 60 -x
# 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
Modeline "1600x900_60.00" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
ステップ2.2
gtfコマンドの値を使用して、xrandrで新しいモードを作成します。
> xrandr --newmode "1600x900" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
最初のパラメータは新しいモードの名前です。実際には、好きな名前を付けることができます。後続の手順では同じ名前を使用します。
ステップ3
VGA1が1600x900と呼ばれるモードを理解することをxrandrに伝えます。
> xrandr --addmode VGA1 1600x900
ステップ4
新しいモードに切り替えるようにxrandrに指示します。
> xrandr --output VGA1 --mode 1600x900
注:間違えたためにモニターが実際に新しいモードを認識しない場合、空白の画面が表示されます。
空白の画面が表示される場合は、盲目的に次のように入力することで回復できます。
> xrandr --output VGA1 --mode 1024x768
別の方法としては、SSH経由で別のコンピューターから接続し、コンソールではなくSSH経由でこのコマンドを実行します。
手順5
再起動中には保持されないため、newmode、addmode、outputコマンドを自動化するスクリプトを作成します。