मैंने एक साधारण अनुक्रम जोड़ा है, लेकिन यह काम नहीं करेगा। मैं कैसे पता लगा सकता हूं कि ओएस (उबंटू 12.10 यूनिटी के साथ) वास्तव में फाइल लोड कर रहा है?
मैंने एक साधारण अनुक्रम जोड़ा है, लेकिन यह काम नहीं करेगा। मैं कैसे पता लगा सकता हूं कि ओएस (उबंटू 12.10 यूनिटी के साथ) वास्तव में फाइल लोड कर रहा है?
जवाबों:
लिखें परिभाषाओं ( $XCOMPOSE
, ~/.XCompose
या के तहत एक फ़ाइल /usr/share/X11/locale
), प्रत्येक ग्राहक के आवेदन के द्वारा लोड किए गए हैं नहीं X सर्वर से। इसलिए सुनिश्चित करें कि आपके द्वारा परीक्षण किया जा रहा एप्लिकेशन लोड हो रहा है ~/.XCompose
। आप देख सकते हैं कि वह किन फ़ाइलों के साथ पढ़ रहा है 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
अधिकांश एप्लिकेशन केवल फ़ाइल को लोड करते हैं जब वे शुरू करते हैं, इसलिए यदि आप अपनी रचना की परिभाषा बदलते हैं तो आपको आवेदन को फिर से शुरू करना होगा।
यदि एप्लिकेशन इन फ़ाइलों को लोड नहीं कर रहा है, तो संभावना है कि वे 'X इनपुट पद्धति' (xim) का उपयोग नहीं कर रहे हैं। आप GTK या qt अनुप्रयोगों को xim का उपयोग करने के लिए बाध्य कर सकते हैं:
$ GTK_IM_MODULE=xim QT_IM_MODULE=xim strace -e open xterm |& grep Compose
यदि यह समस्या को ठीक करता है, तो आपको विश्व स्तर पर पर्यावरण चर को स्थापित करने पर विचार करना चाहिए, या alias
प्रति-ऐप के आधार पर समाधान के रूप में उपयोग करना चाहिए ।