मैं अपने लैपटॉप पर लिनक्स मिंट 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
फाइल पोस्ट कर सकते हैं ?