Ubuntu - 解像度の異なるモニタの倍率を個別設定する

Surface Pro6 に入れているUbuntuSurfaceの本体ディスプレイは高解像度のため、倍率100%だと絵も字も小さすぎてつらい。

本体ディスプレイを倍率200%にすると、外付けの24インチフルHDモニタまで倍率200%になり、字も絵も巨大化してしまい、これも使いづらい。

画面100%の場合は本体モニタのアイコンと文字が小さすぎる
画面200%の場合は24インチフルHDモニタのアイコンがでかすぎる
f:id:kurokawanushi:20201212053452p:plain 解像度200%にした状態。
下のモニタ(高解像度)はちょうどいいサイズだが、上はフルHD解像度でしかないため、画面に対しアイコンが巨大化。

この問題を解決する、

外付けフルHDディスプレイ : 100%
本体ディスプレイ : 200%  

↑の状態をディスプレイごとに個別設定するための方法。

WindowsだとGUIから設定できるが、 Ubuntu(というかxranderを使える環境)ではxrandrで設定する。

前提

Ubuntuの設定で、モニタ倍率200%にした状態から設定を行う。
※24インチフルHDモニタのアイコンや字がでかい状態。

xrandrで個別にscaleを設定する

ターミナルからコマンド実行、接続しているディスプレイの解像度と位置座標を取得する。

$ xrandr

Screen 0: minimum 320 x 200, current 2736 x 2904, maximum 8192 x 8192
eDP-1 connected primary 2736x1824+0+1080 (normal left inverted right x axis y axis) 260mm x 173mm
   2736x1824     59.96*+
   2560x1600     59.97
   2560x1440     59.96    59.95
(省略)

DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
DP-2-1 connected 1920x1080+413+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x1080     60.00*+  74.97    50.00    59.94
   1680x1050     59.88
(省略)

connected となっているモニタを見る。

これが本体ディスプレイ(多分)

eDP-1

2736x1824+0+1080
解像度横幅 : 2736
解像度縦幅 : 1824
X軸原点 : 0
Y軸原点 : 1080
※画面の上方向にフルHD外付けモニタを配置しているので、そのぶん1080pixel下に本体モニタが存在する

外付けフルHDモニタ

解像度横幅 : 1920
解像度縦幅 : 1080
X軸原点 : 413
Y軸原点 : 0
※外付けモニタのほうが解像度が低く、上下に並べると左端が内蔵モニタよりも413pixelぶん右にある(私の設定では)

外付けモニタの倍率を変更、原点座標を変更する。

$ xrandr --output DP-2-1 --scale 2x2 --pos 207x-1080

DP-2-1(外付けモニタ) --scale 2x2 サイズ二倍にする --pos モニタサイズを倍にしたので、左端座標を207に変更、上端を1080pixel上に移動する

※--pos を指定しないと、外付けモニタと内臓モニタの表示部分が一部重複して、部分的に画面ミラーリングした状態になる。

kurokawanushi.hatenablog.com