Linux Console Keyboard Lockup กด CapsLock


1

อูบุนตู 14.04 LTS คอนโซลที่ทำงานใน VirtualBox ใน Win7 ล็อคเมื่อกดCaps Lock: ไม่ยอมรับแป้นพิมพ์เพิ่มเติมแม้แต่Alt+ CursorRightหรือCtrl+ Alt+ Del(ออกจาก VirtualBox)
แก้ไข: เกิดขึ้นหลังจากการสลับ Y และ Z โดยการออก
echo -e keymaps 0-2,4-5,8,12 \\n keycode 21=z \\n keycode 44=y | loadkeys

ฉันสามารถปลดล็อกคอนโซลและทำงานต่อโดยไม่มีปัญหาหลังจากออกreset 2>/dev/tty1จากเซสชัน ssh
ฉันยังสามารถออกresetจากภายในคอนโซลที่ล็อคตัวเองโดยใช้ gpm (กดปุ่มกลางของเมาส์) เมื่อresetคำสั่งอยู่ในบัฟเฟอร์ gpm

ทำซ้ำได้ทุกที่ทุก/dev/tty<n>เวลา

ผลเช่นเดียวกันใน VirtualBox เวอร์ชัน 4 และ 5
ดูเหมือนว่าการล็อกจะไม่เกิดขึ้นที่ด้านข้างของ VirtualBox เพราะสามารถรักษาให้หายได้ในด้านของ linux

มีความแตกต่างในการส่งออกของไม่มีก่อนและหลังจากนั้นstty -a < /dev/tty1reset

vcs อื่นยังคงทำงานต่อไป (chvt ออกจาก ssh) แต่หลังจากAlt+ F1คอนโซลที่ถูกล็อคยังคงถูกล็อค: ดูเหมือนว่าปัญหาจะต้องอยู่ภายในรหัสคอนโซลเสมือน

ไม่มีข้อความปรากฏขึ้น/var/log/syslogหรือdmesgเมื่อปัญหานั้นเกิดขึ้น (เมื่อกด CapsLock) มีปัญหาหนึ่งที่ไม่สามารถทำซ้ำได้ซึ่งอาจเกิดจากการบันทึก / กู้คืน VM และอาจไม่เกี่ยวข้อง:

atkbd serio0: Spurious NAK บน isa0060 / serio0 บางโปรแกรมอาจพยายามเข้าถึงฮาร์ดแวร์โดยตรง

ในdmesg.

ฉันจะแก้ไขข้อบกพร่องนี้ได้อย่างไร
โดยเฉพาะ: ฉันจะค้นหาความแตกต่างสถานะคอนโซลก่อนและหลังการรีเซ็ตได้อย่างไร


atkbd serio0ดูเหมือนว่าจะเกี่ยวข้อง: atkbdเป็นคนขับสำหรับแป้นพิมพ์คอมพิวเตอร์และ isa0060 ดูเหมือนว่าจะมี I / O 0x60 พอร์ตซึ่งเป็นจริงหนึ่งที่ใช้โดย AT หรือ PS / 2 คอนโทรลเลอร์ของแป้นพิมพ์ คุณอาจลองเปลี่ยนเครื่องเสมือนเป็นแป้นพิมพ์ USB เสมือนเพื่อดูว่ามีการเปลี่ยนแปลงอะไรหรือไม่ ไม่แน่ใจว่ามีตัวเลือก GUI, ฉันไม่ได้ (ใน VM ของฉันชื่อ "อูบุนตู") "c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm Ubuntu --keyboard usbด้วยคำสั่งนี้ คุณอาจต้องปรับให้เข้ากับ VM ของคุณ หากคุณต้องการที่จะเปลี่ยนกลับไปเป็น PS / 2 คีย์บอร์ดแทนที่ด้วยusb ps2
Ale

พยายามที่: ไม่เปลี่ยนแปลงอะไรเลย การรีบูตเครื่องจะไม่สร้างข้อความ atkbd อีกต่อไป: ดูเหมือนว่าเกิดจากการบันทึก / กู้คืน VM แต่ฉันพบว่าการล็อคเกิดขึ้นหลังจากecho -e keymaps 0-2,4-5,8,12 \\n keycode 21=z \\n keycode 44=y | loadkeysที่ฉันทำรูปแบบแป้นพิมพ์ส่วนตัวของฉันเป็นประจำ
Juergen

พรุ่งนี้ฉันจะทดสอบว่ามันทำซ้ำบนพีซี Ubuntu จริงที่ไม่มี VirtualBox หรือไม่
Juergen

คำตอบ:


0

ลองเปลี่ยนคำสั่งเป็น:

echo -e keymaps 0-127 \\n keycode 21=z \\n keycode 44=y | loadkeys

ฉันจะทำซ้ำปัญหาบนเครื่องพีซีทางกายภาพใช้ Ubuntu 14.04 LTS (แม้ว่าคำสั่งไม่ได้มีผลกระทบอื่น ๆ เพราะ keymap ฝรั่งเศสสวิสผมใช้แล้วมี Y และ Z ในตำแหน่งนั้น) และการเปลี่ยนแปลง0-2,4-5,8,12ที่จะ0-127อยู่ในคำสั่งที่ดูเหมือนว่าจะแก้ มัน. ฉันไม่เข้าใจว่าทำไมมันถึงค้างกับคำสั่งอื่น แต่ปรีชาของฉันคือว่า keymap ที่ระบุช่วง undefine คนที่มีอยู่ใน keymap ดังนั้น undefining สถานะของปุ่มทั้งหมดเมื่อเปิด Caps Lock (ออกคำสั่งนี้ยังสร้าง ปัญหา: echo -e keymaps 0-2,4-5,8,12 | loadkeys) ไม่แน่ใจว่าเป็นข้อผิดพลาดหรือคุณสมบัติที่ตั้งใจไว้


ใช่มันใช้งานได้ดี ขอขอบคุณและขออภัยในความล่าช้า
Juergen

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