修復 Ubuntu 24.04 中 Wayland 下觸控板手勢無法運作的問題

指針移動正常,雙指捲動可能仍然有效,但熟悉的三指滑動操作不再能開啟「活動」或切換工作區。在 Ubuntu 24.04 上,這種現象常被誤診為「Wayland 手勢被禁用」。在標準的 GNOME 桌面環境中,並沒有單獨的主開關來控制內建的三指系統手勢。關鍵問題在於手勢操作究竟在哪裡停止:是會話本身、觸控板設定、libinput、GNOME Shell,還是硬體本身?

本指南首先介紹一些快速且可逆的檢查方法,然後逐步深入輸入診斷。 Ubuntu 24.04 LTS 在支援的系統上預設使用 Wayland 上的 GNOME,而 GNOME 文件中明確指出可以使用三指滑動來開啟「活動」概覽並切換工作區。底層 libinput 庫可以報告支援的觸控板上的滑動和捏合事件。這兩個事實為我們提供了清晰的故障排除路徑:確認 Wayland 已啟用,確認觸控板已激活,測試 GNOME 預設手勢,然後驗證 libinput 是否接收到多指事件。

1. 確認您確實處於 Wayland 會話中

打開終端機並運作:

echo $XDG_SESSION_TYPE

預期結果是wayland……。如果指令輸出為… x11,則表示您正在排查其他輸入路徑的問題。 Ubuntu 仍然可以提供 Xorg 會話,但 Xorg 會話中的手勢行為與原生 GNOME Wayland 體驗並不完全相同。

Ubuntu 終端機顯示 `echo $XDG_SESSION_TYPE`,結果為 `wayland`
首先檢查目前桌面會話。如果結果顯示為“wayland”,則表示本指南的其餘部分可以直接適用。

如果您使用的是 Xorg 系統,並且想要使用預設的 Wayland 會話,請先登出。在登入介面,選擇您的帳戶,開啟會話選擇器,並在選項可用時選擇“Ubuntu”而不是“Ubuntu on Xorg”。硬體、顯示卡驅動程式、遠端桌面會話或管理員策略都可能影響提供的會話,因此請勿在未檢查原因的情況下強行選擇缺少的選項。

GNOME 的官方手勢行為已記錄在GNOME 幫助中:在觸控板和觸控螢幕上使用手勢。

2. 確保觸控板已啟用

開啟“設定”>“滑鼠和觸控板”。確認觸控板已啟用。同時測試雙指捲動和基本點擊功能。 GNOME 的設定面板僅在桌面識別到觸控板時才會顯示觸控板控件,因此觸控板選項缺失是一個重要的線索,而不僅僅是顯示問題。

Ubuntu 滑鼠和觸控板設定(已啟用觸控板和雙指滾動)
確認 Ubuntu 系統能夠辨識觸控板,且雙指捲動等普通觸控板功能已啟用。

無需在 Ubuntu 24.04 的預設設定面板中尋找「三指手勢」開關。內建的 GNOME Shell 系統手勢通常並非由該面板中的專用開關控制。如果指針移動和雙指滾動有效,但三指手勢無效,請繼續下一個測試。

有關已記錄的觸控板控件,請參閱GNOME 說明:使用觸控板點擊、拖曳或捲動。

3. 測試GNOME自帶手勢,而不是應用程式特定的手勢。

使用三根手指在觸控板上向上滑動。 GNOME 應該會開啟「活動」概覽。繼續向上滑動可以開啟「應用程式」視圖。三根手指向左或向右滑動應該可以切換工作區。這些是最佳的基準測試,因為它們是 GNOME Shell 的手勢,而不是 Firefox、瀏覽器擴充功能、桌面外掛程式或第三方手勢守護程式提供的功能。

GNOME 活動概覽,附三指水平觸控板滑動圖示
在排查瀏覽器捏合縮放或自訂手勢操作問題之前,請先測試內建的 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 手冊頁中有詳細說明。

Ubuntu 終端機顯示 libinput list-devices 指令對 Synaptics 觸控板的輸出
在變更 GNOME 設定或安裝手勢插件之前,請使用 libinput list-devices 確認輸入堆疊是否識別觸控板。

如果觸控板在螢幕上消失libinput list-devices,這主要就不是 GNOME 手勢的問題了。請檢查裝置是否出現在韌體/BIOS 設定中,硬體觸控板開關是否已啟用,以及核心在重新啟動後是否能辨識到該裝置。在 GNOME 能夠接收手勢之前,需要解決筆記型電腦特有的核心、I2C-HID 或韌體問題。

5. 觀察原始手勢事件

最能說明問題的測試是觀察 libinput 在您移動三根手指時是否會發出手勢事件。運行:

sudo libinput debug-events

然後執行三指滑動操作。在支援的硬體上,您應該會看到手勢事件線,例如滑動開始、更新和結束。具體的事件節點、時間、增量和格式可能有所不同。該命令通常需要 root 權限,因為它/dev/input/event*直接讀取裝置資料。

Ubuntu 終端機顯示 libinput 偵錯事件,包括三根手指滑動開始更新和結束事件
如果此處出現三指滑動事件,則表示觸控板和 libinput 偵測到了該手勢;其餘問題可能出在桌面堆疊的更高層。

Ubuntu官方libinput-debug-events 手冊頁將此工具描述為偵錯輔助工具,並警告其輸出格式可能會變更。 libinput 自身的手勢文件解釋了滑動和捏合手勢的生成方式。

如果出現手勢事件:表示硬體和 libinput 路徑運作正常。接下來請檢查 GNOME Shell、擴充功能、會話狀態和更新。如果沒有出現多指手勢事件:請將手指明顯分開後再測試。如果出現基本指標事件但始終無法觸發三指手勢,則可能是觸控板缺少所需的多點觸控功能,或者內核/韌體問題導致其無法報告足夠的觸點。

6. 安裝最新的 Ubuntu 24.04 更新

在更換驅動程式或編輯底層設定檔之前,請先將已安裝的 24.04 軟體包更新至最新版本:

sudo apt update
sudo apt upgrade

如果更新安裝了新的核心、圖形堆疊或其他需要重新啟動的元件,請重新啟動電腦。手勢處理涉及多個層級——內核輸入驅動程式、libinput、Mutter/GNOME Shell 和應用程式——因此,即使已修復的錯誤在未更新的電腦上也可能仍然存在。

Ubuntu 終端機顯示執行 apt update 指令,隨後執行 apt upgrade 指令,但軟體包已是最新版本。
在嘗試自訂輸入驅動程式或配置覆蓋之前,請先套用受支援的 Ubuntu 更新。

避免下載隨機的 Synaptics 軟體包,或從早期 Ubuntu 版本教程中複製舊的 Xorg 配置片段。在標準的 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 指令傳回的識別碼。更改 Shell 擴充功能後登出並重新登入有助於確保測試的是一個乾淨的會話。

GNOME 擴展設定顯示主要擴展開關和已安裝的擴展
暫時從測試中移除擴展行為。如果預設手勢恢復,則逐一重新啟用擴展,以找出衝突所在。

此步驟僅為診斷目的,並非建議永久停用所有擴充功能。一旦找到衝突的擴展程序,請更新該擴充功能、調整其設置,或僅停用該擴充功能。

8. 重新進入一個乾淨的 Wayland 會話並再次測試

登出帳戶,登入時選擇正常的 Ubuntu Wayland 會話,並在重新開啟多個應用程式之前重複執行預設手勢測試。這可以清除 GNOME Shell 的瞬態狀態,從而更容易判斷是擴充程式還是會話特定的進程導致了問題。

Ubuntu 登入會話選擇器提供 Ubuntu 和 Ubuntu on Xorg 兩個選項。
為了進行最終的乾淨測試,當機器上可用 Wayland 時,請登入普通的 Ubuntu 會話,而不是 Ubuntu on Xorg。

如果即使選擇 Ubuntu,系統仍然總是返回 Xorg,請先調查原因,不要想當然地認為是觸控板的問題。圖形驅動程式相容性、遠端存取配置或本機原則都可能影響可用的會話。

為什麼在 Wayland 上安裝 Touchegg 通常不是首選的修復方案

一個常見的建議是立即安裝手勢守護程序。這在某些環境下對自訂操作很有用,但如果內建的 GNOME 手勢在 Wayland 會話中失效,這並非最佳解決方案。 GNOME Shell 已經實現了自己的三指系統手勢。在確認 libinput 偵測到的手勢之前添加另一個手勢層,可能會增加診斷難度,並可能與系統保留的手勢產生衝突。

GNOME 的人機介面指南指出,三指和四指手勢僅供系統使用。因此,應用程式層級的手勢行為與桌面工作區手勢不可互換。請參閱GNOME 指標和觸控指南。

如何驗證問題是否真的已解決

