Rebinding / ปิดการใช้งาน CTRL + ALT + F # การสลับเทอร์มินัลเสมือน / คอนโซล


21

ฉันมีแอปพลิเคชันที่ผูกCTRL+ ALT+ F7แต่เครื่อง linux ของฉันดูเหมือนจะจับการกดแป้น

มีวิธีในการผูกใหม่ / ปิดใช้งานคีย์นี้หรือไม่ การคอมไพล์ซ้ำของเคอร์เนลเป็นคำตอบที่ยอมรับได้

การแจกแจงในคำถามคือ Fedora 16 และ Ubuntu 11.10


ฉันไม่มีคำแนะนำเฉพาะใด ๆ แต่ฉันคิดว่าเนื่องจาก CTRL + ALT + Fn ถูกผูกไว้ภายใต้ระบบ X-Windows เท่านั้นเคอร์เนลจะไม่เกี่ยวข้องกับมันในทางใดทางหนึ่งและคุณอาจจะโชคดีกว่า พยายามปรับแต่งการกำหนดค่า X11
njsg

@njsg คุณสามารถใช้ปุ่มเดียวกันเพื่อเปลี่ยนจาก X11 เป็น vt และเปลี่ยนกลับ (เช่นระหว่าง vt) - ดังนั้นพวกเขาจะต้องถูกผูกไว้เหมือนกันใน vt
Volker Siegel

คำตอบ:


10

วาง/etc/X11/xorg.confไฟล์นี้ในไฟล์ของคุณเพื่อปิดการใช้งานการสลับ VT ด้วยCtrl+ Alt+Fn :

Section "ServerFlags"
    Option "DontVTSwitch" "on"
EndSection

คุณจะต้องมีสิ่งต่อไปนี้เพื่อทำให้เหตุการณ์ผ่านไปยังไคลเอนต์ที่เชื่อมต่อกับจอแสดงผล:

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "srvrkeys:none"
EndSection

(บิตสุดท้ายนั้นยังไม่ได้ทดสอบอ้างอิงแหล่งที่มา )


สิ่งนี้ไม่ได้ส่งต่อการรวมกันไปที่หน้าต่าง X ยังคงจับมัน
Jes

2
หลังจากผ่านไปไม่กี่เดือนที่ฉันต้องเปิดใช้ Windows ฉันได้ทำการทดสอบในที่สุดบน Lubuntu 12.04 ซึ่งหน้าต่าง IntelliJ IDEA ยังคงไม่สามารถกดแป้นได้
Jes

2
ฉันจำเป็นต้องใช้ทั้งสองการตั้งค่าและทำงานให้ฉัน (บน centos) ctrl-alt-f7 กำลังแสดงประเพณีการใช้อินไลน์ใน Intellij :)
Rob Dawson

3
หากคุณใช้ Intellij และต้องการใช้CTL+ALT+F7สำหรับ "แสดงการใช้งาน" บน Lubuntu 15.04 ทางลัดเริ่มต้นจะเป็นแบบCTL+ALT+7อัตโนมัติ คุณจะต้องเปลี่ยนกลับไปเป็นCTL+ALT+F7หากคุณต้องการให้สอดคล้องกับระบบปฏิบัติการอื่น ๆ
Xiao Peng - ZenUML.com

1
เพียงแค่ยืนยันการใช้งานกับ FreeBSD 11 ด้วย
gsl

15

การเรียกsetxkbmapใช้คำสั่งX11 ต่อไปนี้ปิดใช้งานการสลับคอนโซล Ctrl-Alt-Fn / การเปลี่ยนเทอร์มินัลเสมือน:

setxkbmap -option srvrkeys:none

หากต้องการกลับไปสู่การทำงานก่อนหน้าของปุ่ม ctrl-alt-Fn และลบตัวเลือกอื่น ๆ ทั้งหมดเช่นcaps:ctrl_modifier:

setxkbmap -option ''

หากต้องการพิมพ์การตั้งค่าปัจจุบันที่เรียกใช้ setxkbmap -printหากต้องการพิมพ์การตั้งค่าปัจจุบันวิงวอน

หากต้องการเรียกใช้ต่อผู้ใช้ให้วางคำสั่งในไฟล์ ~ / .xinitrc

หากต้องการเรียกใช้เมื่อ Xsession เริ่มขึ้นให้สร้างไฟล์

/etc/X11/Xsession.d

เช่น

/etc/X11/Xsession.d/65srvrkeys-none

มีsetxkbmapคำสั่งข้างต้นและทำให้มันปฏิบัติการด้วยsudo chmod +x /etc/X11/Xsession.d/65srvrkeys-noneคำสั่งและทำให้มันปฏิบัติการด้วย

