LINUX.ORG.RU

Mint, SDDM, KDE: Вместо Ctrl+Alt+F1...6 срабатывает Alt+F1...6

 , , ,


0

1

Здравствуйте товарищи.

TL;DR: Прямо из KDE при нажатии Alt+F1 или, например, Alt+F4 происходит переключение в текстовую консоль.

Предыстория:
По долгу службы приходится пользоваться Linux Mint 18.1 Serena. Изначально на нём стоял mate и менеджер экрана mdm.
Я поставил KDE, после чего начались проблемы с экраном блокировки.
В частности, при блокировке экрана, появлялось чёрное окно с надписью «The screen locker is broken and the session can not be unlocked. To unlock it please switch to the console and execute 'loginctl unlock-sessions' you can then change back using ALT+CTRL+F7 to your running session.»
Путём поисков выяснил, что достаточно поставить другой DM, и поставил sddm. Проблема с чёрным экраном прошла, экран блокировки заработал.

Однако появилась проблема:
При нажатии на Alt+F1, Alt+F2 ... Alt+F6 происходит переключение в терминалы с соответствующими номерами. Причём, происходит при нажатии в KDE (то, что оно так должно работать в терминале, я знаю).
Соответственно, я не могу закрыть окно по Alt+F4, не могу открыть панель запуска приложений по Alt+F2.
Поиски ни к чему не привели, ни в русском ни в английском сегментах сети. Максимум что удаётся найти: «как отключить Ctrl+Alt+F#» и «как назначить другие клавиши на переключение терминалов».
При этом, комбинация Ctrl+Alt+F1..6 также работает.

Вопросы:
Что может вызывать такую работу Alt+F# в KDE?
В какую сторону копать?
Как это можно побороть?

Проверь, что у тебя не заедает ctrl на клавиатуре, сними клавиши, прочисти их, почисти контакты.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Спасибо за предположение.

Проверил.
Нажимаю «s» на клавиатуре - выводится «s». Нажимаю «Ctrl+S» выводится диалог «сохранить» (в браузере). Нажимаю Ctrl+F в Pycharm, запускается поиск. Нажимаю Ctrl+Alt+Y там же - запускается синхронизация с Git-ом.
Вывод:
Скорее всего Ctrl не залипает. Не говоря уже о том, что у меня бы много чего работало непредсказуемо, будь Ctrl постоянно нажат.

MihanEntalpo ()

Как это можно побороть?

Вернуться к пункту

поставил KDE

и отреверсить его.

mos ★★☆☆☆ ()

Как это можно побороть?

Попробуй удалить пакет console-cyrillic.

i-rinat ★★★★★ ()
Ответ на: комментарий от MihanEntalpo

Тогда более муторный и сложный путь. Скорее всего, у тебя почему-то отвалилась опция GrabDevice в секции с evdev в многочисленных конфигах X.Org. Надо как-то убедить его вернуть её обратно.

Было бы здорово, знай я, как это делать правильно. Но я не знаю.

https://www.x.org/releases/X11R7.5/doc/man/man4/evdev.4.html

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Решил проблему с помощью твоего совета, спасибо.

Что нужно сделать:

  1. Вырубить X-server
  2. Выполнить X -configure (cгенерируется /root/xorg.conf.new)
  3. Скопировать /root/xorg.conf.new в /etc/X11/xorg.conf
  4. Зайти в /dev/input/by-id/ и найти там устройство клавиатуры, в моём случае это было /dev/input/by-id/usb-SEM_USB_Keyboard-event-kbd
  5. Выяснить какая в системе видео-карта, и как называется её видео-драйвер (в моём случае intel)
  6. Открыть файл /etc/X11/xorg.conf
  7. Найти Section «InputDevice», в котором «Identifier» = «Keyboard0»
  8. Заменить Driver на «evdev»
  9. Добавить строку Option «Device» «/dev/input/by-id/usb-SEM_USB_Keyboard-event-kbd» (путь к устройству из пункта 4)
  10. Добавить строку Option «GrabDevice» «True»
  11. Найти Section «Device», и убедиться что Driver в этой секции указан от установленной видеокарты, в противном случае (у меня там был «fbdev») заменить на свой правильный драйвер (из пункта 5).

Способ, конечно, не идеальный:

  • С ним не будет работать bumblebee, если есть Nvidia через Optimus
  • С ним не всё будет хорошо с загрузкой системы с другой видокартой/монитором/клавиатурой

Идеальный способ в моём случае - снести Mint и поставить Debian, но на это пока нет времени.

MihanEntalpo ()
Ответ на: комментарий от MihanEntalpo

Есть ещё способ как бы «патчинга» конфигов X.Org, с помощью директив Match* (MatchDriver, MatchProduct и тому подобное). Это позволяет иксам остальное конфигурировать на лету. Так сделаны конфиги в /usr/share/X11/xorg.conf.d/. Возможно, этот способ будет удобнее.

В идеале стоило бы найти, что именно заставляет иксы отказаться от захвата клавиатуры. Но это с наскоку уже не сделать, придётся долго отлаживаться.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Кстати, интересный факт: в конфигах в /usr/share/X11/xorg.conf.d нет директив GrabDevice :)

Однако я нашёл там блок отвечающий за настройку клавиатуры, туда можно и вписать GrabDevice. Попробую.

MihanEntalpo ()
Ответ на: комментарий от MihanEntalpo

Ну и проблемы у вас в дефолтах...

Deleted ()
Ответ на: комментарий от MihanEntalpo

Дополнение

Дополню свой же ответ:

12. Если вдруг залить клавиатуру чаем, и купить новую, то пункты с 3 по 9 надо повторить, так как новая клавиатура возможно будет отличаться от старой.

MihanEntalpo ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.