ฉันจะทราบได้อย่างไรว่าไฟล์ ~ / .XCompose โหลดแล้ว


18

ฉันเพิ่มลำดับง่าย ๆ แต่มันไม่ทำงาน ฉันจะรู้ได้อย่างไรว่าระบบปฏิบัติการ (Ubuntu 12.10 ที่มี Unity) กำลังโหลดไฟล์อยู่หรือไม่?


ฉันพบสิ่งนี้ - ไม่นั่นไม่ใช่สคริปต์ปกติดังนั้นวิธีการเหล่านั้นจึงใช้งานไม่ได้ ถ้าอย่างนั้นฉันก็ไม่รู้ แต่ตรวจสอบลิงค์; บางทีคุณอาจเลือกบางอย่าง
Emanuel Berg

คำตอบ:


15

คำจำกัดความเขียน ( $XCOMPOSE, ~/.XComposeหรือแฟ้มภายใต้/usr/share/X11/locale) จะถูกโหลดโดยการประยุกต์ใช้ลูกค้าแต่ละรายไม่ได้โดยเซิร์ฟเวอร์เอ็กซ์ ~/.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เป็นวิธีแก้ปัญหาในแต่ละแอป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.