2月 062025
 

kde.org から KDE6 がリリースされて、FreeBSD では長らくベータ版だったのですが、いよいよ 2025/2/3 に、ports-current に降ってきました。以前「FreeBSD に KDE5 が降ってきた。」と書いたのは 2018 年 5 月で、その間ずっと KDE5 と Plasma5 を使っていたのですが、今回、めでたくバージョンアップです。

今回は KDE5+Plasma5 から KDE6+Plasma6 へのバージョンアップ編として書いてみたいと思います。

KDE5 から KDE6 へのバージョンアップについては、以下の項目に付いて重点的に考慮しつつインストールしてみたいと思います。

  • QT5 との決別
  • fcitx は 4 系から fcitx5 へ移行
  • fcitx5 への移行に伴う mozc のバージョンアップ

内容が似ているようないないような雰囲気ですが、簡単に説明すると、そもそも KDE6+Plasma6 になると QT5 が不要になり、 KDE6+Plasma6 は QT6 へ移行していきます。また、QT5 と QT6 では qt アプリケーションの中でも同居できないモノがあり conflift が発生するので QT6 への移行は必須となります。

QT5 を使っているアプリケーションが色々あるよなぁ。と、思うのですが、上記でいうと mozc-tools が QT5 を利用しているので、これを QT6 を利用しているバージョンに移行する必要があります。するっていと、 fcitx は 4 系から fcitx5 へ移行。と、なります。

では実際にインストールしてみます。環境としましては、 FreeBSD/amd64 14.2-RELEASE において、現在、 KDE5+Plasma5 がインストールされている状態のところに ports から x11/kde をインストールするところから始めます。

次に fcitx5 をインストールして、最後に mozc をインストールして、環境を整えます。

 

1. kde6 のインストール
まず、その前に不要なものを削除しましょうか。

# pkg delete kde5-5.27.11.23.08.5_2
# pkg delete ja-fcitx-mozc-2.23.2815.102.01_25 ja-mozc-el-2.23.2815.102.01_25 ja-mozc-server-2.23.2815.102.01_25 ja-mozc-tool-2.23.2815.102.01_25
# pkg delete fcitx-qt5-1.2.7 zh-fcitx-4.2.9.9 zh-fcitx-configtool-0.4.9_2
# pkg delete sddm
# pkg autoremove
#
# pkg info | grep qt5- | awk '{print "pkg delete -fy " $1}' | sh -x
# pkg info | grep kf5- | awk '{print "pkg delete -fy " $1}' | sh -x
# pkg info | grep plasma5- | awk '{print "pkg delete -fy " $1}' | sh -x
#
# cd /usr/ports/x11/kde
# make install
# cd /usr/ports/x11/sddm
# make install
#

 
大体こんな感じでしょうか。そして、そのあと x11/kde をインストールします。
一点気をつけるのが x11/plasma6-plasma の make config のオプションです。

下の「Install Plasma 6 integration plugins for Qt5 applications」にチェックを付けてコンパイルすると、ドドドと QT5 関係のソフトウェアが入ってしまいます。なので、チェックは外したほうが良いです。
それにしても、ここからインストールされる qt アプリはどうして QT5 と QT6 で conflict を起こさないのだろう・・。不思議だ。

まぁ、速いマシンで約半日。と、いう感じでしょうか。

まっさらな状態から KDE6+Plasma6 をインストールするときは素直に下の二つの make install を叩けば良いでしょう。

 
インストールが完了した KDE6 と、以前利用していた KDE5 との違いはあまり感じられません。まぁ、themes で色々カスタマイズしているしているので、それはそれで今まで利用していた自分の環境が引き継がれるかと思います。
ただ、QT5 から QT6 になった関係で themes やアイコンが引き継がれない場合があるので、その場合は「ソフトウェアセンター」再インストールしましょう。

KDE6+Plasma6 になって一番変わったのは「設定」アプリでしょうか。左側の並び順がごそっと変わりました。一番上に[入力/出力デバイス]が来て、[接続されたデバイス]とか、[外観とスタイル]は結構下に移動しました。

あとは、現在動作確認中です。特に問題なく動作しています。

 

2. fcitx5 のインストール
次に日本語入力である fcitx5 をインストールします。 fcitx の 4 系は今までは ports では chinese/fcitx にありましたが fcitx5 では textproc/fcitx5 になります。 textproc/ の下に fcitx5 関連のものが色々入っているのでこちらをインストールします。

