লিনাক্সে কনসোল কীম্যাপ কীভাবে পরিবর্তন করবেন?


36

আমি এক্সচেঞ্জ করতে Escএবং CapsLockকনসোলে (এক্সে নয়, এবং ব্যবহার xevকরতে চাই) চাই, আমি কীভাবে এটি করতে পারি?

আমার ওএস হ'ল উবুন্টু।

উত্তর:


60

সরঞ্জাম উপর কীবোর্ড লেআউট নিপূণভাবে ভার্চুয়াল কনসোল হয় loadkeys, dumpkeysএবং showkey। তাদের ম্যানেজগুলি পড়ুন এবং তাদের জটিলতা সম্পর্কে নিজেকে অবহিত করুন।

নোট করুন যে এই সরঞ্জামগুলি শুধুমাত্র ভার্চুয়াল কনসোলে কাজ করে, জিনোমের মতো গ্রাফিক্যাল পরিবেশে টার্মিনাল এমুলেটরটিতে নয়। পার্থক্য সম্পর্কে শিখুন এই প্রশ্নটি এবং উত্তরগুলি পড়ুন: https://askubuntu.com/questions/14284/why-is-a-virtual-terminal- ভার্চুয়াল- এবং- কেন- কেন- যেখানে- is- the- বাস্তব- অন্তর্গত

