कैप्स लॉक और Esc को स्थायी रूप से कैसे स्विच करें


116

मैं Saucy में स्थायी रूप से Caps Lockऔर Escप्रमुख कार्यों को कैसे स्विच कर सकता हूं ? मैं इसे अस्थायी रूप से (रिबूट तक) करने के लिए इस कमांड का उपयोग कर सकता हूं:

/usr/bin/setxkbmap -option "caps:swapescape"

मैंने एक स्टार्टअप एप्लीकेशन के रूप में उस कमांड को जोड़ने की कोशिश की, लेकिन यह कुछ भी नहीं करता है।


1
मैंने उस कमांड को अपने में डाल दिया ~/.bashrcताकि यह सिस्टम रीस्टार्ट के बीच बना रहे। ( ctrl:nocapsमेरे लिए, हालांकि, के लिए tmux)
opyate

2
@ मैं उस कमांड को ~ / .profile में रखूंगा ताकि यह इंटरएक्टिव लॉगिन के बाद केवल एक बार चले।
सुजानशाक्य

जवाबों:


125

ऐसा करने का एक और तरीका है dconf-editor। इस विधि से कुछ अतिरिक्त चरण हैं gnome-tweak-tool, लेकिन यदि आप ट्विक टूल से निर्भरता में खींचना नहीं चाहते हैं तो यह उपयोगी है।

यह आपको caps:swapescapeसिंटैक्स का उपयोग करने और स्वचालित रूप से परिवर्तन को स्थायी बनाने की अनुमति देगा ।

sudo apt-get install dconf-tools

शुरू करने के बाद dconf-editor, org >> gnome >> डेस्कटॉप >> इनपुट-सोर्स पर नेविगेट करें

उन विकल्पों को जोड़ें जिनकी आपको आवश्यकता है xkb-options। विकल्प के तार सिंगल कोट्स से घिरे होते हैं और कॉमा से अलग होते हैं। कोष्ठक को सिरों पर हटाने के लिए नहीं सावधान रहें।

dkbf- संपादक में xkb- विकल्प

आप इस पद्धति का उपयोग अधिकांश पारंपरिक xkb विकल्पों में प्रवेश करने के लिए कर सकते हैं जो अब सिस्टम सेटिंग्स >> टेक्स्ट एंट्री में उपलब्ध नहीं हैं । अपवाद कीबोर्ड लेआउट स्विच करने के लिए सेटिंग्स हैं, जो वर्तमान में बग के कारण काम नहीं करते हैं।

विकल्पों और सिंटैक्स की सूची के लिए, man 7 xkeyboard-configटर्मिनल में उपयोग करें ।

एक अन्य आम विकल्प है कि इस्तेमाल किया जा सकता है terminate:ctrl_alt_bkspकी अनुमति के लिए ctrl+ alt+ backspaceएक्स सत्र को समाप्त करने के लिए।


5
संदर्भ के लिए +1 keyboard-config(7), यह वही था जिसकी मुझे तलाश थी।
ulidtko

61
आप इसे कमांड लाइन से भी कर सकते हैं, बिना dconf- एडिटर स्थापित किए:dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']"
Pi Delport

4
उपर्युक्त कमांड को 'sudo' का उपयोग न करें क्योंकि यह सेटिंग प्रति उपयोगकर्ता विशिष्ट लगती है।
बोह्र

11
ध्यान दें कि आपको दो कुंजियों 'caps:swapescape'को स्वैप करने की आवश्यकता है (केवल असाइन Escकरने के बजाय Caps Lock)।
थमेरा

1
या आप कर सकते हैंgsettings set org.gnome.desktop.input-sources xkb-options "['caps:escape']"
ACIClic

50

एक समाधान जो सबसे अधिक लिनक्स डिस्ट्रोस के लिए काम करना चाहिए:

setxkbmap -option caps:swapescape

अन्य विकल्प संभव हैं:

  • caps:none निष्क्रिय करना
  • caps:escape इसे अतिरिक्त रूप से बचाना है
  • caps:super इसे एक अतिरिक्त सुपर (विंडोज़) कुंजी बनाने के लिए।

