Rebinding / vô hiệu hóa CTRL + ALT + F # Chuyển đổi thiết bị đầu cuối / bảng điều khiển ảo


21

Tôi có một ứng dụng liên kết CTRL+ ALT+ F7, nhưng máy linux của tôi dường như bắt được tổ hợp phím.

Có cách nào để rebind / vô hiệu hóa khóa này? Một biên dịch lại của kernel là một câu trả lời chấp nhận được.

Các bản phân phối trong câu hỏi là Fedora 16 và Ubuntu 11.10.


Tôi không có lời khuyên cụ thể nào, nhưng tôi nghĩ, vì CTRL + ALT + Fn chỉ bị ràng buộc trong Hệ thống X-Windows, rằng hạt nhân sẽ không liên quan đến nó theo bất kỳ cách nào và có lẽ bạn sẽ may mắn hơn cố gắng để điều chỉnh cấu hình X11.
njsg

@njsg Bạn có thể sử dụng cùng một khóa để chuyển từ X11 sang vt và để chuyển trở lại (cũng giữa các vt) - vì vậy chúng phải được liên kết giống nhau trên vt.
Volker Siegel

Câu trả lời:


10

Đặt phần này vào /etc/X11/xorg.conftệp của bạn để tắt chuyển đổi VT bằng Ctrl+ Alt+ Fn:

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

Bạn cũng sẽ cần những điều sau đây để khiến các sự kiện được truyền qua các máy khách được kết nối với màn hình:

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

(Đó là bit cuối cùng chưa được kiểm tra, tham khảo nguồn của nó .)


Điều này không chuyển tiếp sự kết hợp đến cửa sổ, X vẫn bắt được nó.
Jes

2
Sau vài tháng phải chạy Windows, cuối cùng tôi cũng đã thử nghiệm điều này trên LubFi 12.04, trong đó cửa sổ IntelliJ IDEA vẫn không bắt được tổ hợp phím.
Jes

2
Sử dụng hai cài đặt là cả hai yêu cầu đối với tôi và làm việc cho tôi. (trên centos). ctrl-alt-f7 hiện đang hiển thị các cách sử dụng nội tuyến trong intellij :).
Rob Dawson

3
Nếu bạn đang sử dụng Intellij và muốn sử dụng CTL+ALT+F7cho "Hiển thị mức sử dụng", trên LubFi 15.04, lối tắt mặc định là chính xác CTL+ALT+7. Bạn sẽ cần phải thay đổi nó trở lại CTL+ALT+F7nếu bạn muốn giữ phù hợp với các hệ điều hành khác.
Xiao Peng - ZenUML.com 17/05/2016

1
Chỉ để xác nhận điều này hoạt động trên FreeBSD 11 quá.
gsl

15

Lệnh sau đây của setxkbmaplệnh X11 sẽ vô hiệu hóa chuyển đổi bàn điều khiển / thiết bị đầu cuối ảo Ctrl-Alt-Fn:

setxkbmap -option srvrkeys:none

Để trở lại hành vi trước đó của các phím ctrl-alt-Fn và cũng xóa tất cả các tùy chọn khác, chẳng hạn như caps:ctrl_modifier:

setxkbmap -option ''

Để in các cài đặt hiện tại gọi setxkbmap -print.

Để gọi mỗi người dùng, hãy đặt lệnh trong tệp ~ / .xinitrc.

Để gọi khi Xsession bắt đầu, hãy tạo một tệp trong

/etc/X11/Xsession.d

nhu la

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

chứa setxkbmaplệnh trên và làm cho nó có thể thực thi được sudo chmod +x /etc/X11/Xsession.d/65srvrkeys-none.

Để biết thêm thông tin loại man setxkbmaptại dấu nhắc trình bao của bạn hoặc xem trang man Xorg setxkbmap .

Tôi đã thử nghiệm điều này với KDE trên Ubuntu 14.04 LTS (Trusty). Các cài đặt này cũng có sẵn trong Cài đặt hệ thống> Thiết bị đầu vào> Bàn phím> Nâng cao. Nếu bạn thay đổi srvrkeystrong Cài đặt GUI, nó sẽ hiển thị ngay lập tức setxkbmapvà ngược lại.

Tôi thích sửa đổi hệ thống cửa sổ X thông qua các giao diện dòng lệnh X11. Nếu điều đó không làm việc, thì tôi sẽ thử môi trường máy tính để bàn. Như một phương sách cuối cùng, tôi sẽ sửa đổi các tập tin cấu hình hệ thống. Việc triển khai và định dạng tệp thay đổi, nhưng giao diện dòng lệnh tồn tại gần như mãi mãi trong truyền thống Unix / Linux.


Cảm ơn, @RobertL. Hy vọng của tôi rất cao, nhưng không, điều này dường như không có bất kỳ ảnh hưởng nào đến bản cài đặt Debian jessie và Ubuntu 14.04 của tôi. Ctrl-Alt-F7 và Ctrl-Alt-F8 vẫn chuyển đổi qua lại đến và từ một thiết bị đầu cuối ảo. Tôi cũng không có mục menu đó Cài đặt hệ thống> Thiết bị đầu vào> ... Có lẽ đó là một điều KDE? Tôi đang sử dụng Gnome hoặc bất cứ thứ gì mặc định của Ubuntu.
chiếu vào

Tôi đã thử một vài cách và cách này là cách duy nhất hoạt động trong Lubfox 16.04, nó hoạt động khi tôi đăng nhập. Bạn có biết làm thế nào để nó hoạt động trong màn hình chào mừng của lxdm không? (trong Ubuntu với lightdm hoạt động).
J.Serra

1
Nó hoạt động trên Linux Mint 18. Cảm ơn bạn.
Hoàng Trần

1
Nó hoạt động với tôi trên Debian 8 (Jessie). LƯU Ý: Tôi chỉ kiểm tra dòng lệnh setxkbmap -option srvrkeys:none. Tôi đặt mục trong một tập tin /etc/X11/Xsession.d/65srvrkeys-none. Và trong khi tôi chưa đăng xuất và đăng nhập lại, tôi cho rằng nó sẽ hoạt động tốt.
MikeyE

1
Làm việc tốt với tôi trên Debian Buster; như @MikeyE Tôi chưa đăng xuất (và có thể sẽ không làm như vậy trong một vài tuần / tháng ;-) nhưng setxkbmapcách tiếp cận đã làm được điều đó. Nhiều đánh giá cao!
Per Lundberg

1

Bạn có thể tắt chức năng này bằng cách đi tới Cài đặt hệ thống -> bố trí bàn phím -> tùy chọn. trong các tùy chọn tương thích linh tinh, hãy kiểm tra "các phím đặc biệt Ctrl+ Alt+ <key>được xử lý trong máy chủ".

Tôi đã kiểm tra cái này và Ubuntu không bắt được bất kỳ sự kết hợp nào của Ctrl+ Alt+ .... nhưng ý tưởng vẫn không bắt được Ctrl+ Alt+ F7và vấn đề vẫn tồn tại !!!.


Bạn nói đúng Ubuntu không bắt được nó, nhưng tôi nghi ngờ rằng máy chủ X làm được.
Jes

3
Yay! Theo mặc định, Ubuntu IDEA xử lý Ctrl + Alt + 7 thay vì F7 !
o_nix

0

Trong Ubuntu 18.04, bạn cần tạo tệp sau:

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

với nội dung này:

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

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

sau đó khởi động lại hệ thống của bạn.


Ngoại trừ tên tệp, điều này đã được đề xuất trong câu trả lời được chấp nhận.
RalfFriedl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.