MENU

[Linux] Pop!_OS 22.04でカスタムキーバインドを使った無変換・変換キーで入力ソースの切り替え

(英かな変換するだけならmozcの設定で終わります)

Pop!_OS 22.04で、日本語キーボードの無変換キー変換キーを使って日本語・英語入力を切り替える方法を説明します。この設定により、Windows環境と同様の快適な入力切り替えが可能になります。

目次

環境情報

  • OS: Pop!_OS 22.04
  • キーボード: 日本語配列
  • 日本語入力システム: ibus-mozc

基本概念の理解

入力システムの仕組み

Linuxでの文字入力は、以下の2つのシステムが協調して動作します:

1. xkb(キーボード配列)

  • xkb = X KeyBoard の略
  • 役割: 「どのキーを押したら、どの文字が出るか」を制御
  • : Shift + 2 で @ が出るか " が出るかを決める

2. ibus(日本語入力システム)

  • ibus = Intelligent Input Bus の略
  • 役割: ローマ字から日本語への変換
  • : konnichiwaこんにちは

入力ソースとは

入力ソースは「入力方法」を表します:

  • 英語入力: ('xkb', 'us') = US配列での直接入力
  • 日本語入力: ('ibus', 'mozc-jp') = ibus-mozcを使った日本語変換

Step 1: 必要なソフトウェアの確認・インストール

ibus-mozcのインストール

# システム更新
sudo apt update

# ibus-mozcのインストール
sudo apt install ibus-mozc

環境変数について

Pop!_OS 22.04では、ibus関連の環境変数は通常自動的に設定されています。明示的な設定は不要ですが、もし日本語入力が一部のアプリケーションで動作しない場合は、以下を~/.profileに追加してください:

export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus

Step 2: 入力ソースの設定確認

現在の設定確認

gsettings get org.gnome.desktop.input-sources sources

期待する出力:

[('xkb', 'us'), ('ibus', 'mozc-jp')]

この設定の意味:

  • 0番目: ('xkb', 'us') = 英語(US配列)
  • 1番目: ('ibus', 'mozc-jp') = 日本語入力

設定が不完全な場合

もし上記と異なる出力の場合、SettingsRegion & LanguageInput Sources で:

  1. English (US) を追加
  2. Japanese (Mozc) を追加

Step 3: 入力切り替えの動作確認

ibusエンジンの理解

ibusエンジンは「現在どの入力方法が有効か」を示します。

# 現在のエンジン確認
ibus engine

手動切り替えテスト

# 英語入力に切り替え
ibus engine xkb:us::eng

# 現在のエンジン確認
ibus engine

# 日本語入力に切り替え
ibus engine mozc-jp

# 現在のエンジン確認
ibus engine

入力テスト

各エンジンで実際に入力テストを行います:

英語エンジンxkb:us::eng)の場合:

  • hello world → そのまま hello world

日本語エンジンmozc-jp)の場合:

  • konnichiwa → スペースキーで変換 → こんにちは

Step 4: 切り替えスクリプトの作成

スクリプトファイルの作成

手動でのコマンド実行は不便なので、スクリプトファイルを作成します。

# スクリプト保存用ディレクトリ作成
mkdir -p ~/.local/bin

# 英語切り替えスクリプト
cat > ~/.local/bin/switch-to-english.sh << 'EOF'
#!/bin/bash
ibus engine xkb:us::eng
EOF

# 日本語切り替えスクリプト
cat > ~/.local/bin/switch-to-japanese.sh << 'EOF'
#!/bin/bash
ibus engine mozc-jp
EOF

# 実行権限の付与
chmod +x ~/.local/bin/switch-to-*.sh

スクリプトの動作確認

# 英語切り替えテスト
~/.local/bin/switch-to-english.sh

# 日本語切り替えテスト
~/.local/bin/switch-to-japanese.sh

Step 5: キーバインド設定

カスタムキーバインドとは

カスタムキーバインドは「特定のキーを押したら、指定したコマンドを実行する」設定です。

例:無変換キーを押したら switch-to-english.sh を実行

キーバインドの登録

# カスタムキーバインドの登録
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/muhenkan/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/henkan/']"

無変換キーの設定

# 無変換キー = 英語切り替え
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/muhenkan/ name 'English Input'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/muhenkan/ command '/home/$USER/.local/bin/switch-to-english.sh'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/muhenkan/ binding 'Muhenkan'

変換キーの設定

# 変換キー = 日本語切り替え
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/henkan/ name 'Japanese Input'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/henkan/ command '/home/$USER/.local/bin/switch-to-japanese.sh'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/henkan/ binding 'Henkan'

Step 6: 動作確認と既知の問題

キーバインドテスト

  1. 無変換キーを押す → 英語入力に切り替わる
  2. 変換キーを押す → 日本語入力に切り替わる

実際の入力テスト

英語モード(無変換キー後):

hello world

日本語モード(変換キー後):

konnichiwa → こんにちは(スペースで変換)

Pop!_OS特有の問題と対処法

起動直後の日本語入力問題

  • 現象: 変換キーを押してもibus engineは切り替わるが、実際の日本語入力ができない
  • 対処法: 任意のアプリケーションで「カタカナひらがなローマ字」キーを一度押す
  • その後: 変換・無変換キーが正常に動作するようになる

この問題はPop!_OSのデスクトップ環境とibusの初期化タイミングに起因すると考えられます。一度初期化されれば、セッション中は安定して動作します。

完成した環境

使用方法

  • 無変換キー: 英語入力に切り替え
  • 変換キー: 日本語入力に切り替え
  • スペースキー: 日本語変換(日本語モード時)

設定の確認方法

# キーバインド設定の確認
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings

# 現在のエンジン確認
ibus engine

# 入力ソース確認
gsettings get org.gnome.desktop.input-sources sources

トラブルシューティング

キーバインドが効かない場合

# スクリプトが実行できるか確認
ls -la ~/.local/bin/switch-to-*.sh

# スクリプトを直接実行してテスト
~/.local/bin/switch-to-english.sh
~/.local/bin/switch-to-japanese.sh

Pop!_OS特有の初期化問題

起動直後は日本語入力が正常に動作しない場合があります。任意のアプリケーションで「カタカナひらがなローマ字」キーを一度押すことで、ibusとアプリケーションの接続が初期化され、その後は変換・無変換キーが正常動作します。

ibus-daemonが起動していない

# ibusデーモンの再起動
ibus-daemon -drx

# ibusの設定
ibus-setup

まとめ

この設定により、日本語キーボードの無変換・変換キーを活用した効率的な入力切り替えが可能になります。

設定の要点

  1. 入力ソース: 英語(xkb:us)と日本語(ibus-mozc)を登録
  2. スクリプト: ibusエンジンを切り替えるコマンドをスクリプト化
  3. キーバインド: 無変換・変換キーにスクリプトを割り当て

Windows環境から移行したユーザーにとって、馴染みのある操作方法で快適な日本語入力環境を実現できます。

目次