ラズパイbookworm – ついに解決? wayland chromiumで日本語入力できない問題

RPi OS Bookwormの発表以来今日に至るまで、本ブログでは

ラズパイ(というかlinux全般)のwayland環境で
chromiumに日本語入力できないことを

目の敵にしてきた

という経緯がございます。

ある日にはラズパイの無力を呪い
また別の日にはlinuxの不幸を罵り

まさに

chromiumの呪縛に翻弄される日々

が延々と続く毎日でした。

でも

そんな悲しい毎日とは今日でお別れ

です(ちょっと制限はついてるけど)。

元ネタはこちら

Bookworm (Raspberry Pi OS)のChromiumで日本語入力できない現象について - Qiita
概略 :環境と解決案(2023/12/10 更新)Rapsberry Pi OSの更新のおかげで、apt update+apt upgradeすると、OSデフォルトのChromiumでchrom…

こちらのページ、実は以前にも、本ブログで紹介させていただいておりました(こちらの最後あたり) その時点では、後述するように、導入にはいろいろ敷居が高いものがあったのです。ただ、その敷居は去年の段階で解消していたようです。 それ以外にも問題があるのですが、そちらはそちらで私にとって重大な問題ではなく、「私はこれで十分」という結論に達しました。本日は、その設定方法を解説していきたいと思います。

問題: ラズパイbookwormのwayland環境では、chromiumで日本語が入力できない

まず何が問題なのかと言いますと、fcitx5-mozc などの設定を正しく行い、wayland環境全般で日本語入力が問題なくできる状態となっても、chromiumでだけは日本語入力できないという問題がラズパイ(というかlinux全般)のwayland環境にあるのです。原因などの詳細は以前のポストを参照ください。

Xwayland(wayland上で動くX11互換環境で)経由でchromiumを動かす方法で日本語入力することが一応できるのですが、パフォーマンスが悪いだけではなく、ファイルマネージャからブラウザへのファイルドラッグなどで問題が起こります。そういう訳で、waylandネイティブのchromiumで日本語入力できないことは、私のラズパイライフ(?)における最大の障害でした。

解決策: chromiumを–-gtk-version=4 オプションをつけて起動する

ターミナル上で以下のコマンドでchromiumを起動すれば、日本語が(一応)入力可能となります。

chromium-browser --gtk-version=4

–-gtk-version=4というオプション自体は、こちらでも触れられているとおり、昔から知られていたものではあったのですが、困ったことにラズパイのchromiumではサポートされていませんでした。その当時は本家debianのarmリポジトリのchromiumでのみで利用可能可能でしたが、元ネタ様のページ にありますとおり、どうやらそのオプションが去年の年末あたりの段階で、普通のラズパイ・リポジトリのchromiumでも利用可能になっていたようです。

ちなみにこのブログをポストした段階でのchromiumのバージョンはv124です。ひょっとしてではありますが、chromiumバージョンによって–-gtk-version=4のオプションが効いたり効かなかったりする現象のように見えなくもないので、将来またこのオプションが効かなくなった場合は、バージョンアップによる影響をネットで検索してみるなどしてみてください。

アイコンクリックで–-gtk-version=4オプション付きchromiumを起動できるよう設定する

毎度ターミナルからchromiumを起動するのは大変ですので、オプションを/etc以下に登録しておきましょう。

sudo nano /etc/chromium.d/10-gtk-version 

で、以下のようにファイルを編集してセーブ

if [ ! "$XDG_SESSION_TYPE" = "x11" ]; then
   export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --gtk-version=4"
fi

設定は、/usr/bin/chromium-browser の起動時に自動的に読み込まれ、起動オプションとして有効になります。これでデスクトップのメニューやランチャーのアイコンからクリック起動した場合も含めた、システム全体でオプションが有効となります。

ちなみにX11環境では–-gtk-version=4というオプションは付加されないように設定していますので、X11とwayland環境の両方を使いたいユーザーにも安心です。

新たな問題: サジェスト・ウインドウがテキスト入力フォームに重なって使いづらい

ここから先は、wayland環境(wayfire or labwc)で、日本語設定が終わっており、chromium以外では日本語入力ができる状態であることを前提とします。まだ日本語を設定していない方は、以前の記事(特に「追記」に注意)等を参考に日本語の設定を行ってください。なお、wayfire or labwcへの切り替えは sudo raspi-configで Advanced Options > Wayland で行えます。

上記で説明した/etc/chromium.dへのファイルの追加だけで、日本語入力は一応可能となるのですが、素の設定のmozcではサジェスト機能が邪魔で使いにくい場合があります。

ラズパイbookwormのwayland環境のchromiumで日本語を入力する。サジェストウインドウがフォームに重なって、入力しづらい。
ラズパイbookwormのwayland環境のchromiumで日本語を入力する。サジェストウインドウがフォームに重なって、入力しづらい。

タイミングによっては割とうまくウインドウが出てくれる場合もあり、気にならない人には気にならないかもしれませんが、とにかく --gtk-version=4 オプションで出てくる変換関係のポップアップウインドウの位置はうまく調整できていないようです。

解決策: mozcの設定でサジェストをオフにする

対策として、mozcのサジェスト機能をオフにします。

メインメニュー > 設定 > Mozcの設定 > サジェスト

と移動して、2つのサジェスト機能をオフに設定してください。

ラズパイbookwormのmozc設定画面。サジェストをオフにして、chromiumへ入力しやすくする。
ラズパイbookwormのmozc設定画面。サジェストをオフにして、chromiumへ入力しやすくする。

サジェストをオフにして、日本語入力してみた画面がこちら。

