xrandr
を使用して、1680x1050をVGA出力の新しいモードとして設定しようとしましたが、次のように表示されます。
Sudo xrandr --addmode VGA-0 1680
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 35
Current serial number in output stream: 36
最初にcvtを使用して「モードライン」を生成します
構文は次のとおりです。cvtwidth height refreshrate
cvt 1680 1050 60
これはあなたに与えます:
# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
これをxrandrに伝えます:
xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
次に、選択した出力の可能な解像度のテーブルに追加できます。
xrandr --addmode VGA-0 1680x1050_60.00
再起動後に変更は失われます。解像度を永続的に設定するには、次の内容のファイル~/.xprofile
を作成します。
#!/bin/sh
xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
xrandr --addmode VGA-0 1680x1050_60.00
以前に指定されたカスタム解像度を設定する方法。解像度を作成するために定義された他の手順を実行した後、次を実行します。
xrandr -s 1680x1050
複数のモニターの実行の場合に以前に指定されたカスタム解像度を設定する方法。解像度を作成するために定義された他の手順を実行した後、次を実行します。
xrandr --output DVI-0 --mode 1680x1050
DVI-0
をデバイスIDに置き換えます。 VGA-0
thomとthirdenderのおかげで、これは基本的に単一のコマンド構成に基づいています 最も投票された回答 。
RES="1920 1200 60" && \
DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") && \
MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/\1/') && \
MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') && \
cat > ~/.xprofile << _EOF
#!/bin/sh
xrandr --newmode $MODELINE
xrandr --addmode $DISP $MODERES
_EOF
上記のコマンドは、目的の~/.xprofile
ファイルを生成します。好みの解像度(つまり、RES
変数)を使用していることを確認してください。 詳細はこちら 。