स्टार्टअप में यह काम करने के लिए , आपको इसे लगाने की आवश्यकता है ~/.profileक्योंकि यह केवल इंटरेक्टिव लॉगिन के बाद ही चलेगा।


1
यह Ubuntu 14.04, यूनिटी में काम करता है।
चाड

2
मेरे लिए उबंटू में 16.04 के साथ
जेसी चान

4
18.04 तक, setxkbmapकमांड डालकर ~/.xsessionrcऔर ~/.profileलॉगिन / रिस्टार्ट के बीच सेटिंग्स को
बनाये

2
@ कॉनरैड.इन मैं मिंट 19 में इसका उपयोग कर रहा हूं जो 18.04 एलटीएस पर आधारित है: यहां कोई समस्या नहीं है। सेटिंग्स को जारी रखने के लिए नहीं हैं, लेकिन लॉगिन पर लोड किए गए हैं।
जोजो

~/.profileयह डालने के लिए एक खराब जगह है - उस फ़ाइल को हर लॉगिन शेल पर पढ़ा जाता है। X11 को शुरू करते समय उपयोग की जाने वाली फ़ाइल में रखें, जैसे ~/.xinitrcया ~/.xsession
1

39

ठीक है, गनोम-ट्वीक-टूल का उपयोग करके ऐसा करने का एक तरीका मिला।

एक टर्मिनल से, भागो

sudo apt-get install gnome-tweak-tool -y && gnome-tweak-tool

आप "टाइपिंग -> कैप्स लॉक कुंजी व्यवहार" में कैप्स लॉक और Esc स्वैप करने का विकल्प पा सकते हैं।


5
उबंटू 14 पर खिड़की का लेआउट बहुत खराब है, लेकिन यह अभी भी काम करता है।
उवासल

1
हां, मुझे लगता है कि gnome-tweak-toolइस कार्य के लिए उपयोग नहीं किया जाना चाहिए क्योंकि इसे करने के लिए डिफ़ॉल्ट उपकरण हैं।
लेओ लेपोल्ड हर्ट्ज़ '

यह अब तक का सबसे अच्छा समाधान है।
जेसन मैकविटा

2
उबंटू> 18.04 के लिए यह में पाया जा सकता Keyboard & Mouse> Additional Layout Options>Caps Lock Behavior
Adracus

इसने मेरे लिए 19.04 को काम किया। 19.04 को बने रहने के लिए मुझे कोई भी समाधान xmodmapया setxkbmapसमाधान नहीं मिला ।
एहमोरिस

23

आप उपयोग कर सकते हैं xmodmap में टर्मिनल स्वैप करने के लिए Caps Lockके साथ Esc:

xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"   #this will make Esc to act as Caps Lock
xmodmap -e "keycode 66 = Escape NoSymbol Escape"        #this will make Caps Lock to act as Esc

प्रत्येक सत्र के लिए यह परिवर्तन प्राप्त करने के लिए, पिछले कमांड चलाने के बाद, .xmodmapनए कमांड के साथ एक फाइल बनाएं , जिसमें निम्न कमांड का उपयोग किया गया है:

xmodmap -pke > ~/.xmodmap

फिर, .xinitrcअपने होम डायरेक्टरी में एक फाइल बनाएं , जिसमें निम्नलिखित लाइन / कमांड होगी:

xmodmap .xmodmap

6
यह Ubuntu 14.04 के तहत काम नहीं करता है। मैंने एक .xsessionrc फ़ाइल भी आज़माई, और यह भी काम नहीं किया।
मिगेलमार्टिन

आप सेटिंग्स को पूर्ववत कैसे करते हैं?
hlin117

@ hlin117 केवल ~/.xmodmapफ़ाइल की सामग्री को साफ़ करें (केवल > ~/.xmodmapअपने टर्मिनल में चलाकर ), फिर अपना सत्र पुनः आरंभ करें।
रादु राईडेनू

2
Ubuntu 14.04 पर, यह Caps_Lock से एस्केप मैप बनाता है, लेकिन Caps_Lock एस्केप के लिए मैप नहीं करता है।
user1691145

1
नमस्ते, मैंने यह किया है, और यह काम करता है। हालाँकि, इसके अलावा esc कैप्सलॉक के लिए बाध्य है, कैप्स-लॉक अब कैप्स-लॉक और एस्केप दोनों के लिए बाध्य है । क्या यह संभव है कि डेस्कटॉप वातावरण अभी भी इसे ओवरराइड करता है? मैं KDE
xor

