Strona główna
» LINUX
»
Naprawa gestów na touchpadzie, które nie działają w Wayland w Ubuntu 24.04
Naprawa gestów na touchpadzie, które nie działają w Wayland w Ubuntu 24.04
Przesuwasz kursor normalnie, przewijanie dwoma palcami może nadal działać, ale znane przesunięcie trzema palcami nie otwiera już Aktywności ani nie przełącza przestrzeni roboczych. W Ubuntu 24.04 ten objaw jest często błędnie diagnozowany jako „wyłączenie gestów Wayland”. W standardowym środowisku GNOME nie ma osobnego przełącznika głównego dla wbudowanych gestów systemowych wykonywanych trzema palcami. Pytanie brzmi, gdzie kończy się gest: w sesji, w ustawieniach touchpada, w bibliotece libinput, w powłoce GNOME, czy w samym sprzęcie.
Ten przewodnik rozpoczyna się od szybkich i odwracalnych sprawdzeń, a następnie przechodzi do diagnostyki wprowadzania danych. Ubuntu 24.04 LTS domyślnie korzysta z GNOME na Waylandzie na obsługiwanych systemach, a GNOME dokumentuje przesunięcia trzema palcami w celu otwarcia przeglądu aktywności i przełączania obszarów roboczych. Bazowy stos libinput może raportować zdarzenia przesunięcia i szczypania na obsługiwanych touchpadach. Te dwa fakty dają nam prostą ścieżkę rozwiązywania problemów: sprawdź działanie Waylanda, upewnij się, że touchpad jest aktywny, przetestuj standardowy gest GNOME, a następnie sprawdź, czy libinput odbiera zdarzenia wielodotykowe.
1. Potwierdź, że jesteś w sesji Wayland
Otwórz terminal i uruchom:
echo $XDG_SESSION_TYPE
Oczekiwany wynik to wayland. Jeśli polecenie wyświetli x11, problem dotyczy innej ścieżki wejściowej. Ubuntu nadal obsługuje sesję Xorg, a obsługa gestów nie jest identyczna z natywnym doświadczeniem Wayland w GNOME.
Najpierw sprawdź bieżącą sesję pulpitu. Wynik „wayland” potwierdza, że reszta tego przewodnika ma zastosowanie.
Jeśli korzystasz z Xorg i chcesz korzystać z domyślnej sesji Wayland, wyloguj się. Na ekranie logowania wybierz swoje konto, otwórz selektor sesji i wybierz Ubuntu zamiast Ubuntu na Xorg, jeśli te opcje są dostępne. Sprzęt, sterowniki graficzne, sesje pulpitu zdalnego lub polityka administratora mogą wpływać na oferowane sesje, dlatego nie wymuszaj braku opcji bez sprawdzenia, dlaczego jest niedostępna.
Otwórz Ustawienia > Mysz i panel dotykowy . Upewnij się, że panel dotykowy jest włączony. Przetestuj również przewijanie dwoma palcami i podstawowe stukanie. Panel ustawień GNOME wyświetla elementy sterujące panelem dotykowym tylko wtedy, gdy pulpit go rozpozna, więc brak sekcji „Pad dotykowy” jest istotną wskazówką, a nie problemem estetycznym.
Sprawdź, czy system Ubuntu widzi panel dotykowy i czy standardowe funkcje panelu dotykowego, takie jak przewijanie dwoma palcami, są włączone.
Nie trać czasu na szukanie przełącznika „gestów trzema palcami” w panelu ustawień Ubuntu 24.04. Wbudowane gesty systemowe powłoki GNOME zazwyczaj nie są kontrolowane za pomocą dedykowanego przełącznika włącz/wyłącz. Jeśli ruch wskaźnika i przewijanie dwoma palcami działają, ale gesty trzema palcami nie, przejdź do następnego testu.
3. Przetestuj standardowy gest GNOME, a nie gest specyficzny dla aplikacji
Użyj trzech palców i przesuń w górę po touchpadzie. GNOME powinien otworzyć przegląd aktywności. Kolejne przesunięcie w górę może otworzyć widok aplikacji. Przesunięcie trzema palcami w lewo lub w prawo powinno przełączać obszary robocze. To najlepsze testy bazowe, ponieważ dotyczą gestów powłoki GNOME, a nie funkcji dostarczanych przez Firefoksa, rozszerzenie przeglądarki, dodatek na pulpit lub demon gestów innej firmy.
Przed przystąpieniem do rozwiązywania problemów z powiększaniem za pomocą szczypania lub niestandardowymi gestami w przeglądarce przetestuj wbudowane gesty przestrzeni roboczej GNOME.
Funkcja szczypania i powiększania działa inaczej. Libinput rozpoznaje gesty szczypania, ale to, czy szczypanie powiększa zawartość, zależy od aplikacji i zestawu narzędzi. Działające przesunięcie trzema palcami w obszarze roboczym wzdłuż niedziałającego szczypania w jednej aplikacji zazwyczaj wskazuje na aplikację, a nie na Wayland jako całość.
4. Sprawdź, czy libinput rozpoznaje touchpad
Ubuntu udostępnia libinput-toolspakiet do diagnostyki danych wejściowych. Jeśli polecenie libinputnie jest zainstalowane, dodaj je za pomocą:
sudo apt update
sudo apt install libinput-tools
Następnie wypisz urządzenia:
sudo libinput list-devices
Znajdź blok dla swojego touchpada. Dokładna nazwa modelu, węzeł zdarzenia, wymiary i konfiguracja różnią się w zależności od laptopa. Ważne jest, aby libinput oznaczał urządzenie jako touchpad i podawał oczekiwane możliwości. Pakiet Ubuntu 24.04 jest udokumentowany w katalogu pakietów Ubuntu Noble , a samo polecenie jest opisane na stronie podręcznika Ubuntu libinput .
Przed zmianą ustawień GNOME lub instalacją dodatków obsługujących gesty należy sprawdzić za pomocą libinput list-devices, czy stos wejściowy rozpoznaje panel dotykowy.
Jeśli touchpad nie jest widoczny w libinput list-devices, problem nie jest już związany głównie z gestami GNOME. Sprawdź, czy urządzenie pojawia się w ustawieniach oprogramowania układowego/BIOS-u, czy przełącznik sprzętowego touchpada jest aktywny i czy jądro widzi urządzenie po ponownym uruchomieniu. Problemy specyficzne dla laptopa, związane z jądrem, interfejsem I2C-HID lub oprogramowaniem układowym muszą zostać rozwiązane, aby GNOME mógł odbierać gesty.
5. Obejrzyj surowe wydarzenia gestów
Najbardziej pouczający test polega na sprawdzeniu, czy libinput emituje zdarzenia gestów podczas ruchu trzema palcami. Uruchom:
sudo libinput debug-events
Następnie wykonaj przesunięcie trzema palcami. Na obsługiwanym sprzęcie powinny być widoczne linie zdarzeń gestów, takie jak początek przesunięcia, aktualizacja i koniec. Dokładny węzeł zdarzenia, czas, delta i formatowanie mogą się różnić. Polecenie zazwyczaj wymaga dostępu do konta root, ponieważ odczytuje /dev/input/event*urządzenia bezpośrednio.
Jeśli w tym miejscu pojawiają się zdarzenia przesunięcia trzema palcami, oznacza to, że touchpad i libinput wykrywają gest; pozostały problem prawdopodobnie występuje wyżej w stosie pulpitu.
Oficjalna strona podręcznika Ubuntu libinput-debug-events opisuje to narzędzie jako narzędzie pomocnicze do debugowania i ostrzega, że jego format wyjściowy może ulec zmianie. Własna dokumentacja gestów biblioteki libinput wyjaśnia, w jaki sposób generowane są gesty przesunięcia i szczypania.
Jeśli pojawią się zdarzenia gestów: sprzęt i ścieżka libinput działają. Skup się teraz na powłoce GNOME, rozszerzeniach, stanie sesji i aktualizacjach. Jeśli nie pojawią się zdarzenia gestów wielodotykowych: przetestuj ponownie, wyraźnie rozdzielając palce. Jeśli pojawią się podstawowe zdarzenia wskaźnika, ale gesty trzema palcami nigdy się nie pojawią, touchpad może nie obsługiwać wymaganej wielodotykowości lub problem z jądrem/oprogramowaniem sprzętowym uniemożliwia mu zgłaszanie wystarczającej liczby kontaktów.
6. Zainstaluj aktualne aktualizacje Ubuntu 24.04
Przed wymianą sterowników lub edycją plików konfiguracji niskiego poziomu należy zaktualizować zainstalowane pakiety 24.04:
sudo apt update
sudo apt upgrade
Uruchom ponownie, jeśli aktualizacja zainstaluje nowe jądro, stos graficzny lub inne komponenty wymagające ponownego uruchomienia. Obsługa gestów obejmuje kilka warstw – sterowniki wejściowe jądra, libinput, powłokę Mutter/GNOME i aplikacje – więc naprawiony błąd może pozostać widoczny na komputerze, który nie został zaktualizowany.
Przed wypróbowaniem niestandardowych sterowników wejściowych lub nadpisań konfiguracji należy zastosować obsługiwane aktualizacje Ubuntu.
Unikaj pobierania losowych pakietów Synaptics lub kopiowania starych fragmentów konfiguracji Xorg z samouczków napisanych dla wcześniejszych wersji Ubuntu. W standardowej sesji Wayland GNOME, biblioteką wejściową jest libinput, a pliki konfiguracyjne tylko dla Xorg nie są niezawodnym sposobem na naprawę gestów powłoki GNOME.
7. Tymczasowo wyłącz rozszerzenia powłoki GNOME
Jeśli libinput debug-eventswyraźnie widać przesunięcia trzema palcami, ale GNOME nic nie robi, tymczasowo wyłącz rozszerzenia powłoki GNOME innych firm i przetestuj ponownie. Rozszerzenia mogą zmieniać działanie obszaru roboczego, zarządzanie oknami, działanie widoku ogólnego lub obsługę gestów. Użyj aplikacji Rozszerzenia, jeśli jest zainstalowana, lub wyświetl listę włączonych rozszerzeń za pomocą:
gnome-extensions list --enabled
Wyłączaj podejrzane rozszerzenia pojedynczo za pomocą:
gnome-extensions disable EXTENSION_UUID
Zastąp EXTENSION_UUIDidentyfikatorem zwróconym przez polecenie list. Wylogowanie się i ponowne zalogowanie po zmianie rozszerzeń powłoki może pomóc upewnić się, że testujesz czystą sesję.
Tymczasowo usuń zachowanie rozszerzenia z testu. Jeśli standardowe gesty powrócą, włączaj rozszerzenia pojedynczo, aby znaleźć przyczynę konfliktu.
Ten krok ma charakter diagnostyczny, a nie jest zaleceniem trwałego wyłączenia rozszerzeń. Po zidentyfikowaniu rozszerzenia powodującego konflikt, zaktualizuj je, dostosuj jego ustawienia lub pozostaw wyłączone tylko to rozszerzenie.
8. Ponownie uruchom czystą sesję Wayland i przetestuj ponownie
Wyloguj się, wybierz standardową sesję Ubuntu Wayland podczas logowania i powtórz standardowe testy gestów przed ponownym otwarciem wielu aplikacji. To usuwa przejściowy stan powłoki GNOME i ułatwia stwierdzenie, czy problem dotyczył rozszerzenia, czy procesu specyficznego dla sesji.
Aby przeprowadzić ostateczny, czysty test, zaloguj się do normalnej sesji Ubuntu, a nie do Ubuntu na Xorg, gdy na komputerze będzie dostępny Wayland.
Jeśli system zawsze wraca do Xorg, nawet po wybraniu Ubuntu, zbadaj przyczynę, zamiast zakładać, że to touchpad. Zgodność sterowników graficznych, konfiguracja dostępu zdalnego lub polityka lokalna mogą zmienić dostępną sesję.
Dlaczego instalacja Touchegg nie jest zazwyczaj pierwszą naprawą w Wayland
Częstą sugestią jest natychmiastowa instalacja demona gestów. Może to być przydatne w przypadku niestandardowych akcji w niektórych środowiskach, ale nie jest to właściwa pierwsza odpowiedź, gdy wbudowane gesty GNOME zawiodą w sesji Wayland. Powłoka GNOME implementuje już własne gesty systemowe dla trzech palców. Dodanie kolejnej warstwy gestów przed potwierdzeniem tego, co widzi libinput, może utrudnić diagnozę i powodować konflikty z gestami zarezerwowanymi dla systemu.
W wytycznych dotyczących interfejsu użytkownika GNOME zaznaczono, że gesty wykonywane trzema i czterema palcami są zarezerwowane do użytku systemowego. Dlatego gesty na poziomie aplikacji nie są zamienne z gestami wykonywanymi w przestrzeni roboczej. Zobacz wytyczne dotyczące wskaźnika i dotyku GNOME .
Jak sprawdzić, czy problem został rzeczywiście rozwiązany
Nie zatrzymuj się na etapie „kursor się porusza”. Pomyślna naprawa powinna przejść kilka niezależnych kontroli:
echo $XDG_SESSION_TYPEzwraca wayland.
Sekcja Touchpad znajduje się w Ustawieniach i normalne zachowanie touchpada działa.
Przesunięcie trzema palcami w górę otwiera opcję Aktywności.
Przesunięcie trzema palcami w lewo lub w prawo przełącza przestrzeń roboczą.
sudo libinput debug-eventspokazuje odpowiadające temu gestowi zdarzenia obejmujące wiele palców.
Gesty nadal będą działać po wylogowaniu lub ponownym uruchomieniu.
Jeśli test libinput zakończy się powodzeniem, ale gesty GNOME nadal nie działają po aktualizacjach, testowaniu rozszerzeń i ponownym zalogowaniu do Wayland, problem zawęziłeś do sesji pulpitu lub problemu na poziomie kompozytora. W tym momencie zbierz informacje o wersji Ubuntu, wersji jądra z [brakuje informacji], wersji uname -rpowłoki GNOME z [ brakuje informacji gnome-shell --version], modelu touchpada z [ brakuje informacji libinput list-devices] oraz krótki opis, który gest standardowy nie działa. Takie dowody są o wiele bardziej przydatne w przypadku zgłoszenia błędu niż bezmyślna reinstalacja sterowników.
Jeśli libinput nigdy nie zgłasza gestów trzema palcami, skoncentruj się na możliwościach sprzętowych, oprogramowaniu układowym i obsłudze jądra. Jeśli gesty szczypania lub nawigacji w jednej aplikacji nie działają, a gesty w przestrzeni roboczej GNOME działają, rozwiąż problem osobno dla tej aplikacji. To rozróżnienie jest kluczem do rozwiązania problemu z gestami na touchpadzie w Ubuntu 24.04 bez przekształcania drobnego problemu z wprowadzaniem danych w większy problem z konfiguracją systemu.