Ubuntu сенсорный экран настройка
Возможна ли полноценная работа на сенсорных экранах в Linux системах? В этой статье хочу поделиться с вами опытом выбора наиболее подходящих дистрибутивов, которые дружат с сенсорными экранами "из коробки" или после несложной настройки.
В 2013 году была анонсирована Ubuntu Touch, на взгляд, довольно интересная система для мобильных устройств, но, к сожалению, большого распространения она не получила и в 2017 году Canonical объявила о прекращении ее дальнейшей разработки.
Дальнейшую разработку системы взяла на себя компания UBPorts, будем надеяться, что с ее помощью Ubuntu Touch станет более популярной системой для мобильный устройств.
Кстати, один мой хороший знакомый, Дзен блогер Sacred Wolf , вдохновившись Ubuntu Touch, работает над очень интересным проектом StupidJoke (веб-сайт в стиле этой системы), также у него много весьма полезных статей, связанных с IT и Linux системами, в частности.
Итак, продолжим.
Есть у меня моноблок HP с сенсорным экраном. Хотя ему далеко не один годик, но даже по нынешним временам он очень хорош. Замечательный, защищенный толстым стеклом, Full HD экран с широчайшими углами обзора, отличный стерео звук "Beats audio", встроенный ТВ тюнер, ИК пульт, микрофон, камера. На нем очень удобно смотреть видео, серфить в интернете, да и работать тоже вполне комфортно.
Вот я и озадачился подобрать Linux систему для этого необычного (для меня) устройства, которая в максимально возможной степени будет поддерживать сенсорный экран.
Firefox , изначально, не поддерживает сенсорные экраны, но включить поддержку, через команду модифицирования списка переменных, очень просто :
env MOZ_USE_XINPUT2=1 firefox
После этого в Firefox будет работать прокрутка, zoom и прочее.
Opera и Chromium изначально поддерживают сенсорные экраны.
В Voyager Linux (Ubuntu версия) GE и PC-Tablet, - Firefox все поддерживает "из коробки"
1. Ubuntu 20.04 Gnome
Тут ничего не скажешь, - Gnome очень удобен для сенсорного экрана, крупные значки и удобное расположение, пальцем не промахнешься.
При включении экранной клавиатуры очень удобно набирать тексты с экрана, удобно также переключать языки. Прокрутка работает, правда не во всех приложениях, иногда приходится ползунком, но в системных работает.
Демо работы основных функций сенсорного экрана Voyager Debian:
2. Debian (Gnome)
Т акже удобно, как и в Убунту и, может мне просто показалось, но экранная клавиатура чуть "умнее" работает, выезжает более "осмысленно" :-))
3. Voyager Linux - есть Ubuntu версии адаптированные под планшеты и компьютеры с сенсорным экраном - GE, PC-Tablet.
Кроме этого, у них есть версии на Debian и Game Edition версии.
Тачскрин работает, но неправильно, нужно откалибровать. Установил и запустил xinput_calibrator , ткнул 4 точки. Ничего не изменилось (хотя на этом этапе уже должно правильно работать!) Попробовал по указанию программы сохранить настройки в файлик /usr/share/X11/xorg.conf.d/99-calibration.conf :
В этой директории и другие похожие файлы есть, вроде 70-wacom.conf и пр. После ребута так же ничего не изменилось. Попробовал и в /etc/X11/xorg.conf.d/ закинуть (директорию пришлось создать) – так же ничего не поменялось.
Вот еще информация, которая может помочь: xinput -list
(Мой девайс под номером 13)
xinput list-props 13 :
Попробовал поиграться с set-prop – тоже безрезультатно. Свойство вроде применяется (?), но эффекта нет. xinput set-prop 13 --type=atom --format=32 InvertX 1 , xinput list-props 13 :
Этот тред я читал, но не понял, как тамошний гуру всё разрулил, да и у того человека калибровка уже работала, а у меня ничего.
Такое ощущение, что xorg все устройства ввода по два раза обрабатывает, применительно к тачскрину, сначала он в /dev как evdev9 регистрируется, потом ниже как mouse2.
На калибровку может и не повлияет такое, но странно.
Zubok , может глянешь, если есть время?
Последнее исправление: Zubok 21.06.19 14:20:53 (всего исправлений: 1)
Попробовал xinput set-prop 13 "Coordinate Transformation Matrix" -1 0 1 0 1 0 0 0 1 – сработало! Касания свапнулись по оси X. Попробовал прописать Option "CalibrationMatrix" "-1 0 1 0 1 0 0 0 1" в файл /usr/share/X11/xorg.conf.d/99-calibration.conf – тоже сработало! Тач пашет после ребута. Теперь буду вручную подбирать коэффициенты.
sleeply4cat , Zubok , огромное спасибо! не знаю, почему сам не допёр до очевидного решения.
Остаётся одна незначительная проблема. Тачскрин именно что управляет курсором, а привычные жесты вроде скрола, удержания (для контексного меню) – не работают. Подозреваю, что есть уже готовые решения, куда копать? В кедах есть некие «Действия при проведении по сенсорному экрану», но что-то оно не пашет.
P.S. Кто будет читать этот тред, возможно вам поможет статья на арч вики, там объясняют за libinput Calibration Matrix .
А таких опций вроде у libinput нет.
Да, видимо, xinput_calibrator рассчитан на какой-то другой драйвер (или как там), который как раз с такими опциями работает.
Лучше в /etc/X11/xorg.conf.d положить. /usr/share/ больше для конфигураций, поставляемых пакетами, то есть для нужд системы, и лучше туда свои конфиги не класть, а то потом будешь вспоминать, что это такое и кто принес.
Теперь буду вручную подбирать коэффициенты.
В последней редакции операционной системы Ubuntu используется встроенный драйвер экрана, под названием evdev, который имеет встроенную поддержку планшетов. К сожалению, в предыдущих версиях Ubuntu (которые не были обновлены), поддержка сенсорных экранов не была обеспечена на достаточном уровне. Конечно, даже если сенсорный экран и работал в некоторых случаях, то очень плохо (неправильно) отзывался на касания, что делало непригодным для использования сенсорный режим. Зная, что в новой версии Ubuntu удалось устранить все эти проблемы, решение вопроса в старых версиях стало таким же простым, как установка какой либо утилиты или программы. Следующие действия позволят настроить устаревшую операционную систему для корректной работы с сенсорными экранами.
Инструкция
1. Зайдите в меню «System». Выберите раздел «Administration», далее нажмите пункт «Update Manager». В новом окне нажмите кнопку «Check» для проверки новых пакетов обновлений. Выберите пункт установки обновлений «Install Updates», что приведет к апгрейду системы Ubuntu.
2. Перегрузите компьютер для того, чтобы все обновления вступили в силу. После загрузки нажмите одновременно три кнопки «Ctrl», «Shift» и «T», что вызовет окно терминала «Terminal».
3. В терминальном режиме введите следующие команды:
sudo apt-get install utouch
sudo apt-get install xinput-calibrator
Далее нажмите «Enter», что приведет к установке скачанных приложений «uTouch» и «xinput calibrator» на операционную систему.
4. Зайдите снова в меню «System», раздел «Administration» и выберите в нем вновь созданный пункт «Calibrate Touchscreen», который запустит выполнение приложения «xinput calibrator».
5. Следуйте подсказкам мастера калибровки экрана. После этого введите в окне терминала команду запуска редактора «sudo gedit» и запустите ее на выполнение, нажав на кнопку «Enter»
6. Скопируйте значения, которые выдало приложение «xinput calibrator» в строке «Setting New Calibration Data». Далее они понадобятся в редакторе «gedit».
7. Вернитесь в терминальное окно. Введите следующую команду, которая откроет файл конфигурации «10-evdev.conf» в текстовом редакторе:
sudo gedit /usr/share/x11/xorg.conf.d/10-evdev.conf
Нажмите «Enter».
9. В найденной строке введите полученные ранее значения калибровки экрана между кавычками. Удалите все запятые во вставленном тексте.
Конечный результат должен выглядеть так:
Таким образом, мы вносим необходимые изменения в конфигурационный файл.
10. Далее нажмите кнопку сохранения файла «Save» и перегрузите систему.
После всех выполненных действий ваша устаревшая операционная система будет отлично поддерживать работу с планшетом и другими устройствами с сенсорными экранами.
Лично для меня, Gnome 40 раскрыл потенциал использования тачпада. Когда я его только попробовал, сразу же стало дико удобно испольпользовать жесты. Однако по некоторым причинам я не могу использовать Gnome и Wayland.
Touchegg — программа, позволяющая расширить возможности тачпада, добавляя дополнительные жесты, которые работают только под X11.
Установка
Ubuntu и производные:
$ sudo add-apt-repository ppa:touchegg/stable
$ sudo apt update
$ sudo apt install touchegg
Также можно скачать и установить через deb-пакет.
Fedora:
ArchLinux и производные:
В Arch Linux устанавливается через AUR. Стоит обратить внимание, что по умолчанию службы не будут включены, поэтому необходимо прописать следующие команды:
$ sudo systemctl enable touchegg.service
$ sudo systemctl start touchegg
Версия для дистрибутивов на основе Arch Linux без поддержки systemd, таких как Artix, также доступна в AUR.
VoidLinux
$ sudo xbps-install touchegg
$ sudo ln -s /etc/sv/touchegg /var/service
Дополнительно
Если вы используете Gnome, то рекомендуется так же установить расширение X11 Gestures.
После установки Touchegg необходимо перезагрузить систему.
Настройка
Для настройки советуется использовать утилиту Touche, которая позволяет в графическом режиме настраивать жесты. Ее можно установить как пакет flatpak.
Установка:
flatpak install flathub com.github.joseexposito.touche
Запуск:
flatpak run com.github.joseexposito.touche
Также возможно установить нативно для Ubuntu через deb-пакет и для Arch Linux через AUR.
Помимо прочего, присутствует возможность настроить вручную, отредактировав XML-файл. Скопируйте файл конфигурации по умолчанию из /usr/share/touchegg/touchegg.conf в
/.config/touchegg/touchegg.conf (если автоматически он не создался в домашней директории).
Доступные жесты
SWIPE — жесты смахивания выполняются при синхронном движении трех или более пальцев в одном направлении. Три- это минимальное количество пальцев, которое Touchegg допускает для жестов смахивания натачпадахи два на сенсорных экранах.
PINCH — щипковые жесты выполняются, когда два или более пальца находятся на тачпаде и либо изменяют относительное расстояние друг от друга (сжимание), либо изменяют относительный угол (поворот).
TAP — жесты касания выполняются, когда два или более пальцев "нажимают" на сенсорный экран.
В целом, названия тегов говорят сами за себя:
Тег "<gesture> </gesture>" означает жест. Имеет следующие параметры:
- type — вид жеста (вариации указаны выше);
- finger — количество пальцев (для свайпа — 3-4, для остальных — 2-4);
- direction — направление движения пальцев (для свайпа — up/down/left/right, для пинча — in/out).
Далее идет тэг действий "<action></action>", но об ниже.
Доступные действия
Стандартные действия с окнами
Доступны следующие стандартные действия с окнами:
- Развернуть или восстановить окно (MAXIMIZE_RESTORE_WINDOW).
- Свернуть окно (MINIMIZE_WINDOW).
- Закрыть окно (CLOSE_WINDOW).
- Развернуть окно на весь экран (FULLSCREEN_WINDOW).
- Показать рабочий стол (SHOW_DESKTOP).
- Клик мыши (MOUSE_CLICK).
Они содержат следующие параметры:
- animate — включаетили отключает анимации (значения: true/false);
- color — отвечает за цвет анимации;
- BorderColor — отвечает за цвет границы анимации.
Тайлинг (TILE_WINDOW)
Изменяет размер окна, который находится под указателем мыши, и перемещает его вправо/влево на половину экрана.
Помимо параметров прошлых действий, также содержит в себе параметр direction, который отвечает за расположение окна (значения: left/right).
Переключение рабочих столов/рабочих пространств (CHANGE_DESKTOP)
Содержит следующие параметры:
- direction — рабочий стол/пространство, на который нужно переключиться (значения —previous/next/up/down/left/right/auto);
- animate — включает или отключает анимации (значения: true/false);
- AnimationPosition — указывает, на каком краю будет отображаться анимация перехода (up/down/left/right/auto);
- color — отвечает за цвет анимации;
- borderColor — отвечает за цвет границы анимации.
<gesture type="SWIPE" fingers="4" direction="LEFT">
<action type="CHANGE_DESKTOP">
<direction>next</direction>
<animate>true</animate>
<animationPosition>right</animationPosition>
<color>3E9FED</color>
<borderColor>3E9FED</borderColor>
</action>
</gesture>
<gesture type="SWIPE" fingers="4" direction="RIGHT">
<action type="CHANGE_DESKTOP">
<direction>previous</direction>
<animate>true</animate>
<animationPosition>left</animationPosition>
<color>3E9FED</color>
<borderColor>3E9FED</borderColor>
</action>
</gesture>
Сочетание клавиш (SEND_KEYS) и выполнение команд (RUN_COMMAND)
Также можно настроить выполнение сочетаний клавиш (SEND_KEYS) и выполнение команд (RUN_COMMAND), но я их не тестировал. Поэтому более подробно советую ознакомиться здесь (для сочетаний клавиш) и здесь (для выполнения команд)
Заключение
Таким образом, Touchegg расширяет возможности при ипользовании тачпада. Благодаря этому можно полноценно им пользоваться. Тестировал только на Gnome и KDE, поэтому про остальные DE сказать ничего не могу. Если кто-то пробовал или собирается проверить, то просьба об этом отписать в комментариях. В проверенных мной DE все работает исправно. Единственное, не факт, что поменяется цвет анимации, как минимум у меня для сворачивания окон он так и не завелся.
Надеюсь, что эта статья кому-то пригодится. Возможно что-то упустил, поэтому рекомендую дополнительно ознакомиться со всем здесь. Всем добра!
Читайте также: