Eu adicionei uma sequência simples, mas não vai funcionar. Como posso descobrir se o sistema operacional (Ubuntu 12.10 com Unity) está realmente carregando o arquivo?
Eu adicionei uma sequência simples, mas não vai funcionar. Como posso descobrir se o sistema operacional (Ubuntu 12.10 com Unity) está realmente carregando o arquivo?
Respostas:
As definições Compose ( $XCOMPOSE
, ~/.XCompose
ou um arquivo sob /usr/share/X11/locale
) são carregados por cada aplicativo cliente, não pelo servidor X. Portanto, verifique se o aplicativo que você está testando está carregando ~/.XCompose
. Você pode ver com quais arquivos está lendo 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
A maioria dos aplicativos apenas carrega o arquivo quando é iniciado, portanto, você precisará reiniciar o aplicativo se alterar as definições de composição.
Se o aplicativo não estiver carregando esses arquivos, é provável que eles não estejam usando o 'método de entrada X' (xim). Você pode forçar os aplicativos GTK ou QT a usar o xim:
$ GTK_IM_MODULE=xim QT_IM_MODULE=xim strace -e open xterm |& grep Compose
Se isso resolver o problema, considere definir as variáveis de ambiente globalmente ou use alias
como solução alternativa por aplicativo.