मैं अपने लैपटॉप पर लिनक्स मिंट 13 पर ओपनबॉक्स स्थापित कर रहा हूं। मैं चाहता हूं कि मेरी कैप्स लॉक कुंजी अतिरिक्त नियंत्रण कुंजी के रूप में कार्य करें। मैंने अपनी ~/.Xmodmapफ़ाइल में आवश्यक सेटिंग्स डाल दीं और इसे चलाकर जाँच की
xmodmap ~/.Xmodmap
यह सही ढंग से काम करता है।
हालाँकि जब मैं अपने ओपनबॉक्स सत्र में पुनः आता हूं, तो ये महत्वपूर्ण परिवर्तन मौजूद नहीं होते हैं। उपरोक्त xmodmapकमांड चलाने से इसे फिर से काम करना शुरू हो जाता है, लेकिन मैं चाहता हूं कि यह स्टार्टअप पर स्वचालित रूप से हो।
मजे की बात यह है कि मैंने zenityअपनी ~/.config/openbox/autostartफाइल के अनुसार एक टेस्ट कमांड जोड़ा
zenity --info --text=Hello
यह एक छोटी संवाद विंडो बनाता है और संवाद बंद होने के बाद ही बाहर निकलता है।
अब, जब मैं अपने ओपनबॉक्स सत्र के लिए फिर से आता हूं, तो कैप्स लॉक एक Ctrl कुंजी के रूप में कार्य करता है, जब तक कि जिनी डायलॉग बंद नहीं हो जाता। एक बार जब वह संवाद बंद हो जाता है, तो कैप्स लॉक अपने डिफ़ॉल्ट व्यवहार पर लौट आता है।
मुझे Google के साथ इस पर कुछ भी नहीं मिला है इसलिए मैं यहां मदद मांग रहा हूं। क्या तुम लोगों के पास कोई विचार है जो गलत हो सकता है?
अपडेट करें:
मैं यह पता लगाने की कोशिश कर रहा हूं और अपने प्रयोगों में, मैंने अपनी /usr/bin/xmodmapफ़ाइल को निम्न बैश स्क्रिप्ट के साथ फ़ाइल में /usr/bin/xmodmap_प्रतिस्थापित कर दिया है/usr/bin/xmodmap
#!/bin/bash
{
echo '-------'
date
echo xmodmap "$@"
} >> ~/xmodmap-calls
exec /usr/bin/xmodmap_ "$@"
इसलिए, जब भी सिस्टम पर कोई लानत स्क्रिप्ट चलती है xmodmap, मुझे यह पता चल जाता है।
इसके साथ, मैं पुन: जुड़ जाता हूं और मुझे अपनी ~/xmodmap-callsफ़ाइल में केवल एक प्रविष्टि मिलती है , जो कि मेरी चल रही है ~/.Xmodmap, जो अपेक्षित है। इसलिए, मुझे लगा xmodmapकि यह मेरे बदलावों को लिख रहा है।
इसके बाद, थोड़ी सी गुगली ने मुझे setxkbmapकमान से परिचित कराया , जो कि जाहिर तौर पर ऐसा ही कर सकता है। मैंने उस निष्पादन योग्य को भी बदल दिया, ऊपर के xmodmap के समान। और मुझे अपराधी की आज्ञा मिल गई!
setxkbmap -option terminate:ctrl_alt_bksp
मुझे बिल्कुल पता नहीं है कि वह क्या करता है, लेकिन चलाने के बाद xmodmap ~/.Xmodmap(जिसने मेरी सेटिंग्स को सही तरीके से लागू किया है), अगर मैं उपरोक्त कमांड चलाता हूं, तो मेरे परिवर्तन रीसेट हो गए हैं! संपादित करें : यह असली अजीब बात है। setxkbmapबिना किसी दलील के बस एक कमांड, खुशी से xmodmap ~/.Xmodmapकमांड द्वारा मेरे बदलावों को लिख देता है ।
अब मेरे पास यह पता लगाने के लिए दो चीजें हैं, यह कहां setxkbmapसे चलाया जा रहा है और इसे कैसे और कैसे ठीक किया जाए। मैं अभी भी जांच कर रहा हूँ लेकिन गंभीरता से कुछ मदद का उपयोग कर सकता हूँ :)
अपडेट २
के साथ नरक करने के लिए xmodmap। मैं यह पता नहीं लगा सकता कि कहां setxkbmapसे बुलाया जा रहा है, लेकिन मुझे setxkbmapअपने कैप्स लॉक को Ctrl के रूप में व्यवहार करने के लिए कमांड का उपयोग करने का एक तरीका मिला ।
setxkbmap -option ctrl:nocaps
ओपनबॉक्स शुरू करने से ठीक पहले। शानदार काम करता है। कैप्स लॉक कुंजी एक ctrl कुंजी के रूप में कार्य करती है। xmodmapकभी नहीं चलाया जाता है।
मैं इस प्रश्न को यहाँ रखूँगा ताकि कोई व्यक्ति जो इन बातों को जानता है, कुछ जानकारी दे सके। इसके अलावा, जो लोग मेरे बाद इसका सामना करते हैं :)
अपडेट ३
यहाँ मेरी सामग्री है .config/openbox/autostart, जैसा कि पेड्रोसोरियो द्वारा अनुरोध किया गया है।
#!/bin/bash
# Set the wallpaper.
feh --bg-scale /wall.png
# Set default brightness.
xbacklight -time 1 '=40'
# Compositing.
xcompmgr &
# The panel.
tint2 &
# Start a terminal too.
roxterm &
इसका कीबोर्ड से कोई लेना-देना नहीं है, जहां तक मैं बता सकता हूं। इसके अलावा, यहां वह स्क्रिप्ट है जो मेरा सत्र शुरू करती है: (lightdm द्वारा चलाएं)
#!/bin/bash
setxkbmap -option ctrl:nocaps
exec openbox-session
autostartफाइल पोस्ट कर सकते हैं ?