emacsで日本語入力
はじめに
Pop!_OS/COSMICにインストールしたemacsで,fcitx5-mozcを使った日本語入力ができない.
結論
X11/XWayland互換のemacsでは日本語入力ができない.PureGTK版のemacsをインストールする.
手順
aptを使ってX11/XWayland互換版のemacsをアンインストール.PureGTK版のemacsをインストール.
$ sudo apt remove emacs emacs-common
$ sudo apt autoremove
$ sudo apt install emacs-pgtk
コマンドラインから以下のコマンドでemacsを起動する.fcitx5-mozcで日本語入力ができる.
$ GTK_BACKEND=wayland emacs
アプリトレーにピン留めする
まず,COSMICのApplicationsに登録する.デフォルトのemacs.desktopをユーザディレクトリにコピーする.ファイル名は同じでもよいが,区別しやすいようにemacs-pgtk.desktopにした.
$ cp /usr/share/applications/emacs.desktop ~/.local/share/applications/emacs-pgtk.desktop
テキストファイルなのでエディタで開く.以下を書き換えて保存する.
変更前:Name=Emacs (GUI)
変更後:Name=Emacs-pgtk (GUI)
変更前:Exec=/usr/bin/emacs %F
変更後:Exec=env XMODIFIERS=@im=fcitx GTK_IM_MODULE=fcitx GDK_BACKEND=wayland emacs %F
ドックのApplicationsを起動して,emacsで検索する.Emacs-pgtk(GUI)が見つかるので,コンテキストメニューの「アプリトレーにピン留めする」を選ぶ.
環境変数の追加
/etc/environmentと~/.bashrcに以下を追加する.
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export DefaultIMModule=fcitx
インストールしているemacsがX11/XWayland互換なのかPureGTKなのか判断する方法
M-x eval-expression → window-systemと入力. 返却値がxならX11/XWayland.pgtkならPureGTK.
または,*scratch*バッファで以下を入力してC-j.
(framep (selected-frame))
返却値がxならX11/XWayland.pgtkならPureGTK.
環境
- Pop!_OS/COSMIC 24.04 LTS
- emacs 29.3
- fcitx5 5.1.7
- fcitx5-mozc 2.28.4715