Raspberry PiでウィンドウマネージャーをX11 / Waylandに切り替える

Raspberry Pi OSのデスクトップ環境にはX11とWaylandの2種類のウィンドウマネージャーが採用されています。最新OSとRaspberry Pi 5 / 4ではWaylandに初期設定されていますが、一部ソフトウェアが動かないなどの問題が起きる場合があります。本記事ではウィンドウマネージャーを従来のX11に切り替える手順を解説しています。

更新日 : 2024年10月11日

ウィンドウマネージャーについて

Raspberry Pi OSをインストールして初期設定を済ませると、デスクトップ画面が立ち上がると思います。この時、画面を描写するため裏で動作しているソフトウェアがウィンドウマネージャーです。

Raspberry PiではWaylandとX11の2つのウィンドウマネージャーが採用されており、環境によってどちらになるか異なります。デスクトップ画面の見た目はほとんど同じなので、どちらが起動しているかぱっと見では分かりにくいと思います。

Raspberry Pi モデルとOSデフォルトのウィンドウマネージャー
Raspberry Pi 5 /4 + OS BookwormWayland
上記以外X11
デフォルトのウィンドウマネージャー

Waylandは2023年10月リリースのOS Bookwormで採用された新しいウィンドウマネージャーです。ただし、変更が大きいため一部ソフトウェアが動作しないなどの問題が起きる場合があります。例えば以下のような問題が起きています。

  • fcitx-mozcによる日本語入力が一部ソフトウェアで動作しない
  • ibus-mozcによる日本語入力が動作しない
  • VNCでリモート操作する場合の応答がX11より遅い

Waylandで発生する問題は将来のOSやソフトウェアのアップデートで解決することが見込まれますが、ウィンドウマネージャーをX11に変更することで解決できる場合があります。本記事では変更手順を解説します。

VNCサーバー無効化

VNCサーバーを有効にしている場合は、切り替えの前に無効化してください。有効なまま切り替えるとサービスの起動に問題が起きる場合があります。ウィンドウマネージャー切り替え後に改めて有効にしてください。

raspi-configの起動

ターミナルを開き、「sudo raspi-config」コマンドを実行して設定変更ツールを起動します。




ウィンドウマネージャーを変更

キーボードの上下で選択できるので、「Advanced Options」を選択してEnterキーで決定します。

同様に「Wayland」を選択します。

使用したいウィンドウマネージャーを選択します。Raspberry Pi 5 / 4で従来のX11に変更する場合は「X11」を選びます。

最初の画面に戻るので、キーボードの右を押して「Finish」を選択して変更を反映します。

再起動するか聞かれるので「はい」を選択します。

X11で発生する問題

2024年3月現在、ウィンドウマネージャーにX11する場合、以下の問題が起きる場合があるようです。

  • Raspberry Pi 5の電源ボタンを2回押してシャットダウンする機能が動作しません。メニューからシャットダウンするか、sudo poweroffコマンドでシャットダウンするようにしてください。
  • 日本語入力にFcitxを使用していると、入力時に英語キーボード配列になってしまう場合があるようです。iBusを使用することで回避できます。

まとめ

ウィンドウマネージャーをX11 / Waylandで切り替える手順は以上です。

他にもPythonを使ってプログラミングする方法や、VNCを利用してPCからRaspberry Piにリモート接続する手順を解説していますので、参考にしてください。

定期撮影ラズパイカメラをモバイルバッテリーで長期運用 (RPZ-PowerMGR)

Raspberry Pi(ラズパイ)と純正カメラを使用して、定期的に撮影するタイムラプス機能を実装する方法を解説します。RPZ-PowerMGR拡張基板を使うことで、指定時刻に起動し、撮影後は自動的にシャットダウン&電源OFFします。待機時の消費電力をカットすることで、モバイルバッテリーで長期運用が可能になります。

複数のステッピングモーターを制御する (Raspberry Pi + RPZ-Stepper)

複数台のステッピングモーターモーターを使うと、X/Y/Z軸移動など複雑な動きを実現できます。一般的なドライバーで複数のモーターを制御するとプログラムが複雑になりがちです。RPZ-Stepperと制御ソフトウェアを利用すると、各モーターの位置や速度を指定するだけで複数モーターを制御できます。RPZ-Stepper基板1枚に2台のステッピングモーターを接続でき、最大で基板2枚、モーター4台を制御できます。

Raspberry Pi用 温度/湿度/気圧/赤外線 ホームIoT拡張基板「RPi TPH Monitor」

動作をプログラミング可能な、Raspberry Pi(ラズパイ)用ホームIoT拡張ボードです。温度、湿度、気圧センサー、赤外線送信、受信機能を搭載。温度が上がったらエアコンをオンにする、外出先から家電の操作をする、気温や湿度を記録する、といった使い方が可能です。ディスプレイやLEDに情報表示、スイッチを押したら特定の処理をすることもできます。