উত্তর:
সরঞ্জাম উপর কীবোর্ড লেআউট নিপূণভাবে ভার্চুয়াল কনসোল হয় loadkeys
, dumpkeys
এবং showkey
। তাদের ম্যানেজগুলি পড়ুন এবং তাদের জটিলতা সম্পর্কে নিজেকে অবহিত করুন।
নোট করুন যে এই সরঞ্জামগুলি শুধুমাত্র ভার্চুয়াল কনসোলে কাজ করে, জিনোমের মতো গ্রাফিক্যাল পরিবেশে টার্মিনাল এমুলেটরটিতে নয়। পার্থক্য সম্পর্কে শিখুন এই প্রশ্নটি এবং উত্তরগুলি পড়ুন: https://askubuntu.com/questions/14284/why-is-a-virtual-terminal- ভার্চুয়াল- এবং- কেন- কেন- যেখানে- is- the- বাস্তব- অন্তর্গত ।
আপনি যা চান তা করার জন্য এখানে একটি সংক্ষিপ্ত গাইড:
আপনার বর্তমান কীবোর্ড লেআউটটি সংরক্ষণ করুন:
$ dumpkeys > backup.kmap
যদি কিছু ভুল হয়ে যায় আপনি কমান্ডটি ব্যবহার করে আপনার কী-ম্যাপটি পুনরুদ্ধার করতে সক্ষম হতে পারেন:
$ sudo loadkeys backup.kmap
যদি কীবোর্ডটি এত বেশি গোলমাল হয়ে যায় যে আপনি এটি করতেও পারেন না তবে প্রাচীন কার্নেল যাদুতে জড়িত না আপনার একমাত্র বিকল্পটি পুনরায় বুট করা।
আপনার কীগুলিতে কোন কী কোডগুলি বরাদ্দ করা হয়েছে তা পরীক্ষা করুন:
$ showkey
এবার ESC কী এবং ক্যাপস্লক কী টিপুন। কীকোডগুলি স্ক্রিনে প্রদর্শিত হবে। কীকোডগুলি নোট করুন। আমার সিস্টেমে চট্টগ্রাম সিটি কর্পোরেশন keycode 1 এবং capslock keycode 58. হয়েছে showkey
নিষ্ক্রিয়তার 10 সেকেন্ড পরে বন্ধ করে দেব (অন্তত এটা আমার উবুন্টু 10.04 তে না)।
ডাম্পকি থেকে ESC এবং ক্যাপস্লক কীগুলির নামগুলি নোট করুন:
$ dumpkeys | grep 1
...
keycode 1 = Escape
...
$ dumpkeys | grep 58
...
keycode 58 = CtrlL_Lock
...
ডাম্পকি থেকে কিম্যাপ লাইনটি নোট করুন:
$ dumpkeys | head -1
keymaps 0-127
একটি কীম্যাপ ফাইল তৈরি করুন যা ESC এবং ক্যাপস্ককে স্যুইচ করে:
keymaps 0-127
keycode 1 = CtrlL_Lock
keycode 58 = Escape
কীম্যাপটি লোড করুন:
$ sudo loadkeys swap_esc_capslock.kmap
পরীক্ষা: ক্যাপসকল কী পরীক্ষা করা সুস্পষ্ট। কেবল তারা ক্যাপস্লক কী টিপুন এবং অন্যান্য কীগুলি মূলধন থেকে বেরিয়ে আসে কিনা তা পরীক্ষা করুন। ESC কীটি পরীক্ষা করতে আপনি ESC এর পরে CTRL + V ব্যবহার করতে পারেন। এটি মুদ্রণ করা উচিত ^[
। সিটিআরএল + ভি শেলটি ব্যাখ্যা করার পরিবর্তে পরবর্তী কী ভারব্যাটিয়াম শেলটি মুদ্রণ করে।
প্রতিটি পুনরায় বুট করার জন্য এই পরিবর্তনটি লোড করতে আপনার /etc/rc.local
ফাইলটিতে নিম্নলিখিত লাইনটি রাখুন :
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
সহ বিভিন্ন পৃষ্ঠাগুলি থেকে সংগৃহীত তথ্য, তবে সীমাবদ্ধ নয়:
/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
বা কী ম্যাপ ইনস্টল করা বা কীম্যাপ ইনস্টল করলেও কাজ করবে তা সত্যই আমি জানি না । আমি ইদানীং এটি গবেষণা করে চলেছি এবং আমি এখানে আবার চেক করব।
আপনি যদি কেবল দুটি ক্যাপস্লক কী (অন্য নামে ক্যাপস্লক এখনও সুপার অকেজো) রাখতে চান তবে 'সিটিআরএল: ন্যাপ্যাপস' ব্যবহার করুন।
এক্স 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
sudo setupcon --save
rc.local সম্পাদনা না করে স্থায়ী পরিবর্তনগুলি করতেও ব্যবহার করতে পারেন। এটি মূলত একইরকমdumpkeys < /dev/tty1 | gzip > /etc/console-setup/cached.kmap.gz