पार्टी के लिए देर से, लेकिन इसने मुझे पागल कर दिया; और, मैं जैसा हूं, हठ करना कोई विकल्प नहीं था।
मूल रूप से यह वही है जो मैंने कोशिश की, (मेरे उपयोगकर्ता के रूप में, या यदि आवश्यक हो तो रूट)
- ~ / .Xmodmap केवल
- ~ / .xsession, ~ / .xsessionrc
- ~ / .Gnomerc
- ~ / .Xprofile
- ~ / .Xinitrc
- /etc/X11/Xsession.d/myscript
- /usr/share/X11/xorg.conf.d/ ( फ़ाइलों को कॉन्फ़िगर करें, इसे स्पर्श न करें )
(वास्तव में, काम xmodmapकरने के लिए कमांड जोड़ना ~/.bashrc, लेकिन लॉगिन के बाद हर बार टर्मिनल शुरू करना होगा)
कुछ साल पहले (?), xkbकुंजी मैपिंग और कॉन्फ़िगरेशन (एक्स के साथ इंटरफेसिंग) से निपटने के लिए चुना गया था, लेकिन एक्स सत्र के प्रारंभ के दौरान अपने काम करने के xmodmapबाद, एक्स से संबंधित संबंधित परिवर्तनों का अनुरोध भी कर सकता xkbहै।
समस्या यह है कि ये xmodmap सेटिंग्स कब होनी चाहिए?
ऐसा लगता है कि उपरोक्त फ़ाइलों को प्रक्रिया में बहुत जल्दी संसाधित किया जाता है, और या तो एक्स xmodmap परिवर्तनों को स्वीकार करने के लिए तैयार नहीं था, या xkb उन्हें अधिलेखित कर देगा।
नोट: मैंने इन फाइलों में कुछ "ट्रैकिंग" जोड़ा है ताकि यह सुनिश्चित हो सके कि वे वास्तव में कुछ समय पर चल रहे थे!
एक समाधान जो काम करने लगता है
मैं .desktopशुरू में एक फ़ाइल जोड़ने के लिए उत्सुक नहीं था (एक सरल एक लाइन स्क्रिप्ट को पर्याप्त होना था), लेकिन वह काम करता है, इसलिए यहां यह है।
समाधान यह आता है कि लिनक्स में विशेष कीबोर्ड कुंजियों को फिर से कैसे बनाया जाए या स्वैप किया जाए? "समाधान 1"
मूल रूप से ~/.config/autostart/my-xmodmap.desktopफ़ाइल बनाएँ , और उसमें डालें:
[Desktop Entry]
Name=MyXmodmap
Exec=/usr/bin/xmodmap /home/me/.Xmodmap
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
meअपने उपयोगकर्ता नाम के साथ बदलें (ध्यान दें कि मैंने कोशिश करने की जहमत नहीं उठाई ~/या इसके $HOMEस्थान पर समान रूप से अच्छी तरह से काम कर सकता है /home/me, और xmodmap का पूर्ण पथ आवश्यक नहीं है ...), और निष्पादन बिट जोड़ें
chmod +x ~/.config/autostart/my-xmodmap.desktop
Xmodmap कमांड को ~/.Xmodmapइस मामले में एक फ़ाइल में होना चाहिए (या -eविकल्प का उपयोग करें , या किसी अन्य फ़ाइल नाम का चयन करें!)। लॉग आउट करें और वापस अंदर जाएं।
ध्यान दें कि आप "स्टार्टअप एप्लिकेशन" से शुरुआती कार्यक्रम बना सकते हैं।
एक और उपाय xmodmap को भूलना और कॉन्फ़िगर करना सीखना होगा xkb!
संपादित करें (फिर से)
कभी-कभी, शायद लॉगऑन का 25%, xmodmapअभी भी काम नहीं कर रहा है - जबकि कमांड वास्तव में चलाया जाता है (एक ट्रैकर साबित होता है)। इस समय मेरे पास एकमात्र निष्कर्ष यह हो सकता है कि xkbप्रक्रिया लॉगऑन प्रक्रिया में देरी से चलती है, और हो सकता है xmodmapकि चलने के बाद समाप्त हो जाए । एक दौड़ की स्थिति की तरह दिखता है ... इसलिए, आखिरकार, मैंने ऑटोस्टार्ट डेस्कटॉप फ़ाइल execलाइन को बदल दिया
Exec=$HOME/bin/mystart &
(ध्यान दें &)
mystartएक नई निर्देशिका में एक स्क्रिप्ट है जिसे binमैंने बनाया है
#!/bin/bash
sleep 5
/usr/bin/xmodmap /home/me/.Xmodmap &
date >> /tmp/xmodmap-has-run
तथा
chmod u+x ~/bin/mystart
स्क्रिप्ट xmodmap चलाने के लिए 5 सेकंड पहले सोती है, और जब यह चलती है (फाइल में /tmp/xmodmap-has-run) तो ट्रैक करता है ।
उम्मीद है कि यह सब होगा!