必要都度稼働とは言え、6年ほど安定稼働、ヘッドレスで他マシンからsshやVNCしているarmhfな32ビットRaspberry Pi 2B/Raspbian(システムはSSD+NASとしてHDD)サーバで、ある日突然、VNC越しでの日本語入力が不能になり、fcitx5-mozcからibus-kkcに変更対処して解決した話。
あれから約半年、VNC経由での日本語入力はせず、滅多にない必要な時は、ホスト側のテキストエディタで書いてリモート側のアプリにコピーしたりしてました。
そんな折、今日、ホスト側のラズパイ400とリモート側のラズパイ2BをRaspberry Pi OS BullseyeからBookwormへアップグレード。
XorgからWaylandへの移行過渡期ゆえか、VNC経由だとウィンドウが不完全になったりした為、ssh -X リモートでリモート側のアプリをホスト側ディスプレイを使って端末からコマンドラインで起動させるも日本語入力できないのは同じ...。
が、Waylandデスクトップ用に、waypipeをインストールの上、waypipe ssh -Xとしてアプリ起動したからなのか、リモート側がibus-mozcでもfcitx5-mozcでも日本語入力できました...。
これってホスト側の日本語入力機能?それに加えて?該当がないのかメニューアイコンが適用されていない感じといい、背景画像以外、見た目には同じに見えましたが、リモート側で起動していたデスクトップが実は、Waylandベースのデスクトップ(wayfire-pi)になっていてwaypipe ssh -Xしたから日本語入力できるようになった?
よくわかりませんが、作業としては、なぜか、今日になって、なぜ何年にも渡ってそうしてこなかったのかと後悔するほど、VNCより、ssh -Xの方が、かなりものすごく超スペシャルウルトラスーパー圧倒的に楽だと実感できたこともあり、一応解決ということで。
ホストもリモートも何れもWaylandデスクトップで、かつ、ibus-mozcの場合、日本語入力できました。
ホストとリモートで入力設定・日本語アプリ(ibus-mozc、fcitx5-mozc...etc)が異なる場合については、未検証。
具体的には、waypipe ssh -X リモートとしてssh接続後、そのままコマンドライン上で、もしくはpluma(など日本語入力可能なアプリ)を起動して、または、 waypipe ssh -X リモート plumaなどとして、直接リモート上のplumaをそのままホスト端末上で起動するなどして日本語入力。
ちなみに一方が、少なくともホスト側がXorgベースのデスクトップでも相互にwaypipeをインストールしてあれば、waypipe ssh -X リモートとしてもssh接続自体は可能ですし、その後、GUIアプリもホストモニタ上で起動はしますが、日本語入力はできませんでした。
更に、と思いきや、また、何をしてもfcitx5-mozcで日本語入力できなくなり...。
いろいろやってみたものの、解決できず、放置...。
と思いきや、今度は、何をしてもibus-kkcで日本語入力できなくなり、fcitx5-mozcに戻したところ、解決...。
このことからすると、どうやらRaspberry Pi OSに起因するっぽい?
尚、本件、追記を失念しており、気づいて対処したのは、1〜2ヶ月前だったかと...。
BSD*/PC-UNIX/Linux erになった当初、入力メソッドフレームワークSCIMやiBusと日本語変換ソフトAnthyを使っていましたが、後にfcitxの存在を知り、いつしか、mozcとの組み合わせで使うようになり、その後、fcitx5とmozcに移行して使っていました。
Fcitxは隣の大陸系だった気がしてFcitxも、また、GAFAM敬遠がちな自身にとってMozcは憚られましたが、SCIM、iBusやAnthyより更に優れている気がして、折れた恰好でした。
が、ここに来てFcitx5-Mozcの日本語変換が急に使えなくなったことに気づきました。
サーバですから、基本、サーバ上での日本語入力作業はないのですが、サーバと言いつつ、メールクライアントを共有していたりするのでメールの返信などでは入力が必要となり、確かにできていたのに。
というわけでメニューから入力メソッド(im-config)を起動してみると[Current automatic Choice]が[ibus]に。
[fcitx5]にすべく、設定をしても変わらなかったり、[fcitx]になっていたり。
他方、メニューから[Fcitx5の設定]をしても「fcitx5が実行されていません。起動しますか?」的なメッセージ付きポップアップ、[OK]しても、また...の繰り返し。
その際、追加する側・される側共にリストがカラの時とそうでないときがあったり...。
そこで[fcitx5]以外をアンインストールすべく、ibus-*とfcitx-*をapt purge、ログアウト・再ログインしたところ、当該箇所含め、[fcitx5]にはなりました...。
が、一向に日本語入力の切り替えができない...。
もちろん、[半角/全角]キー以外にも[Ctrl]+[space]などで、また、端末やGUIテキストエディタを起動して入力切り替えを試してみてもダメ。
システムトレイ上にinput method類のアイコンもない、LXDEでは?デスクトップ上で右クリックした設定に、それらしい設定項目もない。
メニューを辿っても[キーボードとマウス]はあるも[キーボード]がない...。
こりゃ、fcitx5-mozcのバグかなんかっしょ。
ということでapt purge fcitx5-*した後、apt install ibus-kkc、一応、im-configでibusに設定、マシン起動時にiBusデーモンを起動させるべく、~/.xinitrc(なければ/etc/X11/xinit/xinitrcからcp)当該ユーザーだけなら~/.config/lxsession/LXDE/autostart(システム全体なら/etc/xdg/lxsession/LXDE/autostart)に[ibus-daemon -drxR]を追記、再ログイン、または再起動。
試してみたら、最初こそ、なぜかタイムラグがあり、あれ?ダメか?と思いきや、端末でもLeafpadなどでも日本語入力できるようになりましたとさ。
ちなみにlxsession-edit(自動起動するアプリ)は入っているものの、Menu Editorにはなく、端末から起動してみるとlxsession-editには、ibusやfcitx5などのデーモンがなく、追加機能自体なかったのでautostartファイルに書くことにしました。
めでたし、めでたし。
入力メソッドのパネル上で全て必要行が[fcitx5]になった時点なら、fcitx5-mozcでも同様にいけたのかもしれないと思いますし、しばらく使ってみるとibus-kkcの変換は微妙な気もしていますが、このままibus-kkcでいこうと思います。
それにしても日本語変換ソフト、anthyやmozcだけじゃなく、kkcやskkという選択肢も増えたんですねっていうか、前からあった?
不幸中の幸いか、iBus含め、様子を見て良いようなら、これを期にFcitx5やMozcから移行しよっと。