CentOS7とGnome 3がインストールされた新しいデスクトップがあります。
このコンピュータをKVMと共に使用する必要がありますが、何らかの理由でCentOS7がKVMを介してモニタを検出できないため、デフォルトでは1024×768解像度の「不明なディスプレイ」に設定されています。 (モニターを直接接続すると、すべてが検出され動作します。より高い解像度)をシステムに適用します。
より大きな解像度を使用するには、手動で設定する必要がありますか?
私は新しい解像度で編集しようとしましたが、monitors.xml
CentOS7を再起動した後に変更を検出できないと拒否し、1024x768に戻りました。
答え1
ここでソリューションの基礎を見つけました。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は1024 x 768の解像度しか表示できません。
ステップ2:
xrandrに新しいパターンを教えてください。モードはビデオ表示パラメータが追加された文字列だけです。
2.1ステップ
必要なディスプレイパラメータを見つけます。 60Hzで1600x900が欲しい
> 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
xrandr VGA1が1600x900というモードを理解していることを教えてください。
> xrandr --addmode VGA1 1600x900
ステップ4
xrandrに新しいモードに切り替えるように指示します。
> xrandr --output VGA1 --mode 1600x900
注:誤ってモニターが実際に新しいモードを認識しない場合は、空の画面が表示されます。
黒い画面が表示されたら、盲目的に次のように入力して回復できます。
> xrandr --output VGA1 --mode 1024x768
別の回避策は、別のシステムでSSHを介して接続し、コンソールの代わりにSSHを介してこのコマンドを実行することです。
ステップ5
再起動時に保持されないnewmode、addmode、および出力コマンドを自動化するスクリプトを作成します。
答え2
私はこれがほとんど解決策であることに同意します。これにより、私の画面に正しい解像度が提供されます。
$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
しかし、画面の左右には2つの主要な黒い列があります。一種のオーバースキャンではないかと思います。
したがって、起動中にxorg.logから取得したいくつかの値をgrepする必要があります。
$ grep 1080 /var/log/Xorg.0.log
[ 2316.000] (II) modeset(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
したがって、cvtの値をXorg.0.logの値に置き換えて、正しい画面レイアウトを得ました。
$ xrandr --newmode "1920x1080_60.00" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
答え3
私はほぼ同じ状況に直面し、上記の答えは問題を解決する方法のより完全な説明の1つですが、32インチSamsungを2560x1440でレンダリングするには、次のステップに進む必要がありました。
gtfは上記のタイミングインポート方法でほとんど動作しますが、2560 x 1440解像度のモードは提供しません。私は-rスイッチでcvtプログラムを使用しました(crtには必要ですが適切ではなく、ブランキングを必要としないデバイスにのみ)。
~% cvt -r 2560 1440 60
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
このタイミングモードは、gtfが提供する上記の情報に似ており、非常に効果的です。私はまだこれをシステムに「焼く」ことを望んでいますX11
が、生成、追加、およびそのモードに切り替えるスクリプトを書くことでうまくいきます。
老化した私の目は巨大なモニターが大好きです。無理はありません...
(モードの追加と切り替えを実行するスクリプトは次のとおりです)
#!/bin/bash
# Used to get timing: cvt -r 2560 1440 60
xrandr --newmode "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
xrandr --addmode HDMI1 "25 60x1440R"
xrandr --output HDMI1 --mode "2560x1440R"
答え4
上記とは異なる「ソリューション」を試すのに貴重な時間を過ごした後、