Bagaimana saya bisa mengetahui apakah file ~ / .XCompose telah dimuat?

18

Saya telah menambahkan urutan sederhana, tetapi tidak akan berhasil. Bagaimana saya bisa mengetahui apakah OS (Ubuntu 12.10 dengan Unity) sebenarnya memuat file?

Tim
sumber
Saya menemukan ini - tidak, itu bukan skrip biasa sehingga metode-metode itu tidak bekerja, jelas. Baiklah, kalau begitu saya tidak tahu. Tapi lihat tautannya; mungkin Anda bisa mengambil sesuatu.
Emanuel Berg

Jawaban:

15

Definisi penulisan ( $XCOMPOSE, ~/.XComposeatau file di bawah /usr/share/X11/locale) dimuat oleh setiap aplikasi klien, bukan oleh server X. Jadi pastikan aplikasi yang Anda uji sedang memuat ~/.XCompose. Anda dapat melihat file apa yang dibacanya 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

Sebagian besar aplikasi hanya memuat file ketika mulai, jadi Anda harus me-restart aplikasi jika Anda mengubah definisi penulisan Anda.

Jika aplikasi tidak memuat file-file ini, kemungkinan mereka tidak menggunakan 'metode input X' (xim). Anda dapat memaksa aplikasi GTK atau QT untuk menggunakan xim:

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

Jika ini memperbaiki masalah, maka Anda harus mempertimbangkan pengaturan variabel lingkungan secara global, atau gunakan aliassebagai solusi berdasarkan per aplikasi.

Gilles 'SANGAT berhenti menjadi jahat'
sumber