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

指定時刻にラズパイ/Jetsonの電源をON/OFF (RPZ-PowerMGR)

RPZ-PowerMGRを使って、指定時刻にRaspberry Pi(ラズパイ)やJetson Nanoの電源ON/OFFする方法の解説です。決まった時間だけ起動して消費電力を抑えることが可能で、モバイルバッテリーやソーラーシステムでの運用に最適です。

サーボモーターを指定した角度に動かす (Raspberry Pi + RPZ-RC-Servo)

サーボモーターは、モーターシャフトの角度(位置)を電気的に指示することが可能なモーターで、ものやアームを動かしたり、カメラを回転させたりすることが可能です。本記事ではRPZ-RC-ServoとRaspberry Pi(ラズパイ)を使ってサーボモーターを指定した角度へ回転させる方法を解説しています。Pythonで動作する制御ソフトウェアcgservoを使うことで簡単かつ直感的にモーターを制御することができます。

RPi TPH Monitor Rev2 (Raspberry Pi用 温度/湿度/気圧/赤外線 ホームIoT拡張ボード)

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