起動時に次のxrandr
commandを実行するにはどうすればよいですか?
xrandr
cvt 1368 768
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA1 1368x768_60.00
xrandr --output VGA1 --mode 1368x768_60.00
一般に、[ダッシュ]> [スタートアップアプリケーション]> [追加]を選択して、起動(ログイン)時に実行するコマンドを追加できます。この場合、実行するcomplicatedコマンドがあります。
それを行うには2つのオプションがあります。
別のスクリプトを作成します。
#!/bin/bash
cvt 1368 768
# xrandr only works in X11 sessions, not Wayland
[ "$XDG_SESSION_TYPE" = x11 ] || exit 0
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA1 1368x768_60.00
xrandr --output VGA1 --mode 1368x768_60.00
スクリプトを空のファイルにコピーし、set_monitor.sh
として保存し、上記のように起動アプリケーションに次のコマンドを追加します。
/bin/bash /path/to/set_monitor.sh
コマンドを1つの(非常に長い)コマンドにチェーンします。
/bin/bash -c "cvt 1368 768&&xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync&&xrandr --addmode VGA1 1368x768_60.00&&xrandr --output VGA1 --mode 1368x768_60.00"
この場合、コマンド間で&&
を使用すると、各コマンドが別の行にあるように、前のコマンドが正常に実行されるとすぐに(および実行される場合)各コマンドが実行されます。
次に、上記のように、コマンドをスタートアップアプリケーションに追加します。
xrandr
コマンドをスタートアップに追加するのは難しい場合があります。実行が早すぎると、デスクトップが完全にロードされる前に破損することがあります。したがって、(最後に)次のように、スクリプトまたはコマンドを(どちらでも)実行するには、コマンドに(おそらく)少し休憩を追加する必要があります。
/bin/bash -c "sleep 15&&cvt 1368 768&&xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync&&xrandr --addmode VGA1 1368x768_60.00&&xrandr --output VGA1 --mode 1368x768_60.00"
最適な時間を見つけるには、sleep 15
で少し遊ぶ必要があるかもしれません。
最初の行を省きました。
xrandr
それはnothinではありませんが、画面設定にいくつかの情報を表示するためです:)
での this に従って今ログインセクションでそれを自動化し、私は独自のスクリプト45custom_xrandr-settings
を作成して配置しました/etc/X11/Xsession.d/
に入れます。 Ubuntu 14.04 LTSでうまく動作します。そのセクションで説明されているcase
コマンドの後に、以下のコードを配置できます。
PRI_OUTPUT="DVI-0";
# Make and force resolution
myNewMode=$(cvt 1366 768 60 | grep -oP 'Modeline\K.*') && #grep evrything after 'Modline'
myNewModeName=\"$(echo $myNewMode | grep -oP '"\K[^"\047]+(?=["\047])' )\" && #grep everything inside quotes
xrandr --newmode $myNewMode;
sleep 15;
xrandr --addmode $PRI_OUTPUT $myNewModeName;
上記があなたが探しているものだと思います。 xrandr
コマンドを実行するだけで、使用可能な出力を確認できます。出力は、VGA
、VGA-0
、DVI-0
、TMDS-1
、またはDisplayPort-0
です。
これが私が作成した完全なスクリプトです。
# To configure xrandr automatically during the first login,
# save this script to your computer as /etc/X11/Xsession.d/45custom_xrandr-settings:
# If an external monitor is connected, place it with xrandr
# External output may be "VGA" or "VGA-0" or "DVI-0" or "TMDS-1"
# More info at http://www.thinkwiki.org/wiki/Xorg_RandR_1.2
PRI_OUTPUT="DVI-0";
SEC_OUTPUT="DisplayPort-0";
SEC_LOCATION="left"; # SEC_LOCATION may be one of: left, right, above, or below
case "$SEC_LOCATION" in
left|LEFT)
SEC_LOCATION="--left-of $PRI_OUTPUT"
;;
right|RIGHT)
SEC_LOCATION="--right-of $PRI_OUTPUT"
;;
top|TOP|above|ABOVE)
SEC_LOCATION="--above $PRI_OUTPUT"
;;
bottom|BOTTOM|below|BELOW)
SEC_LOCATION="--below $PRI_OUTPUT"
;;
*)
SEC_LOCATION="--left-of $PRI_OUTPUT"
;;
esac
# Make and force resolution
myNewMode=$(cvt 1366 768 60 | grep -oP 'Modeline\K.*') && #grep evrything after 'Modline'
myNewModeName=\"$(echo $myNewMode | grep -oP '"\K[^"\047]+(?=["\047])' )\" && #grep everything inside quotes
xrandr --newmode $myNewMode;
sleep 15;
xrandr --addmode $PRI_OUTPUT $myNewModeName;
# Activate secondary out (display port)
xrandr | grep $SEC_OUTPUT | grep " connected "
if [ $? -eq 0 ]; then
# xrandr --output $SEC_OUTPUT --auto $SEC_LOCATION
xrandr --output $PRI_OUTPUT --mode $myNewModeName --output $SEC_OUTPUT --auto $SEC_LOCATION
else
xrandr --output $PRI_OUTPUT --mode $myNewModeName --output $SEC_OUTPUT --off
fi
ファイル~/.xprofile
を作成し、その中に行を入れます。 Xユーザーセッションの開始時に実行されます。