labwc ウィンドウマネージャーの使用

labwcについては以前から知っていました。GnomeのMutterのように、ほとんどのウィンドウマネージャーはデスクトップ環境に統合されていますが、スタンドアロンのウィンドウマネージャーは非常に独特で、特にlabwcが存在するWaylandではその特徴が顕著です。

GnomeやKDEのような統合デスクトップ環境に飽き飽きしていて、swayのようなタイリング型のWaylandコンポジターを使いたくない場合は、スタッキングウィンドウコンポジターであるlabwcを試してみてください。

この記事の執筆時点では、中国語圏でlabwcに関する情報を共有している人は誰もいませんでした。少なくとも、Google、Bing、Baiduではリストに載っておらず、WeChatで検索すると「lai'an bawangcan」と表示されました。これは残念なことですが、私がこのサイトを保守し続けている理由の一つでもあります。

この記事では、Ubuntu 23.10 で labwc をコンパイルしてインストールし、日常業務や学習に使えるようにしていきます。この記事は labwc 環境で執筆しています。さっそく始めましょう。

1. labwc をコンパイルしてインストールする

  • ソースコードをダウンロードする
1git clone https://github.com/labwc/labwc
  • コンパイルしてインストールする

  • 依存関係をインストールする

1sudo apt install libseat-dev

xwayland が必要な場合は、個人的には必須だと考えています。中国本土の Linux 環境はあまり良くないからです。現在でも、DingTalkやWeChatなどの一部のアプリはxwaylandのサポートを必要としており、純粋なWaylandでは容易に動作しません。

Xwaylandを有効にするには、以下の依存関係をインストールしてください。

1sudo apt install libxcb-composite0-de
2sudo apt isntall libxcb-icccm4-dev
3sudo apt install libxcb-res0-dev

読者の中には、これらの依存関係が必要なことをどのようにして知るのか疑問に思う方もいるかもしれません。私は仕事でDingTalkを使用しており、実際に同様の経験をしています。依存関係パッケージ名は、エラーメッセージ、apt search xxx、そして経験に基づいています。

  • コンパイル

初回コンパイル

1meson setup build/
2meson compile -C build/

これが初めてのコンパイルではない場合は、-Dxwayland=enabledパラメータに注意してください。Xwaylandを有効にすることをお勧めします。

1meson setup --reconfigure -Dxwayland=enabled build
  • コマンドを共通ディレクトリに配置する

前の手順が完了すると、build ディレクトリに labwc ファイルが生成されます。これを /usr/bin ディレクトリにコピーしてください。

``shell sudo cp build/labwc /usr/bin

 1
 2labwc ウィンドウマネージャーがインストールされました。ターミナルで直接 `labwc` コマンドを実行することで起動できます。起動時は画面が黒くなりますが、これは正常です。`Win + Enter` を押すと alacritty が起動します。以下のようになります。
 3
 4![labwc](/images/labwc.webp)
 5
 6心配な読者の中には、このシンプルなインターフェース、まるでグラフィカルインターフェースのないサーバーのようなインターフェースでは、一体何を使う必要があるのか​​と疑問に思う方もいるかもしれません。実際には、この時点で既に使用可能であり、必要最低限​​のセットアップで済みます。ランチャーやコマンドラインから様々なプログラムを起動でき、すべて正常に動作します。ただし、完全なデスクトップ環境がないと、動作がかなり難しくなります。
 7
 8### 2. 必要なデスクトップ要素の追加
 9
