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にリモート接続する手順を解説していますので、参考にしてください。

BME280センサーとラズパイで気温、湿度、気圧を測定する

Indoor Corgiのセンサー制御ソフトウェア「cgsensor」を利用して、BME280センサーで気温、湿度、気圧を測定する方法を解説します。コマンドラインツールを使って1行もコードを書かずに測定や記録ができるほか、Pythonパッケージを使えばご自身のプログラムから簡単にセンサーを制御できます。

ステッピングモーターの電流を最適化して省電力化&発熱対策 (Raspberry Pi + RPZ-Stepper)

ステッピングモーターは軽負荷や停止時であっても電流を消費するという特徴があります。一般的なモータードライバーだと、停止時にも電力を消費し続けたり発熱してしまいます。RPZ-Stepperは回転時、停止時それぞれについて、電流値を変更できるため、最適な値にすることで省電力化が可能です。また、ドライバーICの温度や、消費電流の測定も可能で、発熱やバッテリーでの動作時間の見積もりが可能です。

Raspberry Pi用 人感/明るさセンサー/赤外線 拡張基板「RPZ-PIRS」

Raspberry Pi(ラズパイ)に人感、明るさセンサー、赤外線送受信機能を搭載できる拡張基板です。人感センサーで人や動物を検知してカメラで撮影したり、赤外線で照明をONするような使い方が可能です。周囲の明るさをモニターできる他、外付温湿度/気圧センサー(別売り)を接続することで、温度、湿度、気圧の測定機能を追加できます。7色表示可能なRGB LEDにステータスを表示したり、スイッチを押すことで特定の動作をさせることができます。