# cd /usr/ports/textproc/fcitx5
# make install
# cd ../fcitx5-qt
# make FLAVOR=qt6 install 
# cd ../fcitx5-gtk
# make install
# cd ../fcitx5-m17n
# make install

 
こんな感じで OK です。 fcitx5-qt は FLAVOR=qt6 を指定して QT6 対応のものを作成します。
fcitx5-gtk は Firefox や Thunderbird など GTK アプリで日本語入力をする場合に必須ですので、インストールします。 falkon などは QT6 アプリなので fcitx5-gtk は不要で日本語入力ができます。
GTK アプリで日本語入力する場合は環境変数が多少変わりました。以下のように指定すると良いでしょう。

export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

 
GTK_IM_MODULE は、多分今まで xim と指定していたかと思いますが、 fcitx5 からは fcitx と指定してください。これで Firefox でも日本語が打てるようになります。

 
fcitx5 を利用していて、もうひとつ困るのが設定についてです。KDE6 のパネルにウィジェットとして「入力メソッドパネル」を追加すると、日本語キーボードと mozc の切り替え、または動作モードが表示されますが、「インプットメソッドを設定」で fcitx5 のオン/オフやキーバインドの設定をするのですが、これには textproc/fcitx5-configtool が必要になります。がっ!! しかし、 textproc/fcitx5-configtool をコンパイルすると QT5 のファイルがドドドとインストールされてしまいます。で、QT6 のファイルと conflict が発生します。結構痛い・・。

一時的に textproc/fcitx5-configtool をインストールして、fcitx5 の設定が完了したらサクっと、 textproc/fcitx5-configtool を pkg delete して、かつ、 pkg autoremove して conflict した QT6 のアプリを再インストールするのが良いかと思われます。

 
fcitx5-configtool で設定した情報は ~/.config/fcitx5/config の設定ファイルとして保存されます。と、いうことは、このファイルを使い回せば大丈夫なわけですね。

せっかくなので、ここに僕のを貼り付けておきましょう。

[Hotkey]
# トリガーキーを押すたびに切り替える
EnumerateWithTriggerKeys=True
# 次の入力メソッドに切り替える
EnumerateForwardKeys=
# 前の入力メソッドに切り替える
EnumerateBackwardKeys=
# 切り替え時は第1入力メソッドをスキップする
EnumerateSkipFirst=False

[Hotkey/TriggerKeys]
0=Shift+space
1=Henkan
2=Muhenkan

[Hotkey/AltTriggerKeys]
0=Shift_L

[Hotkey/EnumerateGroupForwardKeys]
0=Super+space

[Hotkey/EnumerateGroupBackwardKeys]
0=Shift+Super+space

[Hotkey/ActivateKeys]
0=Hangul_Hanja

[Hotkey/DeactivateKeys]
0=Hangul_Romaja

[Hotkey/PrevPage]
0=Up

[Hotkey/NextPage]
0=Down

[Hotkey/PrevCandidate]
0=Shift+Tab

[Hotkey/NextCandidate]
0=Tab

[Hotkey/TogglePreedit]
0=Control+Alt+P

[Behavior]
# デフォルトで有効にする
ActiveByDefault=False
# フォーカス時に状態をリセット
resetStateWhenFocusIn=No
# 入力状態を共有する
ShareInputState=No
# アプリケーションにプリエディットを表示する
PreeditEnabledByDefault=True
# 入力メソッドを切り替える際に入力メソッドの情報を表示する
ShowInputMethodInformation=True
# フォーカスを変更する際に入力メソッドの情報を表示する
showInputMethodInformationWhenFocusIn=False
# 入力メソッドの情報をコンパクトに表示する
CompactInputMethodInformation=True
# 第1入力メソッドの情報を表示する
ShowFirstInputMethodInformation=True
# デフォルトのページサイズ
DefaultPageSize=5
# XKB オプションより優先する
OverrideXkbOption=False
# カスタム XKB オプション
CustomXkbOption=
# Force Enabled Addons
EnabledAddons=
# Force Disabled Addons
DisabledAddons=
# Preload input method to be used by default
PreloadInputMethod=True
# パスワード欄に入力メソッドを許可する
AllowInputMethodForPassword=False
# パスワード入力時にプリエディットテキストを表示する
ShowPreeditForPassword=False
# ユーザーデータを保存する間隔(分)
AutoSavePeriod=30

 

以上で fcitx5 のインストールは終わりです。

ただ、fcitx5 を利用するようになると、今度は japanese/fcitx-mozc が利用できなくなります。 japanese/fcitx-mozc を利用しなくなるので合わせて japanese/mozc-server も利用しなくなります。と、いうことで fcitx5 に対応した fcitx5-mozc 利用することになるのであります。

と、いうことで次へ。

 

