Как восстановить ввод в X11 на локальном и удалённом сеансе

Определите границы проблемы

Сначала проверьте, действительно ли используется X11. В терминале графического сеанса выполните echo $XDG_SESSION_TYPE. Значение x11 подтверждает X11, а wayland указывает на другой стек ввода. Команды xinput и настройки Xorg не исправят сеанс Wayland; для диагностики нужно применять средства среды рабочего стола либо выбрать сеанс Xorg на экране входа, если дистрибутив его предлагает.

Уточните, где пропал ввод: во всей графической среде, только в одном приложении, внутри игры, в окне виртуальной машины или лишь через VNC. Если курсор двигается за пределами проблемного окна, X11 и устройство работают. В таком случае закройте приложение сочетанием клавиш, переключите захват ввода виртуальной машины или сбросьте настройки программы.

Попробуйте перейти в текстовую консоль сочетанием Ctrl+Alt+F3 или другой доступной функциональной клавишей. На некоторых ноутбуках потребуется Fn. Работа клавиатуры в TTY означает, что ядро получает события, а неисправность находится выше: в Xorg, libinput, дисплейном менеджере или пользовательской конфигурации. Вернуться в графический сеанс обычно можно сочетанием Ctrl+Alt+F1, F2 или F7 — номер зависит от дистрибутива.

Если TTY недоступна, но компьютер отвечает по SSH, подключитесь с другого доверенного устройства и сохраните журналы. Если нет ни локального, ни удалённого отклика и даже часы на экране остановились, вероятно, зависла вся система. В таком случае отсутствие ввода — следствие зависания, а не отдельная поломка мыши.

Когда устройства не работают уже в BIOS/UEFI или загрузочном меню, X11 не является причиной. Нужна аппаратная проверка портов, питания и самих устройств. Общий вопрос почему не работает мышка и клавиатура на компьютере следует решать до изменения Linux-конфигурации.

Проверьте устройства на уровне ядра

Отключите USB-концентратор, удлинитель и лишнюю периферию. Подключите простую проводную клавиатуру и мышь напрямую к разным портам. Для беспроводного комплекта замените батарейки и переподключите приёмник. Bluetooth-устройства для первичной проверки неудобны: их работа зависит от запущенной службы и сохранённого сопряжения.

В TTY или по SSH выполните lsusb для USB-устройств и cat /proc/bus/input/devices для списка входных устройств ядра. Если модель появляется после подключения и исчезает после отключения, USB-обнаружение работает. Отсутствие нового устройства в lsusb указывает на порт, кабель, питание, приёмник или контроллер, а не на Xorg.

Изучите сообщения текущей загрузки: journalctl -b -k показывает журнал ядра. Сразу после переподключения полезны последние строки, содержащие usb, hid, input или bluetooth. Повторяющиеся сбросы USB, ошибки дескриптора и отключение по превышению тока нельзя маскировать перезапуском графики. Повреждённый порт следует обесточить и осмотреть.

Команда loginctl seat-status seat0 помогает проверить, назначены ли устройства основному рабочему месту. На системе с несколькими seats имя может отличаться. Неверное назначение бывает после нестандартных правил udev. Не копируйте чужое правило в /etc/udev/rules.d: слишком широкое совпадение способно лишить доступа все устройства ввода.

Проверьте загрузку системы, свободную память и место на корневом разделе. Заполненный диск мешает дисплейному менеджеру создавать временные файлы и журналы, а нехватка памяти вызывает зависания. Удаляйте только понятные пользовательские файлы и старые кэши, не очищайте /var и /tmp рекурсивно без понимания владельцев и назначения.

Проверьте Xorg и libinput

В работающем X11-терминале выполните xinput list. Команда должна показать виртуальные устройства XTEST и физические мыши, клавиатуры или их объединённые записи. Если устройство есть в /proc/bus/input/devices, но отсутствует в xinput, проверьте драйвер ввода, журналы Xorg и правила доступа к сессии.

Команда xinput требует адрес правильного X-дисплея и разрешения текущего пользователя. При запуске по SSH ошибка unable to open display ещё не говорит о поломке ввода. Посмотрите DISPLAY в терминале самого графического сеанса. Не назначайте DISPLAY=:0 вслепую: VNC и несколько локальных сеансов могут использовать :1, :2 и другие номера.

Современные установки Xorg обычно используют libinput. Убедитесь, что пакет драйвера ввода Xorg для libinput установлен из официального репозитория вашего дистрибутива. Названия пакетов различаются, поэтому ищите их через менеджер пакетов и документацию своей системы. Не скачивайте отдельный модуль со случайного сайта и не смешивайте пакеты разных выпусков.

Изучите журнал текущего дисплейного менеджера через journalctl -b, отфильтровав строки Xorg, libinput и input. В некоторых конфигурациях Xorg также создаёт файл журнала в каталоге пользователя или /var/log. Ищите отметки ошибок, сообщения об игнорировании устройства, отсутствии модуля и неверной секции InputClass. Не считайте каждое предупреждение причиной: сопоставляйте время с началом сбоя.

