From 4f9349bad42cd440e38bbf12ae07f0acf3620442 Mon Sep 17 00:00:00 2001 From: togatoga Date: Tue, 24 Feb 2026 18:56:36 +0900 Subject: [PATCH 1/6] hotfix for install local --- karukan-im/README.md | 45 ++++++++++++++++++++------- karukan-im/install-local.sh | 61 ------------------------------------- 2 files changed, 34 insertions(+), 72 deletions(-) delete mode 100755 karukan-im/install-local.sh diff --git a/karukan-im/README.md b/karukan-im/README.md index f50bc3f..171de10 100644 --- a/karukan-im/README.md +++ b/karukan-im/README.md @@ -36,22 +36,45 @@ fcitx5 -r ### Build & Install (ユーザーローカル) -> [!WARNING] -> 環境変数 `FCITX_ADDON_DIRS` がローカルパスのみに上書きがされてしまい正しくfcitx5が動作しなくなる可能性があります。こちら修正中のため、現状ではシステムインストールもしくは手動で `FCITX_ADDON_DIRS` を設定する方法を推奨します。 -> https://github.com/togatoga/karukan/issues/6 +`~/.local` にインストールします。sudo 不要ですが、`FCITX_ADDON_DIRS` の手動設定が必要です。 -`~/.local` にインストールします。sudo 不要です。ビルド・インストール・設定ファイルのコピー・`FCITX_ADDON_DIRS` の設定をまとめて行います。 +```bash +cd karukan-im/fcitx5-addon +cmake -B build -DCMAKE_INSTALL_PREFIX=$HOME/.local +cmake --build build -j +cmake --install build +``` + +ローカルインストールの場合、fcitx5 がアドオンを見つけられるように `FCITX_ADDON_DIRS` を設定する必要があります: ```bash -./install-local.sh +export FCITX_ADDON_DIRS=$HOME/.local/lib/fcitx5:$(pkg-config --variable=libdir Fcitx5Core)/fcitx5 +``` + +上記をシェルのプロファイル(`~/.bashrc`、`~/.zshrc` 等)に追加してください。 + +```bash +fcitx5 -r -d +``` + +ログに `Loaded addon karukan` が表示されることを確認してください: + +``` +I2026-02-24 22:57:54.252982 addonmanager.cpp:195] Loaded addon karukan ``` -スクリプトは以下を行います: -- `~/.local` に fcitx5 アドオンをビルド・インストール -- `~/.config/environment.d/fcitx5-karukan.conf` を作成(`FCITX_ADDON_DIRS` の設定) -- `~/.config/karukan-im/config.toml` にデフォルト設定をコピー(既存の場合はスキップ) -- `~/.local/share/karukan-im/user_dicts/` にデフォルトユーザー辞書をコピー(既存の場合はスキップ) -- fcitx5 を再起動 +> **WARNING**: 以前のバージョンの `install-local.sh` を使用した場合、`~/.config/environment.d/fcitx5-karukan.conf` にシステムパスを含まない `FCITX_ADDON_DIRS`(例: `FCITX_ADDON_DIRS=/home/user/.local/lib/fcitx5`)が設定されている可能性があります。このファイルが残っていると fcitx5 のシステムアドオンが見つからなくなり、以下のようなエラーが発生します: +> +> ``` +> E addonloader.cpp:32] Could not locate library libwayland.so for addon wayland. +> E addonloader.cpp:32] Could not locate library libclassicui.so for addon classicui. +> ``` +> +> この場合はファイルを削除した上でログアウト(または再起動)してください: +> +> ```bash +> rm ~/.config/environment.d/fcitx5-karukan.conf +> ``` インストール後、fcitx5-configtool(Fcitx Configuration)を開き、右側の「Available Input Method」で「karukan」を検索して「Karukan」を左側に追加してください。 diff --git a/karukan-im/install-local.sh b/karukan-im/install-local.sh deleted file mode 100755 index 08cd2d6..0000000 --- a/karukan-im/install-local.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash -# -# karukan ローカルインストールスクリプト -# ~/.local にインストールし、fcitx5 の設定を行います。sudo 不要。 -# -set -euo pipefail - -REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)" -ADDON_DIR="$REPO_ROOT/karukan-im/fcitx5-addon" -CONFIG_DIR="$REPO_ROOT/karukan-im/config" -PREFIX="$HOME/.local" - -# --- Build --- -echo "==> Building karukan-im fcitx5 addon..." -cmake -B "$ADDON_DIR/build" -DCMAKE_INSTALL_PREFIX="$PREFIX" "$ADDON_DIR" -cmake --build "$ADDON_DIR/build" -j - -# --- Install --- -echo "==> Installing to $PREFIX ..." -cmake --install "$ADDON_DIR/build" - -# --- FCITX_ADDON_DIRS (environment.d) --- -ENV_DIR="$HOME/.config/environment.d" -ENV_FILE="$ENV_DIR/fcitx5-karukan.conf" -mkdir -p "$ENV_DIR" -if [ ! -f "$ENV_FILE" ]; then - cat > "$ENV_FILE" << 'EOF' -FCITX_ADDON_DIRS=${HOME}/.local/lib/fcitx5 -EOF - echo "==> Created $ENV_FILE" -else - echo "==> $ENV_FILE already exists, skipping" -fi -export FCITX_ADDON_DIRS="$HOME/.local/lib/fcitx5" - -# --- Config --- -KARUKAN_CONFIG_DIR="$HOME/.config/karukan-im" -if [ ! -f "$KARUKAN_CONFIG_DIR/config.toml" ]; then - mkdir -p "$KARUKAN_CONFIG_DIR" - cp "$CONFIG_DIR/default.toml" "$KARUKAN_CONFIG_DIR/config.toml" - echo "==> Copied default config to $KARUKAN_CONFIG_DIR/config.toml" -else - echo "==> $KARUKAN_CONFIG_DIR/config.toml already exists, skipping" -fi - -# --- User dictionary --- -USER_DICT_DIR="$HOME/.local/share/karukan-im/user_dicts" -if [ ! -d "$USER_DICT_DIR" ] || [ -z "$(ls -A "$USER_DICT_DIR" 2>/dev/null)" ]; then - mkdir -p "$USER_DICT_DIR" - cp "$CONFIG_DIR/default_user_dict.txt" "$USER_DICT_DIR/default.txt" - echo "==> Copied default user dictionary to $USER_DICT_DIR/default.txt" -else - echo "==> $USER_DICT_DIR already has files, skipping" -fi - -# --- Restart fcitx5 --- -echo "==> Restarting fcitx5..." -fcitx5 -r -d 2>/dev/null || true - -echo "" -echo "Done! fcitx5-configtool で Karukan を追加してください。" From 1864141f0cf085ed760e213d8e5e7ba5a66cc614 Mon Sep 17 00:00:00 2001 From: togatoga Date: Tue, 24 Feb 2026 23:06:33 +0900 Subject: [PATCH 2/6] Update README.md --- karukan-im/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/karukan-im/README.md b/karukan-im/README.md index 171de10..d0bbf4c 100644 --- a/karukan-im/README.md +++ b/karukan-im/README.md @@ -63,9 +63,11 @@ fcitx5 -r -d I2026-02-24 22:57:54.252982 addonmanager.cpp:195] Loaded addon karukan ``` -> **WARNING**: 以前のバージョンの `install-local.sh` を使用した場合、`~/.config/environment.d/fcitx5-karukan.conf` にシステムパスを含まない `FCITX_ADDON_DIRS`(例: `FCITX_ADDON_DIRS=/home/user/.local/lib/fcitx5`)が設定されている可能性があります。このファイルが残っていると fcitx5 のシステムアドオンが見つからなくなり、以下のようなエラーが発生します: +> [!WARNING] +> 以前のバージョンの `install-local.sh` を使用した場合、`~/.config/environment.d/fcitx5-karukan.conf` にシステムパスを含まない `FCITX_ADDON_DIRS`(例: `FCITX_ADDON_DIRS=/home/user/.local/lib/fcitx5`)が設定されている可能性があります。このファイルが残っていると fcitx5 のシステムアドオンが見つからなくなり、以下のようなエラーが発生します: > > ``` +> fcitx5 -rd > E addonloader.cpp:32] Could not locate library libwayland.so for addon wayland. > E addonloader.cpp:32] Could not locate library libclassicui.so for addon classicui. > ``` From adbae23209505b5acdc40bfc291630c636264df6 Mon Sep 17 00:00:00 2001 From: togatoga Date: Tue, 24 Feb 2026 23:08:14 +0900 Subject: [PATCH 3/6] Update README.md --- karukan-im/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/karukan-im/README.md b/karukan-im/README.md index d0bbf4c..2a29e7e 100644 --- a/karukan-im/README.md +++ b/karukan-im/README.md @@ -49,8 +49,13 @@ cmake --install build ```bash export FCITX_ADDON_DIRS=$HOME/.local/lib/fcitx5:$(pkg-config --variable=libdir Fcitx5Core)/fcitx5 +echo $FCITX_ADDON_DIRS +# 以下のようにローカルとシステムの両方のパスが表示されればOK +/home/togatoga/.local/lib/fcitx5:/usr/lib/x86_64-linux-gnu/fcitx5 + ``` + 上記をシェルのプロファイル(`~/.bashrc`、`~/.zshrc` 等)に追加してください。 ```bash From bf2acadd182bbb5f9336fa0154a2e59a65a2e50d Mon Sep 17 00:00:00 2001 From: togatoga Date: Tue, 24 Feb 2026 23:14:06 +0900 Subject: [PATCH 4/6] Update README.md --- karukan-im/README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/karukan-im/README.md b/karukan-im/README.md index 2a29e7e..3a51a0f 100644 --- a/karukan-im/README.md +++ b/karukan-im/README.md @@ -89,7 +89,17 @@ I2026-02-24 22:57:54.252982 addonmanager.cpp:195] Loaded addon karukan ![Karukanを追加した状態](images/fcitx5-karukan-added.png) -> **Note**: 初回起動時にHuggingFaceからGGUFモデルを自動ダウンロードするため、起動に数分かかる場合があります。2回目以降はキャッシュ済みのモデルが使われます。 +> **Note**: 初回起動時にHuggingFaceからGGUFモデル(GGUF + tokenizer)を自動ダウンロードするため、起動に数分かかる場合があります。ダウンロード中はfcitx5のログに以下のような進捗が表示されます: +> +> ``` +> I2026-02-24 23:12:12.651828 addonmanager.cpp:195] Loaded addon karukan +> jinen-v1-small-Q5_K_M.gguf [00:00:05] [████████████████████████] 84.39 MiB/84.39 MiB 7.89 MiB/s (0s) +> tokenizer.json [00:00:00] [████████████████████████████████] 1.95 MiB/1.95 MiB 6.45 MiB/s (0s) +> jinen-v1-xsmall-Q5_K_M.gguf [00:00:02] [████████████████████████] 29.73 MiB/29.73 MiB 9.15 MiB/s (0s) +> tokenizer.json [00:00:00] [████████████████████████████████] 1.95 MiB/1.95 MiB 8.12 MiB/s (0s) +> ``` +> +> ダウンロードが完了するまで変換機能は使用できません。2回目以降はキャッシュ済みのモデルが使われるため、すぐに起動します。 ## Key Bindings From 07320d7f0b7cc70d173f0bbcae52c78ad6a1a187 Mon Sep 17 00:00:00 2001 From: togatoga Date: Tue, 24 Feb 2026 23:15:13 +0900 Subject: [PATCH 5/6] Update README.md --- karukan-im/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/karukan-im/README.md b/karukan-im/README.md index 3a51a0f..a0c5118 100644 --- a/karukan-im/README.md +++ b/karukan-im/README.md @@ -89,7 +89,8 @@ I2026-02-24 22:57:54.252982 addonmanager.cpp:195] Loaded addon karukan ![Karukanを追加した状態](images/fcitx5-karukan-added.png) -> **Note**: 初回起動時にHuggingFaceからGGUFモデル(GGUF + tokenizer)を自動ダウンロードするため、起動に数分かかる場合があります。ダウンロード中はfcitx5のログに以下のような進捗が表示されます: +> [!NOTE] +> 初回起動時にHuggingFaceからGGUFモデル(GGUF + tokenizer)を自動ダウンロードするため、起動に数分かかる場合があります。ダウンロード中はfcitx5のログに以下のような進捗が表示されます: > > ``` > I2026-02-24 23:12:12.651828 addonmanager.cpp:195] Loaded addon karukan From cdadd7ee1a58787c0702ce037a5828874fe3fa81 Mon Sep 17 00:00:00 2001 From: Hitoshi Togasaki Date: Tue, 24 Feb 2026 23:19:11 +0900 Subject: [PATCH 6/6] Update README.md --- karukan-im/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/karukan-im/README.md b/karukan-im/README.md index a0c5118..c83cd5f 100644 --- a/karukan-im/README.md +++ b/karukan-im/README.md @@ -69,7 +69,7 @@ I2026-02-24 22:57:54.252982 addonmanager.cpp:195] Loaded addon karukan ``` > [!WARNING] -> 以前のバージョンの `install-local.sh` を使用した場合、`~/.config/environment.d/fcitx5-karukan.conf` にシステムパスを含まない `FCITX_ADDON_DIRS`(例: `FCITX_ADDON_DIRS=/home/user/.local/lib/fcitx5`)が設定されている可能性があります。このファイルが残っていると fcitx5 のシステムアドオンが見つからなくなり、以下のようなエラーが発生します: +> 以前のバージョンで `install-local.sh` を使用した場合、`~/.config/environment.d/fcitx5-karukan.conf` にシステムパスを含まない `FCITX_ADDON_DIRS`(例: `FCITX_ADDON_DIRS=/home/user/.local/lib/fcitx5`)が設定されている可能性があります。このファイルが残っていると fcitx5 のシステムアドオンが見つからなくなり、以下のようなエラーが発生します: > > ``` > fcitx5 -rd