Como posso descobrir se o arquivo ~ / .XCompose foi carregado?

18

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?

Tim
fonte
Descobri isso - não, esse não é um script comum, portanto esses métodos não funcionam, obviamente. Bem, então eu não sei. Mas confira o link; talvez você possa pegar alguma coisa.
Emanuel Berg

Respostas:

15

As definições Compose ( $XCOMPOSE, ~/.XComposeou 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 aliascomo solução alternativa por aplicativo.

Gilles 'SO- parar de ser mau'
fonte