Налаштування мультитач-жестів у GNOME, KDE і Sway: від інсталяції Touchegg до прив’язки команд і відладки

Налаштування мультитач-жестів у GNOME, KDE і Sway: від інсталяції Touchegg до прив’язки команд і відладки
Категорії: Desktop та GUI

Хочете робити магію трьома-п’ятьма пальцями: перемикати робочі столи, відкривати лончер і миттєво показувати стільницю? Давайте налаштуємо мультитач-жести у GNOME, KDE Plasma та Sway. Це класика GUI Linux і налаштування робочого столу, але без паніки — усе поясню просто й по-кроках, із прикладами для термінал Linux і підказками з відладки. 🖐️

Що саме ми зробимо

Сьогодні ви дізнаєтеся, як встановити програму в Linux для жестів (Touchegg), як увімкнути її як службу користувача, прив’язати жести до команд у GNOME, KDE та Sway, а також які є альтернативи (Fusuma) і як відлагодити, якщо щось не працює. Наприкінці — короткий чек-лист. ✨

Основний How-to: інсталяція Touchegg і запуск

Touchegg — кросплатформний демон жестів, що працює у більшості оточень (X11 і Wayland). Для зручної конфігурації використаємо Touché — простий GUI.

1) Встановлення Touchegg (через термінал Linux)

Обирайте вашу систему. Ось як встановити програму в Linux для різних дистрибутивів:

# Debian/Ubuntu/Pop!_OS/Linux Mint
sudo apt update
sudo apt install touchegg

# Fedora
sudo dnf install touchegg

# Arch/Manjaro
sudo pacman -S touchegg

# openSUSE
sudo zypper install touchegg

2) Увімкнення та перевірка служби Touchegg

# Увімкнути демон для поточного користувача
systemctl --user enable --now touchegg

# Перевірити логи в реальному часі
journalctl --user -u touchegg -f

3) Встановлення Touché (GUI для жестів)

Найпростіше — через Flatpak з Flathub:

flatpak install flathub com.github.joseexposito.touche
flatpak run com.github.joseexposito.touche

У Touché створюйте жести (3–5 пальців, swipe/pinch/hold) і для кожного обирайте дію Run command — ми вставимо туди потрібні команди під GNOME/KDE/Sway.

Прив’язка жестів до команд

Нижче — безпечні приклади команд, які добре працюють у Wayland/X11 без емуляції клавіш. Додавайте їх у Touché як Run command.

GNOME (Wayland/X11)

  • Перемикання огляду (Overview) — зручно на 3‑пальцевий swipe up:
gdbus call --session \
  --dest org.gnome.Shell \
  --object-path /org/gnome/Shell \
  --method org.gnome.Shell.Eval \
  'Main.overview.toggle();'
  • Відкрити запуск програм (розробники часто вішають на pinch in/out):
gdbus call --session \
  --dest org.gnome.Shell \
  --object-path /org/gnome/Shell \
  --method org.gnome.Shell.Eval \
  'Main.openRunDialog();'

Порада: у GNOME жестів за замовчанням вже чимало. Щоб уникнути конфліктів, обирайте 4‑пальцеві жести для власних команд або перевизначайте менш вживані напрямки.

KDE Plasma (Wayland/X11)

  • Показати стільницю (зручно для 4‑пальцевого pinch out):
qdbus org.kde.kglobalaccel /component/kwin \
  invokeShortcut "Show Desktop"
  • Відкрити KRunner (швидкий лончер; добре на 3‑пальцевий tap або pinch in):
qdbus org.kde.krunner /App display

У Plasma 5.25+ і Plasma 6 ви також можете додати власні жести прямо в системних налаштуваннях: Відкрити «System Settings» → «Input Devices» або «Workspace Behavior» → «Gestures»/«Touchpad Gestures» і прив’язати їх до глобальних шорткатів. Якщо цього пункту немає — Touchegg + Touché лишаються універсальним способом.

Sway (Wayland)

Sway не має вбудованого редактора жестів, тому найзручніше керуватися зовнішнім розпізнавачем і надсилати команди через swaymsg. У Touché створіть жести зі стартом таких команд:

  • Перехід між робочими просторами:
swaymsg workspace prev
swaymsg workspace next
  • Відкрити лончер (наприклад, wofi):
swaymsg exec 'wofi --show drun'

Альтернативні способи: Fusuma

Fusuma — популярний розпізнавач жестів на Ruby, працює в Wayland/X11 і добре дружить зі Sway та іншими WM. Корисний, якщо вам потрібна тонка кастомізація поза Touchegg.

Встановлення Fusuma

# Залежності (приклад для Debian/Ubuntu)
sudo apt update
sudo apt install ruby ruby-dev build-essential

# Встановлення Fusuma
gem install --user-install fusuma

