有馬総一郎のブログ

(彼氏の事情)

2021年11月08日 21:50:56 JST - 4 minute read - Comments - Linux

Aliter Linux(i3wm)でHiDPIに設定して4kディスプレイを表示して、別ディスプレイに複製する

Alter Linux i3wm EditionAerobook Plusにインストールした。で、Aerobook Plusは3840x1920解像度ディスプレイなので、画面表示は美しい。しかし、そのままだと文字が小さすぎて見づらい。

Aerobook Plus i3wm

なので i3でどうやって表示スケールを変更するのか調べたら、答えはここに↓

x11 - How do I scale i3 window manager for my HiDPI display? - Unix & Linux Stack Exchange

ターミナル、アプリのdpi変更

下記ファイルを作成する。

~/.Xresources

Xft.dpi: 192

~/.xinitrcxrdb -merge ~/.Xresourcesとする必要はなく、ファイルを作って置くだけでOKだった。

また、 ~/.profileexport GDK_SCALE=2すると良いとあるが、必要を感じなかったので、 ~/.Xresources だけとした。

i3ステータスバーのdpi変更

これだけだとターミナル、殆どのアプリ表示はいけるがi3ステータスバーやrofiといったものが小さいまま1なのでdpi = 192を設定ファイルに追記。で、これだと高さが足らないので、高さも倍にした。

~/.config/polybar/config.ini

[bar/main]
font-0 = "SauceCodePro Nerd Font:style=Regular:size=15;4"
font-1 = "FontAwesome:style=Regular:size=10;4"
font-2 = "Font Awesome 5 FreeRegular:style=Regular:size=10;4"

width          = 100%
- height         = 20
+ height         = 40
padding        = 0
bottom         = false
background     = ${color.bg-bar}
radius-bottom  = 15.0

scroll-up      = i3wm-wsnext
scroll-down    = i3wm-wsprev

modules-left   = launcher i3 left-end
modules-center = left-begin clock right-end
#modules-right  = right-begin network cpu memory battery right-end right-begin power
modules-right  = right-begin network cpu memory battery right-end fcitx right-begin power

+ dpi = 192

rofiのdpi変更

オプション-dpi 192を付ける。

~/.config/i3/config

- bindsym $mod+Shift+e exec --no-startup-id rofi -show power
+ bindsym $mod+Shift+e exec --no-startup-id rofi -show power -dpi 192
・・・中略・・・
- bindsym $mod+d exec --no-startup-id TERMINAL=kitty rofi -show drun
+ bindsym $mod+d exec --no-startup-id TERMINAL=kitty rofi -show drun -dpi 192

で、i3ステータスバーをクリックして起動すると小さいままなので、i3ステータスバーの設定ファイルも修正する。

~/.config/polybar/modules.ini

- click-left         = exec rofi -show drun
+ click-left         = exec rofi -show drun -dpi 192
・・・中略・・・
- click-left         = exec rofi -show power
+ click-left         = exec rofi -show power -dpi 192
Aerobook Plus i3wm

Spotifyの表示スケール表示

Spotifyも小さいままなので、オプション--force-device-scale-factor=2.0を付ける。

/var/lib/snapd/desktop/applications/spotify_spotify.desktop2

- Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/spotify_spotify.desktop /var/lib/snapd/snap/bin/spotify %U
+ Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/spotify_spotify.desktop /var/lib/snapd/snap/bin/spotify --force-device-scale-factor=2.0 %U

壁紙も4kに

ちょうど?Fascode壁紙(16:9,4K)を作成されていたので、nitrogenで設定3

Full HDの別ディスプレイに複製する

HiDPIの方がフォントや4k動画は美しいが、たまに15インチより大きいディスプレイで表示したいときがある。1920x1080の別ディスプレイに、普段のHiDPI表示設定そのままに画面複製できないかな?と思ったら、

HiDPI - ArchWikiにやり方があった。

xrandr --output HDMI1 --scale 2x2で、ノートパソコンの4kディスプレイeDP1は解像度3840x1920のまま、別ディスプレイのHDMI1は1920x1080だけど、表示領域は1/4になることなく4k表示領域に拡大されて表示される。

ARandR
eDP1
ARandR
HDMI1
ARandR
同じ大きさになる

起動時に画面表示がおかしくなったら

ただ、次回、別ディスプレイに接続したまま起動する4と、HDMIディスプレイの画面表示されなかったり、eDP1ディスプレイの表示がおかしくなる。

HDMI範囲超過
HDMI範囲超過
Aerobook Plus i3wm
解像度がおかしい

この場合、下記の手順で戻せる。

  1. まずは別ディスプレイHDMI1を無効化するか、切断する。
  2. 4kディスプレイeDP1の解像度を3840x1920に設定する。
  3. $mod+Shift+rするなりしてi3を再起動して壁紙の表示を直す。
  4. 別ディスプレイHDMI1を有効化する。
  5. xrandr --output HDMI1 --mode 1920x1080 --scale 2x2を叩く

追記 2021-11-17
コマンドだとこうかな

xrandr --output HDMI1 --off
xrandr --output eDP1 --mode 3840x2160 --primary
xrandr --output HDMI1 --mode 1920x1080 --scale 2x2 --same-as eDP1
i3-msg restart

追記ここまで


Aerobook Plus i3wm
3をしないと壁紙がおかしいまま

これで元どおり。まあ、4kディスプレイを買えばこんな手間はいらなくなるが…


  1. alterlinux-i3-managerなどは文字が大きく、ウィンドウサイズが小さいまま。こちらについては修正方法はまだ分かってない。 ↩︎

  2. deb版だと /usr/share/applications/spotify.desktop ↩︎

  3. nitrogenについては Alter Linuxの壁紙を変更するで触れてる。 ↩︎

  4. 別ディスプレイに接続せずに起動した場合は問題ない。または、起動後に後で接続する分には、問題ない。 ↩︎

Tags: Alter Linux Arch Linux i3wm

y.u mobile(ワイユーモバイル)に申し込みしたら10回書類審査で落ちた話 コマンドライン(CLI)でCDを取り込む(リッピングする)ツール`abcde`

comments powered by Disqus