আপনি যা চান তা করার জন্য এখানে একটি সংক্ষিপ্ত গাইড:

  1. আপনার বর্তমান কীবোর্ড লেআউটটি সংরক্ষণ করুন:

    $ dumpkeys > backup.kmap
    

    যদি কিছু ভুল হয়ে যায় আপনি কমান্ডটি ব্যবহার করে আপনার কী-ম্যাপটি পুনরুদ্ধার করতে সক্ষম হতে পারেন:

    $ sudo loadkeys backup.kmap
    

    যদি কীবোর্ডটি এত বেশি গোলমাল হয়ে যায় যে আপনি এটি করতেও পারেন না তবে প্রাচীন কার্নেল যাদুতে জড়িত না আপনার একমাত্র বিকল্পটি পুনরায় বুট করা।

  2. আপনার কীগুলিতে কোন কী কোডগুলি বরাদ্দ করা হয়েছে তা পরীক্ষা করুন:

    $ showkey
    

    এবার ESC কী এবং ক্যাপস্লক কী টিপুন। কীকোডগুলি স্ক্রিনে প্রদর্শিত হবে। কীকোডগুলি নোট করুন। আমার সিস্টেমে চট্টগ্রাম সিটি কর্পোরেশন keycode 1 এবং capslock keycode 58. হয়েছে showkeyনিষ্ক্রিয়তার 10 সেকেন্ড পরে বন্ধ করে দেব (অন্তত এটা আমার উবুন্টু 10.04 তে না)।

  3. ডাম্পকি থেকে ESC এবং ক্যাপস্লক কীগুলির নামগুলি নোট করুন:

    $ dumpkeys | grep 1
    ...
    keycode   1 = Escape
    ...
    $ dumpkeys | grep 58
    ...
    keycode  58 = CtrlL_Lock
    ...
    
  4. ডাম্পকি থেকে কিম্যাপ লাইনটি নোট করুন:

    $ dumpkeys | head -1
    keymaps 0-127
    
  5. একটি কীম্যাপ ফাইল তৈরি করুন যা ESC এবং ক্যাপস্ককে স্যুইচ করে:

    keymaps 0-127
    keycode   1 = CtrlL_Lock
    keycode  58 = Escape
    
  6. কীম্যাপটি লোড করুন:

    $ sudo loadkeys swap_esc_capslock.kmap
    
  7. পরীক্ষা: ক্যাপসকল কী পরীক্ষা করা সুস্পষ্ট। কেবল তারা ক্যাপস্লক কী টিপুন এবং অন্যান্য কীগুলি মূলধন থেকে বেরিয়ে আসে কিনা তা পরীক্ষা করুন। ESC কীটি পরীক্ষা করতে আপনি ESC এর পরে CTRL + V ব্যবহার করতে পারেন। এটি মুদ্রণ করা উচিত ^[। সিটিআরএল + ভি শেলটি ব্যাখ্যা করার পরিবর্তে পরবর্তী কী ভারব্যাটিয়াম শেলটি মুদ্রণ করে।

প্রতিটি পুনরায় বুট করার জন্য এই পরিবর্তনটি লোড করতে আপনার /etc/rc.localফাইলটিতে নিম্নলিখিত লাইনটি রাখুন :

/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap

সহ বিভিন্ন পৃষ্ঠাগুলি থেকে সংগৃহীত তথ্য, তবে সীমাবদ্ধ নয়:


5
আপনি sudo setupcon --saverc.local সম্পাদনা না করে স্থায়ী পরিবর্তনগুলি করতেও ব্যবহার করতে পারেন। এটি মূলত একইরকমdumpkeys < /dev/tty1 | gzip > /etc/console-setup/cached.kmap.gz
বুকজোর

এটা ব্যবহার করা নিরাপদ /usr/bin/loadkeysমধ্যে /etc/rc.localযেহেতু পথ এনভায়রনমেন্ট ভেরিয়েবল এই পর্যায়ে সেট হওয়ার নিশ্চিত নয়। এবং sudoপ্রয়োজন হয় না rc.local
অগস্ট কার্লস্ট্রোম

@ অগাস্টকার্লস্ট্রোম কমান্ডটি rc.localপ্রতিবার সিস্টেম বুট হওয়ার পরে কার্যকর করে। @ bukzor এর sudo setupconহয় নাrc.local, এটি একটি এক সময় সেটআপ কমান্ড, যা সিস্টেম ডিফল্ট কীম্যাপ প্রতিস্থাপন, কোন রানটাইম প্রারম্ভে কোড যুক্ত ছাড়া আছে। যোগ loadkeys করা rc.local, অতিরিক্ত স্টার্ট আপ কোড যুক্ত করে এবং সিস্টেম ডিফল্ট লোডকিগুলি দ্বারা ইতিমধ্যে যা করা হয়েছিল তার সদৃশ। rc.localপদ্ধতি আসলে কম নিরাপদ হতে পারে না কারণ এটি কীম্যাপ করার জন্য একটি অ-মানক পথ উপর নির্ভর করে।
রবার্টল

@ রবার্টল দয়া করে setupconপদ্ধতিটি বিস্তারিতভাবে বর্ণনা করুন । আপনার নিজের উত্তর যুক্ত করুন বা আপনি চান তা আমার সম্পাদনা করুন।
লেসমানা

আমি @ বুকজোরের বক্তব্য সম্পর্কে যাচাই করতে পারি না setupcon। মনে হচ্ছে আগস্ট ভাবনাটি হলো এই যে প্রণীত sudo setupcon --saveযেতে হবে মধ্যে rc.localযা আমি মনে করি না সত্য, কিন্তু যদি এটা করবে, তখন আপনার প্রয়োজন হবে না sudoযে rc.local। আমি মনে করি আপনার উত্তর আপডেট করার আগে আমাদের আরও তথ্যের প্রয়োজন। মূল প্রশ্নটি হল "পরিবর্তিত কীম্যাপটি কীভাবে ইনস্টল করবেন যাতে এটি বুট প্রক্রিয়া চলাকালীন স্বয়ংক্রিয়ভাবে লোড হয়ে যায়?" কোনটি ভাল উপায়, rc.localবা কী ম্যাপ ইনস্টল করা বা কীম্যাপ ইনস্টল করলেও কাজ করবে তা সত্যই আমি জানি না । আমি ইদানীং এটি গবেষণা করে চলেছি এবং আমি এখানে আবার চেক করব।
রবার্টল

4

আপনি যদি কেবল দুটি ক্যাপস্লক কী (অন্য নামে ক্যাপস্লক এখনও সুপার অকেজো) রাখতে চান তবে 'সিটিআরএল: ন্যাপ্যাপস' ব্যবহার করুন।

এক্স 11: (আরও দেখুন /usr/share/X11/xkb/rules/base.lst:)

sudo vim /etc/default/keyboard
    XKBOPTIONS="ctrl:swapcaps"
udevadm trigger --subsystem-match=input --action=change
sudo restart lightdm

পাঠ্য কনসোল: (সেটআপকোন থেকে চুরি)

#!/bin/sh
. /etc/default/console-setup 
. /etc/default/keyboard
ckbcomp $acm_option $rules_option -model "$XKBMODEL" \
            "$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" \
            | gzip -9 2>/dev/null >/etc/console-setup/cached.kmap.gz
loadkeys /etc/console-setup/cached.kmap.gz
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.