# Доступ до подій введення (потрібен вихід/вхід у сесію після додавання)
sudo gpasswd -a "$USER" input

# Перевірити шлях до виконуваного файлу Fusuma
~/.local/share/gem*/bin/fusuma --version || which fusuma

Конфіг для Sway (приклад)

mkdir -p ~/.config/fusuma
cat > ~/.config/fusuma/config.yml <<'YML'
swipe:
  3:
    left:
      command: "swaymsg workspace next"
    right:
      command: "swaymsg workspace prev"
    up:
      command: "swaymsg exec 'wofi --show drun'"
    down:
      command: "swaymsg exec 'swaynag -m \"Hello\"'"
interval: 0.6
threshold:
  swipe: 0.5
YML

# Запустити Fusuma в поточній сесії
~/.local/share/gem*/bin/fusuma -d

Автозапуск Fusuma через systemd (user)

mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/fusuma.service <<'UNIT'
[Unit]
Description=Fusuma multitouch gesture recognizer

[Service]
ExecStart=%h/.local/share/gem*/bin/fusuma -d
Restart=on-failure

[Install]
WantedBy=default.target
UNIT

systemctl --user daemon-reload
systemctl --user enable --now fusuma

GUI-спосіб, якщо не хочеться консолі

  • GNOME/KDE: найпростіше — Touché (Flatpak). Створюєте жест → Run command → вставляєте одну з команд вище.
  • KDE Plasma 5.25+/6: System Settings → Gestures/Touchpad Gestures — рідний пункт для власних жестів без сторонніх демонів.
  • Sway: зручніше через Touchegg+Touché або Fusuma; окремого штатного GUI поки що немає.

Відладка і типові збої

  • Перевірити, чи бачиться тачпад libinput:
sudo libinput list-devices | grep -i -E "touchpad|touch" -A3
  • Подивитися «сирі» події дотиків (натисніть Ctrl+C для виходу):
sudo libinput debug-events
  • Логи Touchegg у реальному часі:
journalctl --user -u touchegg -f
  • Після додавання в групу input перезайдіть у сесію або виконайте:
newgrp input

Wayland vs X11: уникати емуляторів клавіш на Wayland (ydotool/xdotool можуть не працювати або вимагати додаткових дозволів). Краще використовувати «рідні» команди: gdbus у GNOME, qdbus у KDE, swaymsg у Sway.

FAQ

Жести не спрацьовують зовсім. Що перевірити?

Переконайтеся, що Touchegg запущений: systemctl --user status touchegg. Перевірте, чи ваш тачпад підтримує мультитач: sudo libinput list-devices. Якщо використовуєте Fusuma — чи ви в групі input і чи запущена служба.

У GNOME мої власні жести конфліктують зі стандартними.

Використовуйте 4‑ або 5‑пальцеві жести, інші напрямки, або залиште системні жести недоторканими. У Touché можна швидко перевизначити лише потрібні.

Touché встановлено через Flatpak, але він «не бачить» Touchegg.

Переконайтеся, що демон увімкнений: systemctl --user enable --now touchegg. Перезапустіть Touché: flatpak run com.github.joseexposito.touche. Перевірте логи Touchegg.

У KDE деякі qdbus-команди не спрацьовують.

Назви шорткатів можуть відрізнятися за версіями Plasma. Перевірте їх у System Settings → Shortcuts → KWin або використовуйте загальні команди (наприклад, «Show Desktop», «Toggle Overview», «Present Windows») доступні у вашій версії.

Після перезавантаження жести з Fusuma не стартують.

Переконайтеся, що створили й увімкнули systemd user unit: systemctl --user enable --now fusuma, а шлях до fusuma у ExecStart правильний (перевірте which fusuma).

Порада від Kernelka

Не перевантажуйте мультитач сотнею дій. Кілька жестів, які ви робите щодня, — оце топ! Так і продуктивність зростає, і м’язова пам’ять працює. А якщо захочеться креативу — вішайте запуск ваших невеликих bash-скриптів на жести та автоматизуйте рутину.

Підсумок

  • Встановіть Touchegg і вимкніть/увімкніть його як користувацьку службу.
  • Для швидкої конфігурації скористайтеся Touché (Flatpak).
  • GNOME/KDE/Sway: прив’язуйте жести до «рідних» команд (gdbus/qdbus/swaymsg).
  • Як альтернатива або для тонких налаштувань — Fusuma з YAML-конфігом.
  • Відладка: journalctl для Touchegg, libinput debug-events для перевірки «заліза».
  • Wayland: уникайте емуляторів клавіш; краще використовуйте системні API.

Прокоментувати

На сайті відображається лише твоє ім'я та коментар. Електронна пошта використовується виключно для зв'язку з тобою за потреби.