10作業を進める前に、以下の点を確認してください。1. いつでも完全な Gnome 環境に戻れること。2. システムが自動的にネットワークに接続できること。こうすることで、何か問題が発生した場合にフォールバックが行えます。
11
12- wayland-sessions の設定
13
14labwc.desktop ファイルを作成します。パスと内容は以下の通りです。ファイルの作成方法がわからないなんて言わないでください。
15
16```shell
17 ~ cat /usr/share/wayland-sessions/labwc.desktop
18[デスクトップエントリ]
19Name=Labwc
20Comment=Labwc
21Exec=labwc
22Type=Application
23 ~

目的は、gdm3 が labwc を選択できるようにし、labwc 環境に入ることです。コマンドラインから起動できないこともありますよね?gdm3 は、いわゆるディスプレイマネージャ、またはログインマネージャで、GUI 版と GUI 版の両方が用意されています。オペレーティングシステムの起動後に、ユーザー名とパスワードを入力してセッションを選択できるようになります。この手順により、セッションに新たなオプションが追加されます。

  • Labwc の基本設定

まず、4つのコア設定ファイルを作成してダウンロードします。

1mkdir -p ~/.config/labwc
2wget https://raw.githubusercontent.com/labwc/labwc/master/docs/environment -O ~/.config/labwc/environment
3wget https://raw.githubusercontent.com/labwc/labwc/master/docs/autostart -O ~/.config/labwc/autostart
4wget https://raw.githubusercontent.com/labwc/labwc/master/docs/menu.xml -O ~/.config/labwc/menu.xml
5wget https://raw.githubusercontent.com/labwc/labwc/master/docs/rc.xml -O ~/.config/labwc/rc.xml

私のサンプルを直接使用することもできます: https://github.com/kmephistoh/dotfiles/tree/main/.config/labwc

-自動起動

1➜ labwc egrep -v "#|^$" 自動起動
2swaybg -i ~/Pictures/mount.jpeg >/dev/null 2>&1 &
3waybar >/dev/null 2>&1 &
4fcitx5 >/dev/null 2>&1 &
5➜ labwc pwd
6/home/mephisto/.config/labwc

これらは壁紙の設定、waybarステータスバーの起動、fcitx5入力メソッドの起動に使用されます(英語圏の方には不要ですが、中国語圏の方には必須です)。壁紙画像のパスはご自身で変更してください。 -environment

 1➜ labwc egrep -v "#|^$" environment
 2XDG_CURRENT_DESKTOP=wlroots
 3MOZ_ENABLE_WAYLAND=1
 4XDG_CURRENT_DESKTOP=labwc
 5XCURSOR_THEME=breeze_cursors
 6GTK_IM_MODULE=fcitx
 7QT_IM_MODULE=fcitx
 8XMODIFIERS=@im=fcitx
 9INPUT_METHOD=fcitx
10SDL_IM_MODULE=fcitx
11➜ labwc pwd
12/home/mephisto/.config/labwc

この中で、MOZ_ENABLE_WAYLAND=1 は Firefox を Wayland で実行できるようにし、XDG_CURRENT_DESKTOP=labwc は FlameShot だと推測しました。スクリーンショットのソフトウェア要件は自分で確認しました。ありがとうございます!fcitx関連のドキュメントは、fcitxを正しく動作させるためのものです。

Chromeを好み、Firefoxに慣れていない場合は、特別な設定を行う必要があります(Xwaylandサポートが有効になっていない場合)。

1➜ labwc grep -i exec /usr/share/applications/google-chrome.desktop
2Exec=/usr/bin/google-chrome-stable -enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4 %U
3Exec=/usr/bin/google-chrome-stable -enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4
4Exec=/usr/bin/google-chrome-stable --incognito -enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4

-enable-features=UseOzonePlatform --ozone-platform=wayland で Wayland サポートを有効にします。

--gtk-version=4 で fcitx5 入力メソッドのサポートを有効にすると、候補インターフェースがクラッシュします。 Linuxユーザーがよくやるやり方です。^_^

  • rc.xml

このセクションは、ランチャー(lancher)の wofi、スクリーンショットツールのflameshot、ロック画面ツールのswaylockというショートカットが追加された以外は、あまり変更されていません。wofiについては、時間のある時に別の記事で書きます。

1<keybind key="F8">
2<action name="Execute" command="wofi" />
3</keybind>
4<keybind key="F9">
5<action name="Execute" command="flameshot gui" />
6</keybind>
7<keybind key="W-l">
8<action name="Execute" command="swaylock" />
9</keybind>
  • menu.xml

ドキュメントを読んで、必要に応じて変更することをお勧めします。私のドキュメントを直接ダウンロードすることもできますが、現時点では重要ではありません。

  • Waybar の設定

簡単に言うと、Waybar は基本的な情報を表示するステータスバーです。

waybar

直接インストールすることをお勧めします。

1sudo apt install waybar

Waybar はカスタマイズ可能です。公式ドキュメントを参照することをお勧めします。

多くの例があります: https://github.com/Alexays/Waybar/wiki/Examples

お気に入りの例を見つけてください。私の設定はこちらです: https://github.com/kmephistoh/dotfiles

  • swaylock の設定

swaylock は画面をロックします。コンピューターから離れる際は画面をロックしておくと、火災、盗難、荒らし行為を防ぐのに役立ちます。

まずはインストールしてください。

1sudo apt install swaylock

カスタマイズも可能です。面倒な設定をしたくない場合は、私のものを直接ダウンロードできます。

https://github.com/kmephistoh/dotfiles/tree/main/.config/swaylock

rc.xml の設定によると、Win + L キーで画面がロックされます。初めて使った時、その効果には本当に驚きました。こんな感じです(ロック画面のスクリーンショットが撮れないので、オンラインで画像を探しました。私の設定はこれほど良くありません)。

swaylock

3. デスクトップ全体のプレビュー

ここまでの作業を経て、結果は以下のようになりました。

デュアルスクリーンショット

labwc デスクトッププレビュー

    1. ステータスバーのウェイバー
    1. Wofi ランチャー
    1. メニュー(空白部分をクリックするとポップアップ表示され、labwc を終了できます。そうでなければ終了方法がわからないでしょう?)
    1. これは Chrome が正常に動作していることを示しています。これでインターネットにアクセスできるブラウザが手に入ったので、心配する必要はありません。
    1. Wofi をまだインストールしていない場合は、Alt + F3 でメニューを表示してください。機能は動作しますが、見た目はあまり良くありません。

通知スクリーンショット

labwc 通知

結論として、labwc は問題なく動作します。しばらくは実験を続けていくつもりです。多少の不具合に遭遇するかもしれませんが、致命的ではありません。重要なのは、デスクトップ環境の様々なコンポーネントを好みに合わせてカスタマイズできることです。Gnome/KDE のような高負荷環境の制約を回避できます。システムの応答性は驚くほど高く(ほとんどがC言語で記述されています)。コンポーネントがどのように連携するかを理解し、いくつかの点を学習すれば、気に入らなければ簡単に置き換えることができます。まさに自由の感覚です。

2023年8月4日更新:2ヶ月使用した後、labwc はスムーズかつ安定して動作し、私の日常的なニーズの99%を満たしています。正直なところ、labwc を選ぶのは遅すぎたと言えるでしょう。Gnome 環境とはお別れです。Linuxユーザーにおすすめです。設定に詳しくない方は、このサイトでチュートリアルを検索してください。

最終更新日: Friday, October 24, 2025

翻訳: