Хочете робити магію трьома-п’ятьма пальцями: перемикати робочі столи, відкривати лончер і миттєво показувати стільницю? Давайте налаштуємо мультитач-жести у 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.