Проверьте пользовательские файлы /etc/X11/xorg.conf и /etc/X11/xorg.conf.d. Старые секции InputDevice, Option Ignore или жёстко заданный драйвер могут перекрывать автоматическое обнаружение. Не удаляйте каталог целиком. Создайте резервную копию только добавленного вами файла, временно уберите его из каталога конфигурации и перезапустите дисплейный менеджер либо компьютер.

Исправьте удалённый сеанс VNC

VNC-серверы работают в двух принципиально разных режимах. Один публикует существующий физический экран, другой создаёт отдельный виртуальный X-дисплей. Во втором режиме список устройств и раскладка не обязаны совпадать с локальным :0. Сначала определите номер дисплея и пользователя, от имени которого запущен сервер.

Проверьте, не включён ли режим View only. В нём клиент получает изображение, но сервер намеренно игнорирует клавиатуру и мышь. Аналогичный запрет может задаваться отдельными флажками приёма указателя и клавиатуры, политикой доступа или параметром запуска. Измените настройку через защищённый административный доступ, а не открывайте VNC без пароля.

Если подключение идёт к экрану входа, дисплейный менеджер и пользовательский сеанс могут иметь разные полномочия. Перезапуск VNC от случайного root-пользователя часто усугубляет проблему с файлами авторизации. Запускайте сервер предусмотренным сервисом или от владельца сеанса и проверяйте его журнал.

Не используйте xhost + для устранения ошибки доступа. Эта команда разрешает подключения к X-серверу слишком широкому кругу локальных клиентов и создаёт риск перехвата ввода. Исправьте владельца сеанса, DISPLAY и XAUTHORITY согласно документации выбранного VNC-сервера.

Если указатель двигается, но координаты смещены, сравните масштабирование клиента, геометрию виртуального экрана и несколько мониторов. Если клавиши передаются неверно, проверьте раскладку на сервере и клиенте, а также захват специальных сочетаний. Полный отказ обоих устройств чаще связан с режимом просмотра или правами, а не с раскладкой.

Восстановите конфигурацию без переустановки

Вспомните последнее изменение: обновление ядра, Xorg, дисплейного менеджера, установка драйвера планшета, игрового контроллера, средства удалённого доступа или правка udev. Если есть снимок файловой системы или резервная копия, верните только связанный конфигурационный файл. Не откатывайте весь компьютер до проверки аппаратного уровня.

Из TTY перезапустите дисплейный менеджер штатной командой systemctl restart с именем своего менеджера только после сохранения работы: графические приложения и несохранённые документы будут закрыты. Если имя неизвестно, сначала посмотрите systemctl status display-manager. На удалённом сервере убедитесь, что после перезапуска сохранится SSH-доступ.

Переустановите повреждённый пакет Xorg/libinput через официальный менеджер пакетов, не меняя выпуск дистрибутива. Если ошибка возникла сразу после обновления ядра, загрузка предыдущего установленного ядра из меню загрузчика является диагностическим тестом. Постоянно оставаться на старом ядре без обновлений безопасности не следует.

Live-система помогает отделить установленную конфигурацию от оборудования. Загрузите актуальный образ в режиме без установки и проверьте мышь с клавиатурой. Нормальная работа там указывает на пакеты или настройки установленной системы. Не запускайте установку и не форматируйте раздел ради теста.

Сохраните вывод lsusb, /proc/bus/input/devices, xinput list и релевантные строки journalctl. По ним видно, на каком уровне теряется устройство. Переустановка всей системы без этих проверок может не помочь при неисправном USB-контроллере и уничтожить полезные журналы.

FAQ

Почему клавиатура работает в TTY, но не в X11?

Ядро получает события, однако Xorg не добавляет устройство в сеанс либо его блокирует конфигурация InputClass. Проверьте xinput list, журнал Xorg, наличие libinput и пользовательские файлы в /etc/X11.

Почему xinput пишет unable to open display?

Команда запущена вне нужного графического сеанса, DISPLAY не задан или пользователь не имеет файла авторизации. Узнайте фактический номер дисплея в терминале сеанса. Не применяйте DISPLAY=:0 и xhost + как универсальное исправление.

Что делать, если в VNC видно экран, но ввод не передаётся?

Отключите View only, проверьте разрешения клавиатуры и указателя, пользователя сервера и его журнал. Уточните, публикуется физический экран или отдельный виртуальный дисплей. Сохраните пароль и сетевые ограничения VNC.

Нужна ли переустановка Linux?

Обычно нет. Работа устройств в Live-системе или TTY доказывает, что можно исправить пакет, правило или конфигурацию. Переустановка оправдана только после резервного копирования и подтверждённого системного повреждения, которое не устраняется штатным восстановлением.

Понравилась статья? Поделиться с друзьями:
Pchelp24.com