18

@ राडू के उत्तर के समान , लेकिन 14.04 के साथ संगत ( यह उत्तर भी देखें )।

xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -pke > ~/.xmodmap

यदि यह काम नहीं करता है, तो प्रतिस्थापित करें:

xmodmap -e "remove Lock = Caps_Lock"

साथ में:

xmodmap -e "clear Lock"

लिनक्स मिंट 17.1 (जो उबंटू पर आधारित है) में काम नहीं करता है :(
Jan Warchoł

3
इसे हटाने के लिए "Lock = Caps_Lock" को "क्लियर लॉक" में बदलना होगा
सोफिया

13

स्क्रीन के ऊपरी दाएं कोने में गियर आइकन पर जाएं और:

  • सिस्टम सेटिंग्स पर क्लिक करें
  • कीबोर्ड लेआउट
  • विकल्प ... (दाएं हाथ का निचला भाग)
  • कैप्स लॉक कुंजी व्यवहार (नीचे 4)
  • नीचे स्क्रॉल करें और "स्वैप ESC और कैप्स लॉक" चुनें।

किया हुआ!


जो : Ubuntu में आपका स्वागत है! ;-) क्या आप मेरे संपादन की समीक्षा कर सकते हैं और भविष्य में आपके उत्तरों की पठनीयता को बेहतर बनाने के लिए संपादन मदद की भी समीक्षा कर सकते हैं? ;-)
Fabby

2
यह ubuntu और टकसाल के लिए सबसे अच्छा जवाब होना चाहिए
प्रसाद

क्या यह यहां बताए गए स्क्रिप्टेड अपडेट के अलावा कुछ भी करता है? ऐसा स्क्रिप्ट में करना पसंद करते हैं।
बेन क्रेसी

7

टर्मिनल में एक बार इस कमांड को चलाएं। dconfपहले से ही सूक्ति 3 के साथ स्थापित किया जाना चाहिए।

dconf write "/org/gnome/desktop/input-sources/xkb-options" "['caps:swapescape']"

इस समाधान ने
रेडहैट

3

यह "कीबोर्ड लेआउट" सिस्टम सेटिंग से किया जा सकता है । आपके द्वारा उपयोग किए जा रहे लेआउट के लिए "विकल्प" पर क्लिक करें, फिर "कैप्स लॉक कुंजी व्यवहार" के तहत "स्विच एस्केप और कैप्सलॉक" चुनें।


यह कम से कम 13.10 में उपलब्ध नहीं है।
इसहाक डोंटेजे लिंडेल

3

मैंने इस उद्देश्य के लिए विशेष रूप से C में एक उपकरण बनाया है जो xcape / xmodmap समाधान के साथ कई समस्याओं को दूर करता है :

यह थोड़ा अधिक करता है क्योंकि यह CAPSLOCK को ESC और CTRL दोनों के रूप में बदल देता है।


2

मुझे उत्तर देने में देर हो गई है, लेकिन स्वैप करने का सामान्य तरीका Escऔर फ़ाइल Ctrlमें निम्नलिखित पंक्तियों के साथ है ~/.Xmodmap:

clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock

यह सभी डेस्कटॉप वातावरण (केडीई, गनोम) के साथ सबसे आम डिस्ट्रोस (उबंटू और डेबियन परिवार, फेडोरा और आरएच परिवार) पर काम करना चाहिए।


यह ubuntu 16.04 पर काम नहीं किया आप अधिक विस्तृत कर सकते हैं?
MaikoID

@MaikoID: यह बहुत ही शानदार तरीका है जो अनैतिक तरीके से स्वैपिंग कैप्सलॉक और एस्क का उपयोग करता है। मैं समझता हूं कि यूनिटी के साथ नए उबंटू संस्करण बहुत सारे "कैनोनिकल यूनिक्स" चीजों को तोड़ते हैं, इसलिए ऐसा लगता है कि यहां अन्य सभी उत्तर कुछ संस्करण-विशिष्ट या डीई-विशिष्ट (यूनिटी) पद्धति को संबोधित करते हैं। इसके लायक क्या है, यह कुबंटु पर काम करता है , जिसे मैं व्यक्तिगत रूप से उपयोग करता हूं।
dotancohen