ラズパイbookwormのchromiumで日本語入力中。サジェストをオフにして入力を簡単にした。
ラズパイbookwormのchromiumで日本語入力中。サジェストをオフにして入力を簡単にした。
ラズパイbookwormのchromiumで日本語入力に成功。ついに念願のwayland chromiumでの日本語入力が可能になった!
ラズパイbookwormのchromiumで日本語入力に成功。ついに念願のwayland chromiumでの日本語入力が可能になった!

無事、日本語入力ができるようになりましたね!

なお、waylandの話から少しそれますが、fcitx5の設定(トップバーの言語アイコンを右クリック > 設定)のグローバルオプションで「第一入力メソッドの情報を表示する」をオフにすると、日本語に切り替えた場合だけ言語切り替え表示が出るように設定できます。好みによるのですが、こちらのほうが使いやすい方も多いのではないでしょうか。ポップアップ出現の頻度も僅かながら下がりますから、chromiumで日本語を入力する場合と相性も良いと思います。

(制限つきではあるけど)念願のwayland chromiumでの日本語入力に成功!

私は携帯ではサジェスト機能をよく使いますが、PCではキーボードをガンガン叩きたい派でして。中途半端な変換が目に入るとむしろ気が散るので、PCの変換サジェスト機能は使い始めの最初の3分で抹殺する機能だったりします。なので、今回の設定は私にとっての最適解と言えます。

サジェスト命というユーザーだと今回の設定では不満が残るでしょう。根本的な解決はchromium(というかgoogle chrome)がtext-input-v3というwaylandのテキスト入力プロトコルに対応する必要があるのですが、その可能性は低いようです(こちらを参照)。waylandのこのあたりの対応はゴテゴテで、「linuxはこれだから…」と恨み節を言いたくなる気持ちは、私としても否めません。

試しに、サジェスト・オンで少し作業をしてみましたが、そこまで邪魔にはならない感じではありましたので、サジェスト命の方も–-gtk-version=4オプションは試してみる価値があるかと思います。

最初に書きました通り、今回の話の元ネタは こちら です。去年に紹介した段階では本家debianのchromiumだけで–-gtk-versionのオプションが動いたという話でした。ただ、debian chromiumとラズパイ側でチューンされたchromiumの性能を比べると、その違いは大きいように感じられ、その時はラズパイchromiumからdebian chromiumに移行する勇気は出ませんでした。しかしこの問題は、ラズパイ側が–-gtk-versionに対応してくれたことで自然解決しました。

もう一つの問題がサジェスト・ウインドウでした。最初に、テスト環境のRPi OS(サジェストはオン)でdebian chromiumを–-gtk-versionで動かした際に発生したサジェスト・ウインドウを見て、「これは少し私には苦しい」と諦めていたのです。ただ、数日前にラズパイchromiumで–-gtk-versionが使えることを知ってから、普段使いの環境(サジェストは切っている)で、ラズパイchromiumを–-gtk-versionで起動した所、何の問題なく使えたので「あれ〜?なんで〜?」となりました。

そういう顛末で2つの問題が解決し、私の中では

これで行ける!

という確信に達しました。それが今回の話をブログにまとめた理由です。

waylandへの道

「行ける」というのは、X11からwaylandへの移行です。

linuxに限らずwindowsやmacを使う場合でも同じなのですが、あるコンピュータ環境を与えられた場合、「自分にはこれだけは必要だ」という必須項目が私にはいくつかあり、それが満たされない場合は、OSをカスタマイズして、自分でなんとかそれを捻出しようとします。

ラズパイのwayland環境(特にwayfire)は、デフォルトでは相当に使いづらい(alt-tabなどは絶望的)なのですが、ちょっとカスタマイズしてやるだけで、そこそこ使えるようになります。そうやって「私ならこうする」というものの積み重ねを記事にするというのが、本ブログの方向性のひとつです。

その中でも「chromiumで日本語入力できない問題」は厄介で、最強のラスボスと化していたのです。しかし、それもついに解決しました。つまりwayland移行へのピースのほぼ全てがようやく揃ったと言えます。

ではwayfireに明日移行するか? という話なのですが…、どうやらラズパイのwayland環境はwayfireではなくlabwcに向かっていくようです(こちらを参照) wayfireはデフォルトではいろいろ使いづらいため、その対処法をこれまでブログにさんざんまとめてきたのです。それが急にlabwcに変更されるというのですから「今までwayfireにかけてきた私の時間を返せよ」と言いたいところがそこそこにあります。そうわけで、wayfireにこれ以上の時間をかけるのはどうなんだろうと考えています。

ではlabwcに移行できるかというと、これは時期尚早でしょう(これから正式なデスクトップになるまでに、相当な修正が入ることが予想される)。ここは、前回のブログで紹介した X11, wayfire, labwc環境の一発切り替えコマンドを使って、様子をたまに見ながら移行の時期を見守るのがよいのかなーと思っています。

様子見といいながら、いつの間にかずるずるとlabwcに移行していきそうな気もしますね…(笑)。youtubeなどの動画はwaylandのほうがちらつきが少なくて疲れない印象があります。この印象はただのプラシーボじゃないかとも思うのですが、とにかく何かの理由でwaylandを使う時間が増えて行けば、X11に戻るのが面倒くさくなる日が自然と訪れるかもしれません。

とにかく、

本ブログにおけるchromiumの呪縛は
本日ついに終了

しました。とはいえ、またすぐに--gtk-version=4が使えなくなるとかいうのだけは勘弁してください >ラズパイさん

コメント

タイトルとURLをコピーしました