xrandrによって設定された外部モニターの解像度を取得する方法


11

tl; dr

ノートパソコンに接続されている外部モニターの正しい解像度を忘れてしまいます。構成を「スティック」にするにはどうすればよいですか?

細部

Linux Mintを実行するラップトップを外部ViewSonicモニターに接続しています。外部モニターをセカンドスクリーンとして使用するように設定しました(つまり、ミラーリングされていません)。これは数週間問題なく動作しました。

突然、ラップトップはそれをViewSonicとして認識しなくなり、その時点では最適な解像度(1600 x 1200)がわからなかったため、最大値はのみとなりました1028 x 7681これは、1920 x 1200解像度のある私のラップトップではまったく機能しませんでした。

多くの欲求不満の後、私はこの答えを見つけました。次のように、問題を解決するのに役立ちました(cvtコマンドの出力は、次のコマンドで使用されたモードラインです)。

cvt 1600 1200
xrandr --newmode "1600x1200_60.00"  161.00  1600 1712 1880 2160  1200 1203 1207 1245 -hsync +vsync
xrandr --addmode VGA-1 1600x1200_60.00

これはまさに私ができることを望んでいたことですが、GUIを介して行うことはできませんでした。(まだコマンドラインが好きな理由があります...)

これは、しばらくの間再びうまくいきました。しかし、今日コンピューターを起動してサインインすると、動作していないさまざまな試行モードに関する一連のエラーが通知領域ポップアップに表示され、外部モニターがオフになりました。上記のコマンドを繰り返したところ、再び動作しました。

nVidiaカードを持っています。問題が発生し始めたときに専用のドライバーをインストールしようとしましたが、その時点で外部モニターがまったく認識されなくなったため、オープンソースドライバーに戻りました。Xorg.confまたははなくXorg.conf.d、だけxorg.conf.failsafeです。

マシンを起動するたびにこれらのコマンドを繰り返したくありません。これを自分Xorg.confまたは何かに保存する方法はありますか?Xで多くのことをしてから数年になります。ここで誰かが私を助けてくれますか?


1私はこれがなぜ起こったのかを判断できませんでした。私の推測では、問題のあるドライバーの更新です。


1
どのグラフィックカードを使用していますか?それがATI / AMDまたはNvidiaの場合、独自のドライバーまたはオープンソースのドライバーを使用していますか?現在/etc/X11/corg.confファイルまたは何かを持っていますか/etc/X11/corg.conf.d?同じように、質問を編集して、それらのファイルの内容を追加してください。
terdon

質問を編集して追加情報を追加してください。読みづらく、コメントを見逃すのは簡単です。そうは言っても、はい、xorg.confは不要になりました。これらはudevによって処理されるようになりました。
terdon

あなたの質問をもう一度見て、私が私の答えを書いたときに見逃したのは、あなたがラップトップを持っているということです。調べたいのはudev、モニターが接続または切断されるたびにxrandrを実行するスクリプトを呼び出すルールを作成することです。これは、コンピューターが常にモニターに接続されているとは限らないため、はるかに優れています。それ以外の場合は、いつも同じ場所に設置できて満足しているなら、それでよいでしょXorg.confう。
Graeme

回答:


5

より良い方法があると確信しています。これですべて処理できたと思いudevますが、これらのコマンドで解決できることがわかっている場合は、いつでもスクリプトにできます。

#!/usr/bin/env bash
cvt 1600 1200
xrandr --newmode "1600x1200_60.00"  161.00  1600 1712 1880 2160  1200 1203 1207 1245 -hsync +vsync
xrandr --addmode VGA-1 1600x1200_60.00

実行可能にして、デスクトップ環境のスタートアップアプリケーションに追加します。DEがオプションを提供している場合、これはおそらく最良の選択です。


上記を実行できない場合は、ダーティーハックとしてそれらをあなたに追加することができます~/.profile

if [ ! -t 0 ] 
then
    cvt 1600 1200
    xrandr --newmode "1600x1200_60.00"  161.00  1600 1712 1880 2160  1200 1203 1207 1245 -hsync +vsync
    xrandr --addmode VGA-1 1600x1200_60.00
fi

if [ ! -t 0 ]これが唯一のGUIで実行され、確保すべきである.profile私が思い出すようミントのログインマネージャによって供給されます。

今、あなたも使用できるはずです~/.xsession、それが無視されるという問題がありました。古いアプローチの多くは置き換えられており、最先端の方法が何かはわかりません。


次の2行で出力をすでに使用しているため、cvt 1600 1200を使用する必要はありません。
PraveenMax 2017年

4

Nvidia独自のドライバを使用している場合はnvdia-settingsXorg.confファイルを構成するためのGUIツールである必要があります。Linux Mintには独自のパッケージが必要であるため、インストールは次のように簡単です。

sudo apt-get install nvidia-settings

これにより、メニューのどこかにアイコンが表示され、そこから実行できます(ルート権限を取得する方法はわかりません)。コマンドラインから、私はあなたができると信じています:

sudo /usr/lib/nvidia/current/nvidia-settings

コマンドラインを実行したい場合はnvidia-xconfig、使用するツールのようです(nvidia-xconfig私にとってのパッケージ)。どちらの方法でも、適切に構成されていれば、通常は専用ドライバーでより良い結果が得られます。これらのツールは、少なくとも適切なXorg.confファイルを生成し、直接またはこれらのプログラムのいずれかを介して調整できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.