2

Ubuntu 18.04 और सूक्ति 3.30 के लिए यह मेरे लिए काम करता है:

gsettings set org.gnome.desktop.input-sources xkb-options "['caps:swapescape']"

अभी भी 19.04 पर काम कर रहा है।
एक्सलेरेशन-जी

1

केडीई जीयूआई (ग्राफिकल यूजर इंटरफेस) पर, यह सिस्टम सेटिंग पर कीबोर्ड लेआउट से किया जा सकता है। "इनपुट डिवाइस" पर क्लिक करें। ऊपरी बाएँ कोने पर, कीबोर्ड पर क्लिक करें। फिर "उन्नत" टैब क्लिक करें। और "कैप्स लॉक कुंजी व्यवहार" के तहत "स्विच एस्केप और कैप्सलॉक" चुनें।


यह बहुत अच्छा है कि आपने इस प्रश्न का उत्तर प्रदान किया है। क्या आप अपने प्रश्न को थोड़ा विस्तार करने के लिए संपादित कर सकते हैं, संभवतः वांछित परिणाम के साथ "स्वैप ESC और कैप्स लॉक" का चयन करें। चूना गया।
फिल यूके

नमस्कार और उबंटू पूछने के लिए आपका स्वागत है! अपनी वर्तमान स्थिति में, यह उत्तर वास्तव में पूर्ण नहीं है, और इसलिए हटाए जाने का जोखिम है। कृपया हमारा हाउ टू आंसर हेल्प पेज पढ़ें , और फिर वापस आकर अपने उत्तर को और अधिक विस्तार से शामिल करने के लिए संपादित करें, विशेष रूप से यह ओपी के प्रश्न को कैसे हल करता है। इसके अतिरिक्त, बैज प्राप्त करने के लिए कृपया हमारी यात्रा पढ़ें और हमारी साइट कैसे काम करती है इसका एक बेहतर विचार है। फिर मिलेंगे!
काज वोल्फ

आपकी सलाह के लिए धन्यवाद। काश यह संपादन वह हो जो आप चाहते हैं
फरहाद गुदरज़ी

FYI करें, आपके डोमेन के साथ लिंक काम नहीं करता है (कम से कम मेरे लिए), लेकिन पिछला आईपी पता डोमेन काम करता है।
एंड्रयू टी।

1

ऊपर "स्विच एस्केप और कैप्सलॉक" वाला "कीबोर्ड लेआउट" उबंटू 16.04 और उस पर (क्या यह पहले था? डननो) मान्य नहीं है। उत्तर: अनुमति आदि के साथ हलचल से बचने के लिए, बस रूट करने के लिए स्विच करें इससे पहले कि आप यह सब करना शुरू करें suऔर अपना रूट पासवर्ड दर्ज करें। फिर:

    cd /etc/default/
    vim keyboard

वहां आपको लाइन दिखाई देगी:

    XKBOPTIONS=""

इसे इसमें बदलें:

    XKBOPTIONS="caps:swapescape"

बचत के साथ बाहर निकलें:

    :wqa

रीबूट।

और यह स्थायी होगा , मैं वादा करता हूं। :)


0

नोट: यह स्वैप नहीं करता है, केवल टोपियां esc पर लॉक करता है। (यह मेरे विम usecase के लिए काफी अच्छा था।)

Ubuntu 16:04 (i3 पर्यावरण के साथ) के लिए: बनाई गई फ़ाइल ~ / .xessionrc सामग्री के साथ

xmodmap -e "clear lock" #disable caps lock switch
xmodmap -e "keysym Caps_Lock = Escape" #set caps_lock as escape

1
हालांकि यह उत्तर वास्तव में 1/2 को हल कर सकता है। ओपी ने जिस समस्या के बारे में कहा है वह निम्न गुणवत्ता वाले उत्तर कतार में दिखाई दे रही है। आप इसे और विस्तार के साथ विस्तारित करने पर विचार कर सकते हैं। यह कैसे और क्यों शायद काम करता है।
एल्डर गीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.