不要止步於「遊標移動」這一步。成功的修復應該通過以下幾項獨立的檢查:

  • echo $XDG_SESSION_TYPE返回wayland。
  • 觸控板選項已新增至設定中,觸控板的常規功能也已實現。
  • 三指向上滑動即可開啟「活動」。
  • 三指左右滑動即可切換工作區。
  • sudo libinput debug-events顯示對應的多指手勢事件。
  • 即使在註銷或重啟後,這些手勢仍然有效。

如果 libinput 測試成功,但更新、擴展測試以及重新登入 Wayland 後 GNOME 手勢仍然失效,則表示問題已縮小到桌面會話或合成器層級。此時,請收集 Ubuntu 版本、核心版本(uname -r來自 `/etc/ linux gnome-shell --version...libinput list-devices

如果 libinput 始終無法報告三指手勢,則應專注於檢查硬體功能、韌體和核心支援。如果只有某個應用程式的捏合或導航手勢失效,而 GNOME 工作區手勢正常,則應單獨排查該應用程式的問題。這種區分是修復 Ubuntu 24.04 觸控板手勢問題的關鍵,避免將小的輸入問題演變成更大的系統配置問題。

留下評論

修復 Ubuntu GNOME 中 tracker-miner-3 導致的 CPU 使用率過高問題

修復 Ubuntu GNOME 中 tracker-miner-3 導致的 CPU 使用率過高問題

了解為什麼 tracker-miner-fs-3 在 Ubuntu GNOME 中會佔用大量 CPU 資源,如何檢查索引狀態、減少可搜尋位置以及安全地重建 Tracker 索引。

如何在啟用 BitLocker 的情況下雙啟動 Ubuntu 24.04 和 Windows 11

如何在啟用 BitLocker 的情況下雙啟動 Ubuntu 24.04 和 Windows 11

了解 Ubuntu 24.04 何時可以與 BitLocker 雙啟動、如何保護您的復原金鑰以及安全的相同磁碟機或不同磁碟機安裝路徑。

如何將 Pardus Linux 用戶端加入 Active Directory 網域

如何將 Pardus Linux 用戶端加入 Active Directory 網域

使用 Pardus Domain Joiner 將 Pardus Linux 加入 Active Directory。檢查 DNS 和時間,安裝 CLI,使用 SSSD 加入,並驗證網域登入存取權限。

如何設定 Pardus Image Creator 進行自訂作業系統部署

如何設定 Pardus Image Creator 進行自訂作業系統部署

了解 Pardus Image Writer 的功能、安裝方法以及如何安全地將經過驗證的自訂 ISO 映像部署到 USB 隨身碟。內容包括建置和測試指南。

修正 SLES 啟動時「載入核心模組失敗」的問題

修正 SLES 啟動時「載入核心模組失敗」的問題

透過尋找錯誤模組、修正啟動配置,並在需要時重建 initramfs,來診斷和修復 SLES 上的 systemd-modules-load.service 故障。

如何使用 OSTree 將 Debian 桌面遷移到 Immutable OS

如何使用 OSTree 將 Debian 桌面遷移到 Immutable OS

了解為什麼安裝軟體包就無法使 Debian 成為 OSTree 不可變系統,然後安全地遷移到 OSTree 桌面或規劃自訂 Debian 鏡像。

修復 Ubuntu 24.04 中 Wayland 下觸控板手勢無法運作的問題

修復 Ubuntu 24.04 中 Wayland 下觸控板手勢無法運作的問題

透過檢查 GNOME 設定、libinput 事件、更新和擴充功能來修復 Ubuntu 24.04 Wayland 上缺少的三指觸控板手勢。

How to Configure a PipeWire Audio Output Switching Script on Debian

How to Configure a PipeWire Audio Output Switching Script on Debian

Create a reliable PipeWire output toggle script on Debian with wpctl. Switch between speakers, Bluetooth, USB, or HDMI sinks without hard-coding IDs.

如何在 HamoniKR 作業系統上透過 CUPS 設定印表機

如何在 HamoniKR 作業系統上透過 CUPS 設定印表機

使用 CUPS 在 HamoniKR OS 上設定 USB 和網路印表機。新增佇列,選擇免驅動 IPP 或特定型號的驅動程序,設定預設值,並列印測試頁。

如何在 Ubuntu 上使用 Cgroups 限制進程的 CPU 和記憶體使用量

如何在 Ubuntu 上使用 Cgroups 限制進程的 CPU 和記憶體使用量

在 Ubuntu 上使用 systemd cgroups 來限制指令或服務的 CPU 時間和記憶體使用量。比較瞬態作用域、持久限制和關鍵權衡。