วิธีการเปลี่ยนเค้าโครงแป้นพิมพ์สำหรับป้อนข้อมูลในคอนโซล


42

ฉันต้องเปลี่ยนเค้าโครงของแป้นพิมพ์ขณะทำงานในคอนโซลใน Linux ฉันต้องตั้งค่าเลย์เอาต์ภาษาอังกฤษเป็นค่าเริ่มต้นสำหรับคอนโซล ทำอย่างไร?


คุณใช้ distro อะไร
emzero

Ubuntu, เข้าสู่ระบบภายใต้รูท
J.Olufsen

1
"loadkeys us" ทำงานแล้ว! วิธีที่จะทำให้มันเป็นรูปแบบเริ่มต้น?
J.Olufsen

คำตอบ:


42

หากต้องการเปลี่ยนเค้าโครงแป้นพิมพ์ทั่วทั้งระบบให้เรียกใช้

sudo dpkg-reconfigure keyboard-configuration

หรือแก้ไขในบรรทัดXKBLAYOUT/etc/default/keyboard


2
On Red Hat 7: localectl status, localectl list-keymaps, localectl set-keymap czดูการเปลี่ยนแป้นพิมพ์เค้าโครง ... ความ keymaps อยู่ใน/usr/lib/kbd/keymaps/ครับ ..
เดวิด TONHOFER

สวัสดี)) อูบุนตู 18.04.2 กับเดสก์ทอป Gnome /etc/default/keyboardไม่ตอบสนองต่อรัฐ ในการเปลี่ยนการตั้งค่าแป้นพิมพ์ในกรณีนี้คุณต้องใช้dconf
AtachiShadow

16

หากต้องการเปลี่ยนเค้าโครงแป้นพิมพ์ของคุณอย่างรวดเร็วเพียงติดตั้ง setxkbmap ด้วย:

sudo apt-get install x11-xkb-utils

หลังจากนี้คุณสามารถเปลี่ยนเค้าโครงแป้นพิมพ์ด้วย:

setxkbmap us

หากต้องการทำสิ่งนี้โดยอัตโนมัติทุกครั้งให้ขยาย.bashrcด้วย:

echo "setxkbmap us" >> ~/.bashrc

ตอนนี้เปิดคอนโซลใหม่และรูปแบบแป้นพิมพ์สหรัฐฯเปิดใช้งาน ไม่ต้องกังวลหากไอคอนเค้าโครงแป้นพิมพ์ขนาดเล็กในพาเนล Ubuntu ไม่เปลี่ยนแปลง


สิ่งนี้ไม่ได้เปลี่ยนเค้าโครงแป้นพิมพ์เริ่มต้นจริง ๆ แต่เป็นการแฮ็คเพื่อรีเซ็ตเค้าโครงแป้นพิมพ์ไปเป็นอีกรูปแบบหนึ่งทุกครั้งที่คุณเปิดคอนโซลใหม่ (ในขณะที่จำเป็นต้องรีเซ็ตเท่านั้นหลังจากรีบูต) สำหรับวิธีการแก้ปัญหาแบบถาวรคุณสามารถตั้งค่าได้โดยตรงตัวอย่าง/etc/default/keyboardเช่นคำแนะนำจากคำตอบอื่น ๆ
baptx

สิ่งนี้ไม่ตอบคำถาม setxkbmap (1) ทำงานภายใต้ X (กราฟิก) ในขณะที่ OP ถามเกี่ยวกับคอนโซล OP ได้แสดง loadkeys (1) ในความคิดเห็นในคำถามของเขาสามปีก่อนที่คุณจะโพสต์คำตอบนี้ (loadkeys (1) เป็นโปรแกรมสำหรับคอนโซลเท่านั้น)
Guildenstern

6

อีกวิธีหนึ่ง แต่ฉันเข้าใจว่ามันจะไม่ใช้การบูตครั้งถัดไป:

sudo loadkeys /usr/share/keymaps/i386/qwerty/us.kmap.gz

ตรวจสอบ / usr / share / keymaps / i386 / สำหรับรูปแบบแป้นพิมพ์ของคุณและปุ่มกดสำหรับสิ่งที่เหมาะกับคุณมากขึ้น


วางไว้ใน /etc/profile.d/bashrc
BK

@BK อาจจะ/etc/rc.localไม่ต้องใช้ sudo?
อำนาจกุมภ์

1

loadkeys us ---- มันโหลด US keys แต่สำหรับครั้งเดียว


Loadkeys ได้รับการแนะนำและในคำตอบที่ดีกว่าซึ่งรวมถึงข้อมูลเกี่ยวกับวิธีการใช้งาน โปรดหลีกเลี่ยงการโพสต์ข้อมูลที่ซ้ำกันในคำตอบโดยเฉพาะเมื่อโพสต์ของคุณไม่ได้ประกอบด้วยคำตอบที่สมบูรณ์
music2myear

คำตอบที่ดีที่สุดสำหรับฉันแม้ว่า
not2savvy

0

วิธีที่ตลกมากอาจเปลี่ยนกลับได้ .. วิธีแก้ปัญหาที่เป็นไปได้คือทำสคริปต์ทุบตี (ชื่อ w / สัญลักษณ์ของภาษาเป้าหมายตัวอย่างเช่นангл) เคล็ดลับที่สองคือการพิมพ์ "setxkbmap us; setxkbmap ru" ดังนั้นจึงเป็นไปได้ที่จะใช้ประวัติทุบตีเพื่อส่งคืนโครงร่างหลักไปยังคอนโซล


1
คุณช่วยอธิบายให้ชัดเจน (1) สิ่งที่คุณพูดและ (2) มันตอบคำถามได้อย่างไร?
Scott

ดีคุณเปลี่ยนคอนโซลเป็นภาษารัสเซีย คุณต้องการเปลี่ยนเป็นภาษาอังกฤษ 777 อย่างไรฉันไม่ได้ตอบคำถามหลักฉันเพิ่งเพิ่มเทคนิคเพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้น ตัวอย่างเช่นคุณทำงานโดยไม่มี gui & เปลี่ยนคอนโซลเป็นภาษารัสเซียดังนั้นคุณจึงไม่สามารถพิมพ์คำสั่งใด ๆ :)
Z0dCHiY8

0

แฮ็คที่ดีกว่าคือการตรวจสอบ udev และรีเซ็ตโดยอัตโนมัติหากคีย์บอร์ดถูกตัดการเชื่อมต่อ แม้แต่ผู้ใช้บนแล็ปท็อปก็อาจจำเป็นต้องใช้เพราะมันอาจถูกตัดการเชื่อมต่อทันที ฉันเพิ่งทำ gitub repo เพื่อทำสิ่งนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.