Wie kann ich herausfinden, ob die ~ / .XCompose-Datei geladen wurde?

18

Ich habe eine einfache Sequenz hinzugefügt, aber es wird nicht funktionieren. Wie kann ich herausfinden, ob das Betriebssystem (Ubuntu 12.10 mit Unity) die Datei tatsächlich lädt?

Tim
quelle
Ich fand das - nein, das ist kein reguläres Skript, daher funktionieren diese Methoden offensichtlich nicht. Na dann weiß ich es nicht. Aber schau dir den Link an. Vielleicht könntest du etwas aufheben.
Emanuel Berg

Antworten:

15

Die compose Definitionen ( $XCOMPOSE, ~/.XComposeoder eine Datei unter /usr/share/X11/locale) werden von jeder Client - Anwendung geladen wird , nicht durch den X - Server. Stellen Sie also sicher, dass die Anwendung, mit der Sie testen, geladen wird ~/.XCompose. Sie können sehen, mit welchen Dateien es liest 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

Die meisten Anwendungen laden die Datei erst beim Start, sodass Sie die Anwendung neu starten müssen, wenn Sie Ihre Komponierdefinitionen ändern.

Wenn die Anwendung diese Dateien nicht lädt, verwenden sie wahrscheinlich nicht die 'X-Eingabemethode' (xim). Sie können GTK- oder QT-Anwendungen zwingen, xim zu verwenden:

$ GTK_IM_MODULE=xim QT_IM_MODULE=xim strace -e open xterm |& grep Compose

Wenn dies das Problem behebt, sollten Sie erwägen, die Umgebungsvariablen global festzulegen oder sie aliasfür jede App einzeln als Problemumgehung zu verwenden .

Gilles 'SO - hör auf böse zu sein'
quelle