Ubuntu Weekly Recipe

第859回Waylandで行こう[Ubuntu編]

今回は、UbuntuをWaylandネイティブで使用する方法を紹介します。

Ubuntu 24.04 LTSにおける、Waylandとアプリケーションの進歩した関係

第717回「Ubuntu 22.04 LTSにおける、Waylandとアプリケーションの微妙な関係」という記事を掲載しました。当時は、GNOME側の対応はインプットメソッド関連を除いておおむねWayland対応ができているものの、アプリケーション側での対応が不充分であるという状況を解説しました。

あれから約3年が経ち、もはやWaylandネイティブで動作させてもいいくらいのところまで成熟が進み、今回はその詳細を紹介します。対象のUbuntuのバージョンは24.04 LTSとしますが、25.04でも同様のはずです。

Firefox

snap版Firefoxは、24.04 LTSの段階でWayland対応しています。

GIMP 3.0

第717回でも述べたように、アプリケーションのWayland対応はツールキットに依るところが大きいです。GIMP 2は古のツールキットであるGTK 2に対応する最後の大物アプリケーションでした。

しかし、ツールキットがGTK 3になったGIMP 3.0が3月16日(現地時間)にリリースされました。パッケージとして存在するのはUbuntu 25.04以降ですが、snapFlatpakパッケージでも提供されており、24.04 LTSでも今すぐにインストールできます図1⁠。

図1 GIMP 3.0を今すぐにインストールしよう

NVIDIAのプロプライエタリなドライバー

第833回で言及されているとおり、24.10以降はNVIDIAのプロプライエタリなドライバーがインストールされていてもWaylandセッションがデフォルトで有効になります。

では24.04 LTSではどうなのかというと、少なくとも執筆時点で「検証済み」になっているnvidia-driver-550ではログインパスワード入力時に右下の歯車をクリックすると「Ubuntu on Wayland」があり、Waylandセッションでのログインが可能です。

Google Chrome/Chromium

Google Chrome/Chromium(以降Chromium)は、現在はWaylandが使用できる場合は使用し、できない場合はX11にするという仕様になっています。現在どちらのモードで描画しているのかの確認はできないようです。筆者が確認したところでは、少なくともVirtualBox上で動いているUbuntu 24.04 LTSでは、WaylandセッションであってもX11で描画されているようです。

「chrome:flags」を表示し、⁠wayland」で検索するといくつかの項目が表示されます。そのうち、最低でも「Preferred Ozone platform」「Wayland」に、⁠Wayland text-input-v3」「Enabled」にし、指示に従って再起動します図2⁠。

図2 Waylandに関する設定を変更する

他の項目は、使用状況に応じて有効にしてください。

ここからもわかるとおり、現在のChromiumには(正確にはバージョン129から)Waylandのインプットメソッドプロトコルの1つであるtext-input-v3の実験的サポートが追加されています。

Electron

Chromiumをベースに開発しているElectronは、33以降でWayland text-input-v3に対応しています。Electronを採用しているVisual Studio Codeは、2月にリリースされた1.98からElectron 34にアップデートされました。

Electronを採用したアプリケーションでも「chrome:flags」のような設定画面があるといいのですが、残念ながら用意されていません。また引数に指定する方法も使えません。それらに代わり、設定ファイルに書き込む方法が用意されています。具体的には次のような方法です。

$ cat ~/.config/electron-flags.conf 
--ozone-platform=wayland
--enable-wayland-ime
--wayland-text-input-version=3

Chromiumのコマンドラインオプションを設定ファイルに書き込む方式です。

インプットメソッドをWaylandネイティブで動作させる方法

Waylandアプリケーションにおけるインプットメソッドは、互換性もありやや複雑になっています。

共通

インプットメソッド共通の設定を確認していきます。

まずは例としてGTKの場合、Fcitx5のWikiを参考に挙動を確認してみましょう。

  • 環境変数GTK_IM_MODULEが指定されている場合は、Waylandアプリケーションでも使用する
  • GTK_IM_MODULEが指定されていない場合は、Waylandのインプットメソッドプロトコルを使用する
  • ただしツールキットによっては、GTK_IM_MODULEが指定されていてもWaylandのインプットメソッドプロトコルを使用する

つまり、GTK_IM_MODULEを指定しなければWaylandのインプットメソッドプロトコルを使用します。Ubuntuの場合、GTK_IM_MODULEim-configパッケージで指定しているため、これを削除して再起動すればいいということになります。

$ sudo apt purge im-config

Google Chromeで確認してみたところ、GTK_IM_MODULEを指定するとGTK4での入力になるものの[1]、Google Chrome(=Chromium)の制限により候補ウィンドウがおかしな位置に表示されます図3⁠。

図3 GTK4だと候補ウィンドウが見づらい位置に表示される

しかしGTK_IM_MODULEの使用を止めると、候補ウィンドウは正しい位置に表示されます図4⁠。このことから、Chromiumのツールキット(Ozone)GTK_IM_MODULEの指定の有無で入力方式を変更していることがわかります。

図4 Waylandだと候補ウィンドウが正しい位置に表示される

またWaylandでは変換中文字の反転がなく、どこを変換しているのかわかりにくいです。GNOME Shell拡張機能のPreedit Highlight For Japanese IMEをインストールすると、ツールキットによっては変換している部分を太字になり、わかりやすくなります。

Fcitx5の場合

Fcitx5を使用する場合は、次のコマンドを実行してください。

$ sudo apt install fcitx5-mozc
$ mkdir -p ~/.config/autostart && cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart
$ reboot

ログイン後、⁠Fcitxの設定」を起動し、⁠入力メソッド」図5のように「キーボード-日本語」「Mozc」になっているかを確認してください(日本語キーボードの場合⁠⁠。

図5 最低限キーボードの設定を確認する

また、GNOME Shell拡張機能のInput Method Panelもインストールしてください。これについては第689回でも紹介しているので、あわせてご覧ください。

おすすめ記事

記事・ニュース一覧