Главная
» LINUX
»
Исправлена ошибка, из-за которой жесты тачпада не работали в Wayland в Ubuntu 24.04.
Исправлена ошибка, из-за которой жесты тачпада не работали в Wayland в Ubuntu 24.04.
Если вы перемещаете указатель обычным способом, прокрутка двумя пальцами может по-прежнему работать, но привычный жест тремя пальцами больше не открывает Activity или не переключает рабочие пространства. В Ubuntu 24.04 этот симптом часто ошибочно диагностируется как «отключение жестов Wayland». В стандартном рабочем столе GNOME нет отдельного главного переключателя для встроенных системных жестов тремя пальцами. Полезный вопрос заключается в том, где заканчивается действие жеста: в сессии, в настройках тачпада, в libinput, в GNOME Shell или на самом оборудовании.
Это руководство начинается с быстрых и обратимых проверок, а затем переходит к диагностике ввода. В Ubuntu 24.04 LTS по умолчанию используется GNOME на Wayland в поддерживаемых системах, и GNOME описывает жесты тремя пальцами для открытия обзора действий и переключения рабочих областей. Базовый стек libinput может сообщать о событиях жестов смахивания и масштабирования на поддерживаемых тачпадах. Эти два факта дают нам четкий путь устранения неполадок: подтвердить наличие Wayland, убедиться, что тачпад активен, проверить стандартный жест GNOME, а затем проверить, получает ли libinput события многопальцевых жестов.
1. Убедитесь, что вы действительно находитесь в сессии Wayland.
Откройте терминал и выполните следующую команду:
echo $XDG_SESSION_TYPE
Ожидаемый результат — wayland. Если команда выводит x11, значит, вы отлаживаете проблему с другим путем ввода. Ubuntu по-прежнему может предлагать сессию Xorg, и поведение жестов в ней не идентично стандартному интерфейсу GNOME Wayland.
Сначала проверьте текущую сессию рабочего стола. Результат команды «wayland» подтвердит, что остальная часть этого руководства применима напрямую.
Если вы используете Xorg и хотите использовать сессию Wayland по умолчанию, выйдите из системы. На экране входа в систему выберите свою учетную запись, откройте окно выбора сессий и выберите Ubuntu вместо Ubuntu on Xorg, если эти параметры доступны. На предлагаемые сессии могут влиять оборудование, графические драйверы, сессии удаленного рабочего стола или политика администратора, поэтому не следует принудительно выбирать отсутствующий параметр, не проверив причину его недоступности.
Откройте «Настройки» > «Мышь и тачпад» . Убедитесь, что тачпад включен. Также проверьте прокрутку двумя пальцами и простое касание. Панель настроек GNOME отображает элементы управления тачпадом только тогда, когда рабочий стол распознает тачпад, поэтому отсутствие раздела «Тачпад» — это важная подсказка, а не просто косметическая проблема.
Убедитесь, что Ubuntu распознает тачпад и что обычные функции тачпада, такие как прокрутка двумя пальцами, включены.
Не тратьте время на поиски переключателя «жесты тремя пальцами» в стандартной панели настроек Ubuntu 24.04. Встроенные системные жесты GNOME Shell обычно не управляются отдельным переключателем. Если движение указателя и прокрутка двумя пальцами работают, а жесты тремя пальцами — нет, переходите к следующему тесту.
3. Протестируйте стандартный жест GNOME, а не жест, специфичный для конкретного приложения.
Используйте три пальца и проведите ими вверх по тачпаду. GNOME должен открыть обзор действий. Дальнейшее движение пальцем вверх может открыть представление приложений. Проведение тремя пальцами влево или вправо должно переключать рабочие пространства. Это лучшие базовые тесты, поскольку они основаны на жестах GNOME Shell, а не на функциях, предоставляемых Firefox, расширением браузера, надстройкой рабочего стола или сторонним демоном жестов.
Перед устранением неполадок, связанных с масштабированием с помощью жестов или пользовательскими жестами в браузере, протестируйте встроенные жесты в рабочей области GNOME.
Масштабирование с помощью жеста «щипок» — это другое дело. Библиотека libinput может распознавать жесты «щипок», но будет ли при этом происходить масштабирование контента, зависит от приложения и набора инструментов. Работающий жест «свайп тремя пальцами» в рабочей области в сочетании с неработающим жестом «щипок» в одном приложении обычно указывает на приложение в целом, а не на Wayland в целом.
4. Проверьте, распознает ли libinput тачпад.
Ubuntu предоставляет libinput-toolsпакет для диагностики входных данных. Если эта libinputкоманда не установлена, добавьте её с помощью:
sudo apt update
sudo apt install libinput-tools
Затем перечислите устройства:
sudo libinput list-devices
Найдите блок для вашей сенсорной панели. Точное название модели, узел события, размеры и конфигурация различаются в зависимости от ноутбука. Важно, чтобы libinput указывала устройство как сенсорную панель и предоставляла ожидаемые возможности. Пакет Ubuntu 24.04 описан в каталоге пакетов Ubuntu Noble , а сама команда описана в справочной странице Ubuntu libinput .
Перед изменением настроек GNOME или установкой дополнений для управления жестами используйте команду `libinput list-devices`, чтобы убедиться, что стек ввода распознает тачпад.
Если тачпад отсутствует libinput list-devices, это уже не просто проблема с жестами GNOME. Проверьте, отображается ли устройство в настройках прошивки/BIOS, активен ли переключатель аппаратного тачпада и видит ли ядро устройство после перезагрузки. Прежде чем GNOME сможет принимать жесты, необходимо решить проблемы, специфичные для ноутбука, связанные с ядром, I2C-HID или прошивкой.
5. Посмотрите на реальные примеры жестовой демонстрации.
Наиболее информативный тест — проверить, генерирует ли libinput события жестов при движении трех пальцев. Запустите:
sudo libinput debug-events
Затем выполните жест тремя пальцами. На поддерживаемом оборудовании вы должны увидеть строки событий жеста, такие как начало жеста, обновления и конец. Точный узел события, время, изменения и форматирование могут различаться. Для выполнения команды обычно требуются права root, поскольку она считывает /dev/input/event*данные с устройств напрямую.
Если здесь отображаются события свайпа тремя пальцами, значит, тачпад и libinput распознают жест; оставшаяся проблема, вероятно, находится на более высоком уровне стека настольных приложений.
Если появляются события жестов: оборудование и путь к libinput работают. Далее сосредоточьтесь на GNOME Shell, расширениях, состоянии сессии и обновлениях. Если события жестов несколькими пальцами не появляются: проверьте еще раз, четко раздвинув пальцы. Если появляются события базового указателя, но жесты тремя пальцами никогда не появляются, возможно, тачпад не обладает необходимой поддержкой мультитач, или проблема в ядре/прошивке препятствует передаче достаточного количества контактов.
6. Установите актуальные обновления Ubuntu 24.04.
Прежде чем заменять драйверы или редактировать низкоуровневые конфигурационные файлы, обновите установленные пакеты версии 24.04 до актуальной версии:
sudo apt update
sudo apt upgrade
Перезагрузите компьютер, если обновление устанавливает новое ядро, графический стек или другие компоненты, требующие перезагрузки. Обработка жестов охватывает несколько уровней — драйверы ввода ядра, libinput, Mutter/GNOME Shell и приложения, — поэтому уже исправленная ошибка может оставаться видимой на компьютере, который не был обновлен.
Перед попыткой использования пользовательских драйверов ввода или изменения настроек конфигурации установите поддерживаемые обновления Ubuntu.
Избегайте загрузки случайных пакетов Synaptics или копирования старых фрагментов конфигурации Xorg из руководств, написанных для более ранних версий Ubuntu. В стандартной сессии Wayland GNOME соответствующей библиотекой ввода является libinput, а файлы конфигурации, содержащие только Xorg, не являются надежным способом восстановления жестов GNOME Shell.
7. Временно отключите расширения GNOME Shell.
Если libinput debug-eventsотображаются жесты тремя пальцами, но GNOME ничего не делает, временно отключите сторонние расширения GNOME Shell и проверьте еще раз. Расширения могут изменять поведение рабочего пространства, управление окнами, поведение обзора или обработку жестов. Используйте приложение «Расширения», если оно у вас установлено, или выведите список включенных расширений с помощью команды:
gnome-extensions list --enabled
Отключайте подозрительные расширения по одному с помощью:
gnome-extensions disable EXTENSION_UUID
Замените EXTENSION_UUIDна идентификатор, возвращаемый командой list. Выход из системы и повторный вход после изменения расширений оболочки помогут убедиться, что вы проверяете чистую сессию.
Временно отключите поведение расширений в тесте. Если стандартные жесты вернутся, включайте расширения по одному, чтобы найти конфликт.
Этот шаг носит диагностический характер, а не является рекомендацией по постоянной работе без расширений. После выявления конфликтующего расширения обновите его, скорректируйте его настройки или оставьте отключенным только это расширение.
8. Войдите в чистую сессию Wayland и повторите проверку.
Выйдите из системы, выберите обычную сессию Ubuntu Wayland при входе и повторите стандартные тесты жестов, прежде чем снова открывать многие приложения. Это очищает временное состояние GNOME Shell и упрощает определение того, был ли задействован процесс, специфичный для расширения или сессии.
Для окончательной проверки работоспособности, войдите в обычную сессию Ubuntu, а не в Ubuntu на Xorg, когда Wayland будет доступен на машине.
Если система постоянно возвращается к Xorg, даже если вы выбираете Ubuntu, выясните причину, вместо того чтобы предполагать, что проблема в тачпаде. Совместимость графического драйвера, конфигурация удаленного доступа или локальная политика могут изменить доступный сеанс.
Почему установка Touchegg обычно не является первым решением проблемы в Wayland
Часто предлагается сразу же установить демон жестов. Это может быть полезно для пользовательских действий в некоторых средах, но это не лучший первый шаг, когда встроенные жесты GNOME не работают в сессии Wayland. GNOME Shell уже реализует собственные системные жесты тремя пальцами. Добавление еще одного уровня жестов перед подтверждением того, что видит libinput, может затруднить диагностику и создать конфликты с зарезервированными системой жестами.
В рекомендациях GNOME по проектированию пользовательского интерфейса отмечается, что жесты тремя и четырьмя пальцами зарезервированы для системного использования. Именно поэтому поведение жестов на уровне приложений не взаимозаменяемо с жестами рабочего стола. См. рекомендации GNOME по использованию указателя и сенсорного ввода .
Как убедиться, что проблема действительно решена?
Не останавливайтесь на этапе «курсор перемещается». Успешное восстановление должно пройти несколько независимых проверок:
echo $XDG_SESSION_TYPEвозвращает wayland.
Раздел «Тачпад» присутствует в настройках, и обычная работа тачпада работает.
Проведя тремя пальцами вверх, вы откроете раздел «Действия».
Переключение рабочих пространств осуществляется с помощью жеста тремя пальцами влево или вправо.
sudo libinput debug-eventsотображает соответствующие события жестов несколькими пальцами.
Жесты продолжают работать и после выхода из системы или перезагрузки.
Если тест libinput проходит успешно, но жесты GNOME по-прежнему не работают после обновлений, тестирования расширений и повторного входа в Wayland, значит, проблема связана с сеансом рабочего стола или композитором. В этом случае соберите информацию о версии Ubuntu, версии ядра uname -r, версии GNOME Shell gnome-shell --version, модели тачпада libinput list-devicesи краткое описание того, какой стандартный жест не работает. Эти данные гораздо полезнее для сообщения об ошибке, чем слепая переустановка драйверов.
Если libinput никогда не сообщает о жестах тремя пальцами, сосредоточьтесь на возможностях оборудования, прошивке и поддержке ядра. Если только жесты масштабирования или навигации в одном приложении не работают, в то время как жесты в рабочей области GNOME работают, устраните неполадки в этом приложении отдельно. Это различие является ключом к исправлению жестов на тачпаде в Ubuntu 24.04, не превращая небольшую проблему ввода в более серьезную проблему конфигурации системы.