Перемикання / відключення CTRL + ALT + F # Переключення віртуальних терміналів / консолей


21

У мене є додаток, який пов'язує CTRL+ ALT+ F7, але моя машина Linux, здається, сприймає натискання клавіші.

Чи є спосіб відновити / відключити цей ключ? Перекомпіляція ядра є прийнятною відповіддю.

Про це йдеться в Fedora 16 та Ubuntu 11.10.


Я не маю жодних конкретних порад, але я думаю, оскільки CTRL + ALT + Fn прив’язаний лише під системою X-Windows, ядро ​​не буде пов’язане з ним жодним чином, і вам, ймовірно, пощастить намагаються налаштувати конфігурацію X11.
njsg

@njsg Ви можете використовувати ті самі клавіші для переходу з X11 на vt та для переключення назад (також між vt's), тому вони повинні бути пов'язані однаково на 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 Jes

2
Після кількох місяців роботи Windows я нарешті перевірив це на Lubuntu 12.04, де вікно ID ID IntelliJ все ще не сприймає натискання клавіші.
Jes

2
Використання двох налаштувань було обом необхідним для мене, і працювало для мене. (на центоси). ctrl-alt-f7 тепер показує, що користувачі вбудовані в Intellij :).
Роб Доусон

3
Якщо ви використовуєте Intellij і хочете використовувати CTL+ALT+F7для "Показати використання", на Lubuntu 15.04 ярлик за замовчуванням гостро CTL+ALT+7. Вам потрібно буде змінити його назад, CTL+ALT+F7якщо ви хочете підтримувати відповідність іншим ОС.
Сяо Пен - ZenUML.com

1
Просто для підтвердження цього працює і на FreeBSD 11.
gsl

15

Наступне виклик команди X11 setxkbmapвідключає перемикання консолі / віртуального термінала 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підказку вашої оболонки або перегляньте сторінку людини Xorg setxkbmap .

Я перевірив це за допомогою KDE на Ubuntu 14.04 LTS (Trusty). Ці налаштування доступні також у Налаштуваннях системи> Пристрої вводу> Клавіатура> Додатково. Якщо ви змінили srvrkeysналаштування GUI, він відображатиметься негайно у setxkbmapта навпаки.

Я вважаю за краще змінювати систему вікон X через інтерфейси командного рядка X11. Якщо це не працює, я спробую зробити робоче середовище. В крайньому випадку я міняв би файли конфігурації системи. Реалізації та формати файлів змінюються, але інтерфейси командного рядка майже назавжди живуть у традиції Unix / Linux.


Дякую, @RobertL. Мої сподівання були великими, але ні, це, мабуть, не впливає на мої установки Debian і 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 (Джессі). ПРИМІТКА: Я протестував лише командний рядок setxkbmap -option srvrkeys:none. Я помістив запис у файл в /etc/X11/Xsession.d/65srvrkeys-none. І хоча я ще не вийшов із системи та повернувся, я припускаю, що це буде добре.
MikeyE

1
Добре працював для мене на Debian Buster; як @MikeyE Я ще не вийшов (і, ймовірно, не зроблю цього через пару тижнів / місяців ;-), але setxkbmapпідхід зробив свою справу. Цінується!
Пер Лундберг

1

Ви можете відключити це, перейшовши в Налаштування системи -> Розкладка клавіатури -> Параметр. під різними параметрами сумісності встановіть прапорець "спеціальні клавіші Ctrl+ Alt+ <key>обробляються на сервері".

Я перевірив це, і Ubuntu не вловлює жодної комбінації Ctrl+ Alt+ .... але все-таки ідея не ловить Ctrl+ Alt+ F7і проблема все-таки залишається !!!.


Ви маєте рацію, Ubuntu це не спіймає, але я підозрюю, що це X сервер.
Джес

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

потім перезавантажте систему.


За винятком імені файлу, це було запропоновано у прийнятій відповіді.
РальфФрідл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.