はじめに
Arch Linux で niri (スクロール可能なタイル型 Wayland コンポジター) を使用している環境で、Waybar が起動してもバー全体が真っ黒で、モジュールが一切表示されない現象に遭遇しました。
Waybar の設定は、ウインドウマネージャーで sway に変更すると正常に表示されるので、正しく設定出来ています。
この現象を、niri の設定ファイルでディスプレイを明示的に定義することで解決したため、その手順をまとめます。
環境
- OS: Arch Linux
- Compositor: niri (v25.11)
- Bar: Waybar
手順
1. ディスプレイ名を確認する
まず、niri が認識しているディスプレイの識別名を調べます。
# ディスプレイ情報の確認
niri msg outputs
出力例:
Output "ASUSTeK COMPUTER INC. 0x14D5 UNKNOWN" (eDP-1)
Current mode: 1920x1080 @ 60.000 Hz
Variable refresh rate: not supported
Physical size: 310x170 mm
Logical position: 0, 0
Logical size: 1536x864
Scale: 1.25
Transform: normal
Available modes:
1920x1080 @ 60.000 Hz (preferred, current)
1280x720 @ 60.000 Hz
... (その他の解像度リスト)
この例では、ディスプレイ名が eDP-1 であることがわかります。
2. niri の設定ファイルを編集する
niri の設定ファイル(通常は ~/.config/niri/config.kdl)を開きます。
vim ~/.config/niri/config.kdl
ファイル内に output セクションを追記します。手順1で確認したディスプレイ名(eDP-1)を指定し、必ずスケーリングの設定を記述します。
~/.config/niri/config.kdl
output "eDP-1" {
scale 1
}
3. Waybar の起動確認
設定を保存すると、niri は自動的に設定をリロードします。
これで、真っ黒だったバーに各モジュールが正しく表示されるようになります。