3. fcitx5-mozc のインストール
FreeBSD-users-jp な ML でも何回か投稿がありました。ports-current の fcitx-mozc の mozc のバージョンは ja-fcitx-mozc-2.23.2815.102.01_25 ですが、 fcitx5 に対応した mozc は ja-fcitx5-mozc-2.31.5712.102_6 という、先進的なバージョンになります。

まずは、情報収集として以下の URL を確認します。

https://lists.freebsd.org/archives/freebsd-users-jp/2024-July/000379.html
https://github.com/kdeguchi/mozc-ports

 
では、インストール手順ですが、まず上の URL の github.com から mozc-ports-main.zip をダウンロードして展開し /usr/ports/ 配下に設置します。

# wget https://github.com/kdeguchi/mozc-ports/archive/refs/heads/main.zip -O mozc-ports-main.zip
# unzip mozc-ports-main.zip
# cp -pr mozc-ports-main/mozc-ports /usr/ports/
# cd /usr/ports/mozc-ports/japanese/
# ls 
fcitx-mozc/   fcitx5-mozc/  ibus-mozc/    Makefile.inc  mozc-el/      mozc-server/  mozc-tool/    uim-mozc/

 
こんな感じです。で、/etc/make.conf に一行追加します。

# fcix5-mozc compile
OVERLAYS+=/usr/ports/mozc-ports

 

これで準備が整いました。コンパイルしていきます。
ちなみに mozc は最新版です。 mozc-ports/devel/bazel8 も合わせてインストールされて openjdk18 など java 関係のごついのが色々インストールされます。コンパイルにそれなりの時間がかかります。

# 
# cd /usr/ports/mozc-ports/japanese/fcitx5-mozc/
# make install
# cd ../mozc-server
# make install
# cd ../mozc-tool
# make install
# cd ../mozc-el
# make install
# 

 
コンパイルは時間はかかりますが、順調に進むと思います。 python3 が BUILD_DEPENDS と RUN_DEPENDS で必要になります。既存でインストールされている python3.11 などを /usr/local/bin/python3 へと symlink する lang/python3 がインストールされます。

無事にコンパイルできて、インストールして、使えるようになったでしょうか?

僕の場合は特に問題なく動作しましたが、ただ、一点。 mozc-el がダメで emacs 中で日本語が利用できなくなりました。どうも /usr/local/libexec/mozc_emacs_helper が起動されない雰囲気です。色々試したけどやっぱりダメで emacs-lisp 部分の /usr/local/share/emacs/29.4/site-lisp/mozc/* のファイルを ja-mozc-el-2.23.2815.102.01_25 の、つまりは japanese/mozc-el がインストールしたものと入れ替えたら無事に動作しました。入れ替えるファイルは emacs-lisp の部分のみなので、mozc のバージョンに引きずられることもなく、無事に動作して一安心。

 
とまぁ、これで KDE6+Plasma6 と QT6 がインストールされ、日本語入力もできるようになり KDE5+Plasma5 から KDE6+Plasma6 と QT6 への移行が完了しました。

ただ、残りほんの少し QT5 を利用しているアプリが存在します。その一つが sddm になります。おかげで deskutils/plasma6-sddm-kcm をインストールして themes を別のに選択しても反映されない。とかが起きています。
あと、 KDE 系とは直接関係ないですが、 vlc も QT5 のライブラリを利用しています。今のところ最後の QT5 利用アプリはこの二つ。 pkg info | grep qt5- | wc -l すると 16 となっています。

 
あ。KDE6+Plasma6 の Wayland についてちょっと触れておきます。 sddm から Plasma (Wayland) を指定してログインしてもすぐに sddm の画面に戻ってしまい、 Wayland では利用できません。
sddm でのログイン時のログは ~/.local/share/sddm/wayland-session.log に保存されているので確認することができます。僕の環境では以下のログが出力されていました。

kwin_core: Could not determine the active graphical session
kwin_wayland_drm: failed to open drm device at "/dev/dri/card0"
kwin_wayland_drm: No suitable DRM devices have been found

 
なんか、AMD CPU と、そこに搭載されているグラフィックチップでは Wayland が動作しないようです。 nVidia とか Intel なGPU なら動作するかもしれんです・・(g_g)。

 
と、いうことで、ほぼ完全に移行が完了しました。これからドンドン使い込んでいきたいと思います。
KDE については KDE5 のときもそうでしたが、時々パラパラっとエントリ書いていますので、もしかしたらまた書くかもです。

 
あ。 japanese/mozc-server あたりは最新の 2.31.5712.102 にならないのかな? (独り言)