単純なシーケンスを追加しましたが、機能しません。 OS(Unityを搭載したUbuntu 12.10)が実際にファイルをロードしているかどうかを確認するにはどうすればよいですか?
構成定義($XCOMPOSE
、~/.XCompose
または/usr/share/X11/locale
の下のファイル)は、Xサーバーではなく各クライアントアプリケーションによってロードされます。したがって、テストしているアプリケーションが~/.XCompose
をロードしていることを確認してください。 strace
を使用して、読み取っているファイルを確認できます。
$ strace -e open xterm |& grep Compose
open("/home/gilles/.XCompose", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/X11/locale/en_US.UTF-8/Compose", O_RDONLY) = 5
$ touch .XCompose
$ strace -e open xterm |& grep Compose
open("/home/gilles/.XCompose", O_RDONLY) = 5
ほとんどのアプリケーションは起動時にのみファイルをロードするため、作成定義を変更した場合はアプリケーションを再起動する必要があります。
アプリケーションがこれらのファイルをロードしていない場合は、「X入力方式」(xim)を使用していない可能性があります。 GTKまたはQTアプリケーションにximの使用を強制できます。
$ GTK_IM_MODULE=xim QT_IM_MODULE=xim strace -e open xterm |& grep Compose
これで問題が解決する場合は、環境変数をグローバルに設定することを検討するか、アプリごとの回避策としてalias
を使用する必要があります。