Как в Linux сконфигурировать сенсорный экран
Сенсорный экран ─ это часть оборудования, которое обещает, что, наконец, человечество избавится от очень давно используемого и навязчивого интерфейса. Я говорю о мыши. Это та часть технологии, которая, благодаря сенсорным экранам, находится под угрозой исчезновения. И не без оснований. После того, как вы попользуетесь сенсорным экраном, вы в полной мере сможете понять, что он, по сути, столь необходим, как глоток свежего воздуха.
Но в среде Linux все это не совсем радужно. Как только у вас в руках окажется устройство, поддерживающее работу с сенсорным экраном (например, фантастический настольный компьютер System76 Sable Touch, работающий с Ubuntu 14.10), вы увидите, что не все работает, как вы ожидали. Конечно, есть несколько удобных жестов, позволяющих использовать три и четыре пальца, которые работают из коробки, но жесты, удобные при навигации (например, аналогичный щелчку правой кнопкой мыши и прокрутки, используемой в Firefox) просто не работают.
Хорошая новость в том, что заставить эти очень необходимые жесты работать достаточно просто. Но для этого потребуется установить приложение и расширение для Firefox. Плохая новость заключается в том, что после всех этих манипуляций не все дистрибутивы будут реагировать одинаковым образом. В конечном счете, все это попадает в руки сообщества Linux, которое примет решение о том, что сенсорные экраны не должны исчезнуть (и их популярность, по сути, будет продолжать расти). С учетом сказанного, давайте взглянем на то, что вы можете сделать, чтобы новенькое сенсорное устройство работало так, чтобы это, на самом деле, имело смысл.
Что вам понадобится
Во-первых, мы намерены обратиться к браузеру, поскольку в случае, когда дело касается рабочего стола, то это один из наиболее часто используемых инструментов. На этом фронте плохих новостей немного больше ─ вам придется отказаться от Google Chrome. Почему? Потому что, по крайней мере, на момент написания статьи, Google Chrome и сенсорные экраны Linux вместе не работают. С учетом сказанного, мы собираемся сосредоточить наши усилия на Firefox и на простом к нему расширении.
Во-вторых, вам нужно будет установить и использовать удобное приложение, которое называется Touchegg. Это приложение будет служить в качестве средства настройки некоторых событий при взаимодействии с сенсорным устройством.
Давайте начнем с учетом всего сказанного выше.
Firefox
Сразу из коробки Firefox не сильно дружит с сенсорными экранами. Тем не менее, есть расширение, которое вы можете установить с тем, чтобы преодолеть эту проблему. Это расширение называется Grab and Drag. Оно позволяет перехватывать события, связанные с прокруткой, в том числе обрабатывать прокрутку щелчком и импульс прокрутки.
Чтобы установить это расширение выберите Tools > Add-ons (Инструменты > Дополнения, а затем нажмите кнопку Get Add-ons (Получить дополнения). В строке поиска в новой вкладке, введите «grab and drag». Когда появятся результаты (рис.1), нажмите на кнопку Install (Установить), относящуюся к расширению Grab and Drag.
Рис.1: Установка расширения Grab and Drag для Firefox
Вам будет предложено перезагрузить Firefox. Сделайте это, и потом, когда Firefox снова откроется, вернитесь в окно Add-ons (Дополнения), выберите Extensions (Расширения), выберите Grab and Drag, а затем нажмите Preferences (Настройки). На экране Preferences (Настройки) можно игнорировать вкладку Momentum (поскольку эта функция не работает с сенсорными экранами). Вы, скорее всего, захотите открыть вкладку More Options (Дополнительно) и поэкспериментировать с настройками Drag Multiplier (рис.2). По умолчанию, прокрутка работает сравнительно медленно. Я обнаружил, что Drag Multiplier версии 1.6 идеально подходит для использования сенсорного экрана и Firefox
Рис.2: Настройка drag multiplier для более быстрой прокрутки.
Теперь, когда у вас запущен Firefox, давайте установим приложение, которое (в ряде случаях) позволит вам управлять практически каждым сенсорным жестом на Linux.
Touchegg
Я покажу, как установить это приложение в Ubuntu 14.10. Я также добавлю инструментальные средства с графическим интерфейсом, которые упростят конфигурирование жестов. У этого средства, называющегося touchegg-gce, есть ряд зависимостей, которые должны быть установлены в первую очередь.
Прежде, чем устанавливать графический интерфейс, давайте установим это базовое средство. Приложение touchegg можно найти в стандартных репозиториях, поэтому его можно будет установить с помощью единственной команды:
Как только установка будет завершена, давайте установить зависимости для инструментальные средства с графическим интерфейсом. Для этого выполните команду:
После того, как зависимости будут установлены, скачайте файл Touchegg-gce и поместите его в каталог, в которому вас есть доступ на запись (например,
/). Чтобы установить приложение, выполните следующие шаги:
- Перейдите в каталог, в котором находится файл .zip.
- Выполните команду unzip Touchegg-gce-master.zip для того, чтобы извлечь файл.
- Перейдите в каталог Touchegg-gce-master .
- Выполните команду qmake
- Выполните команду make
- Скопируйте файл touchegg-gce в каталог /usr/bin
Все. Теперь вы можете выполнить команду touchegg-gce из любого каталога и приложение будет работать. После запуска приложения вы должны сначала выбрать язык (следует делать каждый раз, когда вы запускаете приложение). В главном окне приложения (рис.3), нажмите кнопку Load (Загрузить) для того, чтобы загрузить файл конфигурации Touchegg (по умолчанию он должен быть каталоге
Рис. 3: Инструментальное срество с графическим интерфейсом Touchegg
Теперь вы можете либо изменить существующий жест или добавить новый жест. Все, что вам для этого нужно будет знать, это то, какие доступны возможности конфигурирования. В каждой записи у вас есть следующие четыре параметра:
- Fingers: Сколько прикосновений пальцев должно обрабатываться
- Gesture: Какой конкретный жест (tap — нажатие, drag — перемещение, pinch — масштабирование, rotate — поворот, Tap & Hold — нажаите и удерживание в нажатом состоянии, Double Tap — двукратное нажатие)
- Direction: направление выполнения жеста (All — в любом, Up — в вверх, Down — вниз, Left — влево, Right — вправо)
- Action: Какое действие будет связано с этим жестом (например, щелчок кнопкой мыши, прокрутка, сворачивание окна, разворачивание окна, закрытие окна и т.д.).
Для того, чтобы создать новый жест, нажмите кнопку Add (Добавить). Например, мы создадим жест, который позволит нам выполнять прокрутку с помощью перемещения вверх по экрану двух пальцев. Мы создадим этот жест для группы All Group (что означает, что он будет применяться ко всем приложениям). Во всплывающем окне (рис.4), выберем следующее настройки:
- Fingers: 2
- Gesture: Drag
- Directions: Up
- Action: Scroll
Когда конфигурирование будет выполнено, нажимаем кнопку ОК и можно попробовать использовать этот жест.
Рис.4: Создание нового жест с помощью Touchegg-gce
Но, давайте предположим, что вы хотите связать конкретный жест с определенным приложением (или группой приложений). Для этого необходимо создать новую группу. Чтобы сделать это, нажмите на кнопку Add (Добавить), находящуюся пол списком групп (в левой части окна). Во всплывающем окне (рис.5), вам нужно будет настроить следующие три параметра:
- Applications: Указываются приложения, в которых будет использоваться этот жест
- Add to: К какой группе добавляется. Выберите New Group (Новая группа) для того, чтобы создать новую группу
- Take gestures from: Вы можете импортировать жесты из другой группы с тем, чтобы использовать их в качестве шаблона.
Рис.5: Создание новой группы, для которой могут быть назначены конкретные жесты
После того как вы создали новую группу, вы можете создавать новые жесты, которые будут работать только для этой группы.
После того как вы закончили процесс создания жестов и групп, убедитесь в том, что вы нажали (или щелкнули по) кнопку Save (Сохранить). Если вы не сделаете этого, то при закрытии приложения ваши настройки будут потеряны. После того, как вы сохраните конфигурацию, Touchegg будет перезапущен и новых жесты должны работать.
Даже при наличии таких приложений, как Drag and Grab и Touchegg, разработка в Linux использование сенсорного экрана будет продолжаться еще долго. Не каждый жест будет работать на любом устройстве, а в некоторых случаях, вам будет проще пользоваться мышкой. Будем надеяться, что в следующем году мы увидим значительное улучшение в этом направлении ─ в противном случае по мере того, как будет появляться больше устройств с сенсорными экранами, использование Linux будет становиться все более неудобным.
Источник
Linux для планшета
В этой статье я покажу вам на своём опыте, что GNU/Linux и графические оболочки для него уже дозрели до уровня планшетов и вовсе не нужно бояться покупать трансформер\планшет только из-за того, что вы приверженный линуксоид. Здесь описывается сравнение и выбор оптимальной среды рабочего стола (далее DE) для планшета или трансформера, её установка и доработка для сенсорного управления.
Небольшая предыстория
Являясь обладателем небольшого (по современным меркам) телефона, 7″ планшета и ноутбука, пришла мысль о замене устройств. После некоторого раздумия пришёл к выводам:
- хочется большой (5.5-6″) телефон, чтобы можно было удобно смотреть фильмы и серфить в интернете;
- тогда в маленьком планшете нет смысла, т. к. телефон его полностью заменит, и при этом будет помещаться в карман;
- для 10″ планшета уже нужна сумка, так почему бы тогда не взять что-нибудь побольше?
- хотелось бы соединить большой планшет и ноутбук в одно устройство.
Вывод был один: трансформер – идеальный вариант.
Далее предстоял выбор трансформера: хотелось бы не просто планшет с подключаемой по Bluetooth клавиатурой, а полноценный мощный ноутбук с отсоединяемым экраном и дополнительными портами в док-станции. Мой долгий выбор пал на одну из моделей HP. О нём я рассказывать не буду, т. к. статья не про это (да и вообще получится реклама). Скажу лишь, что мне очень понравилась концепция модульности: у вас в руках мощный и лёгкий (900г) планшет, который при подключении в док-станцию приобретает настоящую клавиатуру, дополнительный жёсткий диск и становится ноутбуком, который может проработать 12 часов от 2х батарей. Паралельно со мной моей девушке понадобился ноутбук по учёбе, она хотела маленький и лёгкий, с flip форм-фактором (петли могут поворачиваться на 360°, откидывая клавиатуру за крышку и превращая ноутбук в планшет). Её выбор остановился на модели производства Dell.
Итак, у меня оказались на руках 2 устройства одного назначения, но абсолютно разного исполнения. На HP изначально была Windows 8, на Dell — 8.1. Обе системы были удалены после проверки работоспособности в магазине.
Выбор дистрибутива и DE
Всё должно быть предназначено для управления тачем, интерфейс должен быть единым и для ноутбука, и для планшета — такие концепции я поставил перед собой. Начитавшись в интернете про поддержку тачскрина разными DE, решил поставить Ubuntu из-за жестов. Жесты оказались действительно удобными, скролл пальцем есть, также для тача очень удобна широкая панель Unity (удобно листать и открывать приложения). На этом удобства закончились. Мелкие кнопки закрытия и сворачивания окна (развернуть можно жестом), невозможность пролистывания главного меню, неудобное скрытие панели (в портретной ориентации она занимает много места, а раскрыть её можно только жестом четыремя пальцами). Это меня не устраивало, к тому же я недолюбливаю Ubuntu. Поскольку Ubuntu c Unity я отбросил, а остальные известные DE с хоть какой-то поддержкой жестов можно поставить почти любой дистрибутив, был выбран ArchLinux из-за прошлого опыта (он стоит на всех моих устройствах).
Были установлены KDE4, XFCE и Gnome 3.
Тачскрин работал во всех DE из коробки, т. к. им управляет X-сервер (драйвер xf86-input-evdev устанавливается вместе с Xorg как зависимость в ArchLinux)
KDE:
плюсы:
- удобный плазмоид клавиатуры (при нажатии выдвигается снизу, не перекрывая экран)
- огромная возможность настройки и расширения, вплоть до увеличения кнопок в заколовке окна и их перемещения (для тачскрина очень полезно)
минусы:
- нет никакой поддержки тача, скролл пальцем не работает, хорошо хоть приложения перетаскиваются пальцем, пользоваться невозможно
XFCE:
плюсы:
- минималистичность, для небольших мощностей планшетов – только полезно
минусы:
- прокрутка пальцем не работает;
- отсутствие жестов.
Впрочем, XFCE ругать не за что, так как разработчики позиционируют её как в первую очередь как легковесная система для нетбуков, с чем XFCE справляется отлично.
Gnome 3:
плюсы:
- хоть какая-то экранная клавиатура, которая вылезает только при касании поля ввода (если кликнуть туда мышью клавиатура не раскроется);
- мультитач-жесты, хоть и не такие удобные, как в Unity;
- принцип управление окнами и панели как будто для планшетов и создавались;
- меню приложений в виде крупных иконок, которые можно листать пальцем;
- удобный менеджер сеансов (gdm) с поддержкой тача;
- хорошая расширяемость плагинами;
- все стандартные приложения поддерживают мультитач (например, масштабирование сведением двух пальцев в просмотре изображений).
Минусы:
- абсолютно убогая стандартная клавиатура без поддержки русского языка и без нормальной раскладки;
- другая концепция упорядочения окон (например отсутствие сворачивания при стандартных настройках) требует очень долгого привыкания.
Итак, возьмём за основу Archlinux с Gnome 3 и доработаем его.
Установка
Установку описывать не буду, всё есть по ссылке. Если хотите ускорить установку, сделайте так:
Далее делаете всё, что указано в статье на Wiki после пункта «Change root into the new system».
После основной настройки системы установим Gnome 3:
Настройка
Начнём, собственно, адаптацию под планшет:
- Включим правый клик по долгому нажатию (с мышью тоже будет работать):
Вместо 0.6 можете подставить комфортное для вас время, после которого будет сделан клик правой мышью. Минус в том, что палец нужно держать идеально ровно все эти 0.6 секунд, поэтому этот фокус получается только с 2-3 раза. Нужна альтернатива.
У большинства планшетов есть кнопка Windows (как правило под экраном). Было бы логично при нажатии на неё открывать «обзор», но он и так удобно открывается жестами, поэтому мы повесим на эту кнопку правый клик:
Устанавливаем xdotool и xbindkeys:
Чтобы узнать, как определяется у вас подэкранная кнопка, выполните:
Запишем конфигурацию xbindkeys и добавим его в автозагрузку (вместо Super_r подставьте свой идентификатор кнопки, полученный из предыдущей команды):
Сделаем ползунки яркости и громкости пошире. Для этого скачаем патч и применим его:
Получится примерно так:
Если вы уведёте планшет в сон, после пробуждения вы заметите, что тач то собственно не работает. Gnome зачем-то отключает его как устройство ввода в X-сервере. Простое «xinput enable «ELAN Touchscreen»» исправит ситуацию после сна. Давайте сделаем демон systemd, который будет выполнять эту команду сразу после сна:
Автоповорот… Не думал, что всё будет так легко. Драйвер для акселеометра на обоих ноутбуках не потребовался, lsusb опознавал его как «0483:91d1 STMicroelectronics». Был быстро написан скрипт на python для автоповотора. Нужно поставить python2 и прописать скрипт в автозагрузку:
Отключим автопоказ стандартной экранной клавиатуры:
Установим и настроим Onboard (отличная экранная клавиатура для планшета):
Теперь клавиатура будет появляться после клика в месте ввода. Это работает даже с мышью и тачпадом, поэтому если подразумевается такое использование планшета, выполните:
Чтобы вручную открыть клавиатуру, достаточно свайпнуть вверх с нижнего края экрана и нажать на иконку Onboard.
При использовании без клавиатуры меню выбора ОС в Grub можно скрыть. Для этого поставим пакет из AUR:
Теперь система готова для использования только тачскрином. Всё удобно, а главное, отлично адаптировано под формат планшета, при этом во время работы в режиме планшет+док-станция, отличий от обычного Gnome 3 вы почти не заметите.
Вывод
Если вы приверженный линуксоид, и вы не покупаете планшет\трансформер только из-за того, что придётся отказаться от Linux — ничего подобного. Работать гораздо удобнее чем в Windows из-за, хотя бы, поддержки жестов в Gnome 3.
UPD И так спустя больше, чем половину года:
После обновления 3.16 в Gnome изменили дизайн трея, теперь это не панель, выдвигающаяся снизу экрана
(как же это было удобно на тачскрине), а маленькая панелька снизу слева, которая содержит только иконки
. Кстати, ей ещё и невозможно пользоваться на планшете (баг я зарепортил уже давно).
В итоге пользоваться клавиатурой стало трудно, иногда даже включал «плавающий значок при свёрнутом Onboard» в настройках. Это решается расширением, которое позволяет открыть клавиатуру свайпом вверх с нижнего края экрана.
Также пункт 6 утратил актуальность, теперь это также решается расширением. Если вы таки предпочитаете стоковую клавиатуру и вам не нравится, что она накладывается сверху на окна, можете воспользоваться этим.
Также можно немного облегчить жизнь в портретном режиме (при 1366×768 туда не влазит большинство заголовков окон), поставив это и вот это.
Источник