その他の環境構築まとめはこちら
Claude Code 環境構築・運用Tipsまとめ
はじめに
Ubuntu 24 で Claude Code(ターミナル版)を使い始めたところ、素の状態では、ターミナルへの日本語入力がとにかく遅かったです。
キーボード連打しても反応せず、会話のテンポがずれて、ストレスが溜まる。せっかく、Claude Code用に、PC1台Ubuntuにセットし直したのに…。
ということで、ドラえもんなんとかしてー みたいにClaude Codeに相談したところ、 iBus + Mozc の組み合わせが原因では? とのこと。
そこから始まり、気になるところをClaude Codeに質問し続けて、結果的に ターミナル・フォント・シェルまわりも一気に更新しました。
やったことは以下のとおりです。今後のために、記載しておきます。
- 日本語入力を iBus + Mozc → Fcitx5 + Mozc に乗り換え
- ターミナルを GNOME Terminal → Alacritty に変更
- fontconfig で日本語フォント表示を安定させる
- Starship でプロンプトを見やすくする
- bash のヒストリ設定を強化する
環境
- Ubuntu 24.04.4 LTS (Noble Numbat)
- GNOME (Wayland)
- PC 12th Gen Intel Core i7-1265U / 16GB RAM
- 日本語109キーボード
1. 日本語入力を Fcitx5 + Mozc に乗り換え
Ubuntu 24.04 のデフォルトは iBus + Mozc ですが、これとWayland 環境の組み合わせでは入力遅延が目立ちます。Claude Code のようにターミナルで日本語を頻繁に打つ使い方だと、変換のもたつきがストレスになります。
そのため、日本語入力をFcitx5 + Mozcに変えました。
インストール
sudo apt install fcitx5 fcitx5-mozc
IME の切り替えと確認
im-config -n fcitx5
reboot
再起動後に確認します。
ps aux | grep fcitx | grep -v grep
echo $GTK_IM_MODULE
fcitx と表示されれば成功です。
Kimpanel 拡張のインストール(Wayland 必須・ハマりポイント)
GNOME Wayland 環境では Kimpanel がないと変換候補のポップアップが正しい位置に表示されません。が、Ubuntu 24.04 では apt にパッケージがない…。もたつきましたが、Extension Manager 経由でインストールしました。
sudo apt install gnome-shell-extension-manager
Extension Manager を起動 →「探す」タブ → kimpanel で検索 →「Input Method Panel」をインストール・有効化 → ログアウト・ログインで反映。
キーボードレイアウトの修正(ハマりポイント)
これもハマりました。Fcitx5 に切り替えた直後、半角/全角キーを押してもバックスラッシュが入力されるだけで日本語入力に切り替わりません。原因は Fcitx5 のデフォルトレイアウトが us になっているためでした。
システム側:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'jp')]"
Fcitx5 側:
Fcitx5 を起動したままプロファイルを編集すると上書きされる(これもハマった)ので、必ず停止してから変更します。
kill $(pidof fcitx5)
sed -i 's/Default Layout=us/Default Layout=jp/' ~/.config/fcitx5/profile
sed -i 's/Name=keyboard-us/Name=keyboard-jp/' ~/.config/fcitx5/profile
fcitx5 -d
2. ターミナルを Alacritty に変更
日本語環境を変えて楽になりましたが、なれるとまだ、動作がもっさりしていると気になってくる。で、GPU アクセラレーション対応のターミナル Alacritty に乗り換えました。
Alacritty のインストール
sudo apt install alacritty
Nerd Font のインストール
Alacritty はフォントを自前で指定する必要があります。アイコン表示(Starship 等)にも対応する JetBrains Mono Nerd Font を入れます。
wget -P /tmp https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz
mkdir -p ~/.local/share/fonts
tar -xf /tmp/JetBrainsMono.tar.xz -C ~/.local/share/fonts/
fc-cache -fv
確認します。
fc-list | grep "JetBrainsMono Nerd Font"
設定ファイル
Alacritty 0.13 以降は TOML 形式です。
mkdir -p ~/.config/alacritty
~/.config/alacritty/alacritty.toml:
[window]
padding = { x = 8, y = 8 }
opacity = 0.95
startup_mode = "Windowed"
[font]
size = 13.0
[font.normal]
family = "JetBrainsMono Nerd Font"
[font.bold]
family = "JetBrainsMono Nerd Font"
[font.italic]
family = "JetBrainsMono Nerd Font"
[scrolling]
history = 10000
[selection]
save_to_clipboard = true
[cursor.style]
shape = "Block"
blinking = "Off"
[keyboard]
bindings = [
{ key = "N", mods = "Control|Shift", action = "SpawnNewInstance" },
]
[mouse]
bindings = [
{ mouse = "Right", action = "Paste" },
]
各設定のポイント
| 設定 | 値 | 理由 |
|---|---|---|
opacity |
0.95 |
背後がわずかに透けて見える。集中しつつコンテキスト把握 |
padding |
x = 8, y = 8 |
端に文字が張り付かず読みやすい |
save_to_clipboard |
true |
テキスト選択するだけでクリップボードにコピー |
history |
10000 |
スクロールバックを十分に確保 |
startup_mode |
Windowed |
ウィンドウモードで起動 |
font.size |
13.0 |
13インチノートPC向け。環境に合わせて調整 |
Ctrl+Shift+N |
新しいウィンドウ | 複数ウィンドウを手軽に開ける |
mouse.bindings |
Right → Paste |
右クリックでペースト。ターミナル操作の定番 |
コピー&ペーストの操作
Alacritty のコピー&ペーストは、以下の動作になるよう、設定を変えました。
-
コピー: テキストを範囲選択する(
save_to_clipboard = trueの設定にする) -
ペースト: 右クリックする(
bindings = [ { mouse = "Right", action = "Paste" },]の設定にする)
カラースキームを変更したい場合
デフォルトの配色が合わない場合は [colors] セクションを追加してカスタマイズできます。alacritty-theme リポジトリにテーマ集があり、import で読み込むと簡単です。
3. フォント表示を整える(fontconfig)
Alacritty で日本語を表示すると、フォールバックフォントが意図しないものになることがあります。fontconfig で明示的に指定しておくと安定します。
mkdir -p ~/.config/fontconfig
~/.config/fontconfig/fonts.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Ubuntu Sans</family>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif CJK JP</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>JetBrainsMono Nerd Font</family>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
</fontconfig>
monospace のフォールバックとして Noto Sans CJK JP を入れておくと、ターミナル内の日本語が豆腐(□)にならず正しく表示されます。Noto CJK フォントが未導入の場合はインストールします。
sudo apt install fonts-noto-cjk fonts-noto-cjk-extra
4. Starship でプロンプトを見やすくする
Starship はクロスプラットフォームのプロンプトカスタマイズツールです。Git ブランチや Python/Node のバージョンをプロンプトへ表示できます。
Starship のインストール
curl -sS https://starship.rs/install.sh | sh
~/.bashrc の末尾に追加します。
eval "$(starship init bash)"
Starship の設定ファイル
~/.config/starship.toml:
format = "$directory$git_branch$git_status$python$nodejs$cmd_duration$battery$character"
[character]
success_symbol = "[❯](green)"
error_symbol = "[❯](red)"
[directory]
truncation_length = 3
[git_branch]
format = "[$branch]($style) "
[git_status]
format = '([$all_status$ahead_behind]($style) )'
[python]
format = '[${virtualenv}](yellow) '
detect_extensions = []
detect_files = []
[nodejs]
format = '[node $version](green) '
detect_extensions = []
detect_files = ["package.json"]
[cmd_duration]
min_time = 2000
format = "[took $duration](yellow) "
[battery]
disabled = false
[[battery.display]]
threshold = 30
style = "bold red"
5. bash のヒストリを増やす
Ubuntu のデフォルトでは HISTSIZE=1000 ですが、これだと数日で古いコマンドが消えます。以下を ~/.bashrc に設定します。
HISTCONTROL=ignoreboth
shopt -s histappend
HISTSIZE=50000
HISTFILESIZE=100000
HISTTIMEFORMAT="%F %T "
| 設定 | 効果 |
|---|---|
ignoreboth |
重複コマンドと空白始まりのコマンドを記録しない |
histappend |
シェル終了時に上書きではなく追記する |
HISTSIZE |
メモリ上の履歴数(50,000件) |
HISTFILESIZE |
ファイルの履歴数(100,000件) |
HISTTIMEFORMAT |
各コマンドにタイムスタンプを記録 |
history コマンドで「いつ何を実行したか」がわかるようになります。
まとめ
Claude Code での日本語入力ストレスをきっかけに環境を見直した結果、以下の構成に落ち着きました。
今は結構快適です。Claude Codeありがとう!
- 日本語入力は Fcitx5 + Mozc + Kimpanel の組み合わせ
- キーボードレイアウトは
gsettingsと Fcitx5 プロファイルの両方をjpに揃える - ターミナルは Alacritty + Nerd Font で軽快に
- fontconfig で CJK フォールバックを設定しておくと日本語表示が安定する
- Starship でプロンプトの情報量を整理する
- bash の HISTSIZE を増やしておくと過去のコマンドを遡れて便利