पार्टी के लिए देर से, लेकिन इसने मुझे पागल कर दिया; और, मैं जैसा हूं, हठ करना कोई विकल्प नहीं था।
मूल रूप से यह वही है जो मैंने कोशिश की, (मेरे उपयोगकर्ता के रूप में, या यदि आवश्यक हो तो रूट)
- ~ / .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
) तो ट्रैक करता है ।
उम्मीद है कि यह सब होगा!