
私は複数のディスプレイで gnome を使用しています。これらをミラーリング設定で使用しています。しかし、外部ディスプレイが再接続されるたびに (プラグインするかディスプレイの電源を入れるかに関係なく)、ミラーリングを希望していたことが忘れられてしまうようです。
これをデフォルトとして設定する方法はありますか?
答え1
外部ディスプレイが接続されたら、シェルスクリプトを起動する必要があります。これは次のように実行できます。ユーデブ
まず、持っていない場合はユーデブUbuntuで
次のコマンドを実行します。
sudo apt install udev
udevadm を使用して UDEV イベントを監視 (出力) する
このステップは各ユーザーにとって最も重要です。 を実行しますudevadm monitor --environment --udev
。次に、HDMI ケーブルを接続します。
udevルール
上記のコマンドの出力に基づいて、ユーザーはこの udev ルールを に作成しました/etc/udev/rules.d/95-monitor-hotplug.rules
。
KERNEL=="card0", SUBSYSTEM=="drm", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/YOUR_USER_NAME_GOES_HERE/.Xauthority", RUN+="/usr/local/bin/hotplug_monitor.sh"
YOUR_USER_NAME_GOES_HERE
ユーザー名はどこですか。
xrandr
ニーズに合わせてオプションを調整することもできます。
最初に実行してxrandr
現在の画面を検出します。
$ xrandr
Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 8192 x 8192
LVDS1 connected (normal left inverted right x axis y axis)
1600x900 60.0*+ 40.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
HDMI3 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
1920x1080 60.0*+
1600x1200 60.0
1680x1050 59.9
1680x945 60.0
[...]
外部モニターに現在のディスプレイがミラーリングされるようにディスプレイを設定するには:
$ xrandr --output HDMI3 --same-as LVDS1
画面の表示名(LVDS1 など)を確認してください。
xrandr スクリプトを配置する場所/usr/local/bin/hotplug_monitor.sh
:
#! /usr/bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/YOUR_USER_NAME_GOES_HERE/.Xauthority
function connect(){
xrandr --output HDMI3 --same-as LVDS1
}
function disconnect(){
xrandr --output HDMI3 --off
}
xrandr | grep "HDMI3 connected" &> /dev/null && connect || disconnect