मेरा xmodmap कमांड स्टार्टअप / लॉगिन पर क्यों नहीं चलेगा?


10

मैं हर बार जब भी मैं लॉग इन करता हूं (या हर बार मैं शुरू करता हूं, अगर वह काम नहीं करता है) xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

मैंने कई चीजों की कोशिश की है। मैंने आज्ञा अंदर डाल दी System > Preferences > Startup Applications। मैंने इसे एक .shफ़ाइल में रखा , इसे चिह्नित किया chmod +xऔर उस फ़ाइल को अंदर डाल दिया System > Preferences > Startup Applications। मैंने स्क्रिप्ट को अंदर डाला /etc/init.d। मैंने आज्ञाओं को अंदर डाल दिया ~/.profile। कुछ भी काम नहीं लगता।

अंत में, मैंने इसे अपने में रखा ~/.profile:

touch test1
xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'
touch test2

Test1 और test2 दोनों बनते हैं, लेकिन चाबियाँ अभी भी रीमैप नहीं की गई हैं। अगर मैं सिर्फ कमांड को कॉपी / पेस्ट करता हूं और इसे मैन्युअल रूप से चलाता हूं, तो यह ठीक काम करता है। लेकिन यह लॉगिन पर नहीं चलेगा। कोई विचार?

जवाबों:


11

~/.profileलॉगिन अनुक्रम में जल्दी चलता है। यदि आपका डेस्कटॉप वातावरण कीबोर्ड लेआउट को कॉन्फ़िगर करता है, तो यह आपके द्वारा अभी-अभी भरी गई सेटिंग्स को अधिलेखित कर सकता है।

एक फाइल में अपनी सेटिंग्स रखो ~/.Xmodmap:

keysym Delete = Menu
keysym Menu = Delete

Ubuntu 10.04 में डिफ़ॉल्ट सूक्ति वातावरण के तहत, अगली बार जब आप लॉग इन करेंगे, तो आपको संकेत दिया जाएगा कि क्या लोड करना है ~/.Xmodmap। इसे लोड करें, और "फिर से मुझसे न पूछें" पर टिक करें। फिर आपका .Xmodmapडिफ़ॉल्ट सेटिंग्स के बाद लागू किया जाएगा।


धन्यवाद, यह पूरी तरह से काम किया। जिज्ञासा से बाहर, मैं उस संवाद पर वापस कैसे जाऊंगा जिसे मैंने "मुझे फिर से मत पूछो" के लिए जाँच की थी अगर मैं भविष्य में कुछ समय चाहता था?
मैथ्यू

1
@ मैथ्यू: अनटाइटेड: लॉन्च gconf-editor, ब्राउज़ करें /desktop/gnome/peripherals/keyboard/generalऔर known_file_listहटाने के लिए प्रविष्टि संपादित करें .Xmodmap
गिल्स एसओ- बुराई को रोकें '

जब आपने पहली बार इस प्रश्न का उत्तर दिया था, तो उबंटू 10.10 बीटा बैक पर यह काम किया। मैंने कल उबंटू 10.10 की एक ताजा स्थापना की, और अपने घर के फ़ोल्डर में एक समान .Xmodmap फ़ाइल डाल दी। जब मैंने वापस लॉग इन किया, तो मुझे संवाद मिला, लोड किया गया ।Xmodmap, और पहले की तरह ही बॉक्स पर टिक किया। लेकिन यह कुंजियों का पुन: चित्रण नहीं करता है। मैंने gconf में जाँच की, और .Xmodmap निश्चित रूप से ज्ञात_फाइल_लिस्ट में है। कोई विचार?
मैथ्यू

यह Gnome 3.10.1 / Archlinux पर भी मेरे लिए काम नहीं कर रहा है। मुझे आश्चर्य है कि अगर कुछ को Gnome लोड कीबोर्ड लेआउट के क्रम में समायोजित नहीं किया गया है।
कालेब

सूक्ति 3.10 के लिए अब लोड नहीं हो रहा है ~ / .xmodmap, मुझे एक समाधान मिला जो bbs.archlinux.org/viewtopic.php?pid=1194968#p1194968 पर काम करता है : Gomeome के कीबोर्ड प्लगइन को अक्षम करें। $ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
plnx

2

मैंने पाया कि आपके संशोधित कीबोर्ड लेआउट के नाम के ऊपर बताए गए Gconf- संपादक में एक बार "ज्ञात_फाइल_लिस्ट" के तहत और एक बार "अपडेट_हैंडलर" के तहत दिखाई देना चाहिए। क्यों उबंटू कभी-कभी बाद की प्रविष्टि में डालता है, और कभी-कभी नहीं ... ठीक है, यह आपको अपने पैर की उंगलियों पर रखता है, है ना?

संयोग से, बहुत शोध के बाद मैंने लेफ्ट विंडोज कुंजी को फिर से असाइन करने के लिए उपरोक्त ट्वीक का उपयोग किया। मैंने अपने स्वयं के कीबोर्ड लेआउट में निम्न कथन रखा है ताकि यह वाम तीर कुंजी को डुप्लिकेट कर सके: -

कीकोड 133 = 0xFF51

(जाँच करें कि वे xev में जाकर आपके लिए सही कोड हैं और पहले एक कुंजी और फिर दूसरा दबाएं।)

यह केवल एक छोटा बिंदु है, लेकिन जब मैं इंटरनेट पर हूं तो यह मुझे एक सुविधाजनक "बैक" कुंजी देता है - Alt + Win बाएं हाथ से। मैं इसे बिना देखे कर सकता हूं।


1
एलन ने लिखा: "मैंने पाया कि आपके संशोधित कीबोर्ड लेआउट के नाम के ऊपर गॉन्फ-एडिटर के स्थान पर दो बार, एक बार" ज्ञात_फाइल_लिस्ट "और एक बार" अपडेट_हैंडलर्स "के तहत दिखाई देना चाहिए।" मैं पुष्टि कर सकता हूं कि एलन सही है। उबंटू 10.10 में, आपकी ~ / .Xmodmap फ़ाइल के प्रभाव के लिए, ".Xmodmap" को "ज्ञात_फाइल_लिस्ट" और "अपडेट_हैंडलर्स" सूची के तहत / डेस्कटॉप / gnome / बाह्य / कीबोर्ड / सामान्य रूप से gconf दोनों में दिखाना होगा। -editor। धन्यवाद, एलन।

1

कुछ सिस्टम नाम की एक फ़ाइल की तलाश करते हैं ~/.Xmodmapऔर वहां पाए जाने वाले कमांड को निष्पादित करते हैं। इन पंक्तियों को उस फ़ाइल में डालने का प्रयास करें:

keysym Delete = Menu
keysym Menu = Delete
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.