Клавиатура USB не работает в сеансе Xubuntu - Как отлаживать?
Моя клавиатура USB не работает в Xubuntu, но работает в Gnome, Unity или консоли. Подробности ниже...
У меня есть унифицированный USB-приемник Logitech, который подключается к клавиатуре K330 и мыши. У меня есть две машины, на которых работает Xubuntu 14.04. С одной стороны, они оба работают отлично. С другой, мышь работает нормально, а клавиатура работает на консоли (после нажатия Ctrl-Alt-F1
включить клавиатуру ноутбука) и на экране входа в систему lightdm, но ни в коем случае не входить в сеанс X.
Я бегал xev
и он не показывает никаких событий нажатия клавиш, поступающих с клавиатуры USB (но он показывает события с клавиатуры ноутбука).
Как я могу отладить и решить эту проблему?
Результаты исследований предложены до сих пор
Выводы lsusb:
Bus 003 Device 043: ID 046d:c52b Logitech, Inc. Unifying Receiver
xinput list - при подключении приемника добавляет следующее на обеих машинах:
Logitech Unifying Device. Wireless PID:401b id=15 [slave pointer (2)]
Logitech Unifying Device. Wireless PID:4016 id=16 [slave pointer (2)]
Обратите внимание, что оба 401b
а также 4016
перечислены под указателем виртуального ядра как устройства-указатели, и оба выглядят как устройства мыши, если смотреть с помощью `--long``
список xinput - долго 4016
дает:
Logitech Unifying Device. Wireless PID:4016 id=13 [slave pointer (2)]
This device is disabled
Reporting 6 classes:
Class originated from: 13. Type: XIButtonClass
Buttons supported: 7
Button labels: "Button 0" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
...
Это устройство отключено, отображается только на компьютере, на котором оно не работает!
список xinput - долго 401b
дает:
Logitech Unifying Device. Wireless PID:401b id=12 [slave pointer (2)]
Reporting 7 classes:
Class originated from: 12. Type: XIButtonClass
Buttons supported: 24
Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
...
1 ответ
Поскольку xinput list
показывает, что ваша клавиатура имеет идентификатор устройства 12, что вам нужно xinput enable 12
и теперь ваша клавиатура должна работать. Это не помогает объяснить, почему Xubuntu не включает его, и не помогает, если вы отключите его и подключите его снова. По моему опыту идентификатор устройства всегда одинаков.
Вы можете создать сторожевой скрипт для включения клавиатуры, если она отключена:
- Бежать
sudo mkdir -p /usr/local/bin
создать локальную папку для двоичных файлов, если она не существует. - Бежать
sudo touch /usr/local/bin/keyboard_watchdog
создать файл в этой папке. - Бежать
sudo chmod 777 /usr/local/bin/keyboard_watchdog
дать ему разрешение на редактирование. - Бежать
gedit /usr/local/bin/keyboard_watchdog
редактировать файл. Вставьте в него это:
#!/bin/bash while :; do xinput enable 12 sleep 1 done
- Сохраните файл.
- Откройте диспетчер настроек и выберите " Сессия и запуск".
- На вкладке Автозапуск приложения нажмите кнопку Добавить.
- В открывшемся диалоговом окне введите имя приложения (т.е. исправление клавиатуры) и команду, которая запускает приложение (
/usr/local/bin/keyboard_watchdog
). - Как только вы нажмете ОК, приложение будет добавлено в список и автоматически запустится при следующем входе в сеанс.