สำหรับข้อมูลเพิ่มเติมพิมพ์man setxkbmapที่ shell prompt หรือดูหน้าXorg setxkbmapหน้าคน

ฉันทดสอบสิ่งนี้กับ KDE บน Ubuntu 14.04 LTS (Trusty) การตั้งค่าเหล่านี้ยังมีอยู่ในการตั้งค่าระบบ> อุปกรณ์อินพุต> คีย์บอร์ด> ขั้นสูง หากคุณเปลี่ยนsrvrkeysการตั้งค่า GUI มันจะปรากฏขึ้นทันทีsetxkbmapและในทางกลับกัน

ฉันชอบที่จะแก้ไขระบบ X window ผ่านทางอินเตอร์เฟสบรรทัดคำสั่ง X11 หากไม่ได้ผลฉันจะลองใช้สภาพแวดล้อมเดสก์ท็อป เป็นทางเลือกสุดท้ายฉันจะแก้ไขไฟล์การกำหนดค่าระบบ การปรับใช้และรูปแบบไฟล์เปลี่ยนแปลงไป แต่อินเตอร์เฟสบรรทัดคำสั่งมีชีวิตอยู่เกือบตลอดกาลในประเพณี Unix / Linux


ขอบคุณ @RobertL ความหวังของฉันอยู่ในระดับสูง แต่ไม่ดูเหมือนจะไม่มีผลใด ๆ ต่อการติดตั้ง Debian jessie และ Ubuntu 14.04 ของฉัน Ctrl-Alt-F7 และ Ctrl-Alt-F8 ยังคงสลับไปมาจากเทอร์มินัลเสมือน ฉันยังไม่มีรายการเมนูนั้นการตั้งค่าระบบ> อุปกรณ์อินพุต> ... บางทีนั่นอาจเป็นสิ่งที่ KDE ฉันใช้ GNOME หรืออะไรก็ตามที่เป็นค่าเริ่มต้นของ Ubuntu
glts

ฉันได้ลองหลายวิธีแล้วอันนี้ก็ใช้งานได้ใน Lubuntu 16.04 เท่านั้นมันใช้งานได้ตอนที่ฉันลงชื่อเข้าใช้คุณรู้วิธีทำให้มันทำงานบนหน้าจอของ lxdm หรือไม่? (ใน Ubuntu กับ lightdm ใช้งานได้)
J.Serra

1
มันทำงานบน Linux Mint 18 ขอบคุณ
Hoang Tran

1
มันใช้ได้ผลกับฉันใน Debian 8 (Jessie) หมายเหตุ: ฉันทดสอบบรรทัดคำสั่งsetxkbmap -option srvrkeys:noneเท่านั้น /etc/X11/Xsession.d/65srvrkeys-noneฉันใส่รายการในแฟ้มใน และในขณะที่ฉันยังไม่ได้ออกจากระบบและกลับเข้ามาใหม่ฉันคิดว่ามันใช้ได้ดี
MikeyE

1
ทำงานได้ดีสำหรับฉันใน Debian Buster; เช่น @MikeyE ฉันยังไม่ได้ออกจากระบบ (และอาจจะไม่ทำในสองสามสัปดาห์ / เดือน ;-) แต่setxkbmapวิธีการทำเคล็ดลับ ชื่นชมมาก!
ต่อ Lundberg

1

คุณสามารถปิดใช้งานสิ่งนี้ได้โดยไปที่การตั้งค่าระบบ -> ตัวเลือกรูปแบบแป้นพิมพ์ -> ภายใต้ตัวเลือกความเข้ากันได้อื่น ๆ ให้ตรวจสอบ "คีย์พิเศษCtrl+ Alt+ <key>จัดการในเซิร์ฟเวอร์"

ฉันตรวจสอบสิ่งนี้และ Ubuntu ไม่ได้ใช้ชุดค่าผสมCtrl+ Alt+ ... แต่ความคิดที่ยังไม่ได้จับCtrl+ Alt+ F7และปัญหายังคงออก !!!


คุณพูดถูก Ubuntu ไม่เข้าใจ แต่ฉันสงสัยว่าเซิร์ฟเวอร์ X ทำ
Jes

3
เย้! พบว่าโดยค่าเริ่มต้นใน Ubuntu IDEA จัดการ Ctrl + Alt + 7แทนF7 !
o_nix

0

ใน Ubuntu 18.04 คุณต้องสร้างไฟล์ต่อไปนี้:

/usr/share/X11/xorg.conf.d/65-setxkbmap

กับเนื้อหานี้:

Section "ServerFlags"
    Option "DontVTSwitch" "on"
EndSection

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "srvrkeys:none"
EndSection

จากนั้นรีบูทระบบของคุณ


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