Ho aggiunto una sequenza semplice, ma non funzionerà. Come posso sapere se il sistema operativo (Ubuntu 12.10 con Unity) sta effettivamente caricando il file?
Ho aggiunto una sequenza semplice, ma non funzionerà. Come posso sapere se il sistema operativo (Ubuntu 12.10 con Unity) sta effettivamente caricando il file?
Risposte:
Le definizioni Componi ( $XCOMPOSE
, ~/.XCompose
o un file sotto /usr/share/X11/locale
) vengono caricati da ogni applicazione client, non dal server X. Quindi assicurati che l'applicazione con cui stai testando sia in fase di caricamento ~/.XCompose
. Puoi vedere con quali file sta leggendo 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
La maggior parte delle applicazioni carica il file all'avvio, quindi dovrai riavviare l'applicazione se modifichi le definizioni di composizione.
Se l'applicazione non sta caricando questi file, è probabile che non stiano utilizzando il "metodo di input X" (xim). Puoi forzare le applicazioni GTK o QT a utilizzare xim:
$ GTK_IM_MODULE=xim QT_IM_MODULE=xim strace -e open xterm |& grep Compose
Se questo risolve il problema, dovresti considerare di impostare le variabili di ambiente a livello globale o utilizzare alias
una soluzione alternativa su base per-app.