В этой статье я покажу вам на своём опыте, что 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 и доработаем его.
Установка
Установку описывать не буду, всё есть по ссылке. Если хотите ускорить установку, сделайте так:
pacstrap /mnt grep sed filesystem shadow pacman screen nano mkinitcpio # ставим основню систему и всё нужное
genfstab -pU /mnt >> /mnt/etc/fstab # генерируем fstab
arch-chroot /mnt # переключаемся на нашу новую систему
screen -dm pacman -S —noconfirm base # запускаем установку остальной системы в фоне. Сюда можете добавить пакеты, которые вам нужны в новой системе
Далее делаете всё, что указано в статье на Wiki после пункта «Change root into the new system».
После основной настройки системы установим Gnome 3:
pacman -Sy gnome
systemctl enable gdm
systemctl start gdm
Настройка
Начнём, собственно, адаптацию под планшет:
- Включим правый клик по долгому нажатию (с мышью тоже будет работать):
gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true" gsettings set org.gnome.desktop.a11y.mouse secondary-click-time "0.6"
Вместо 0.6 можете подставить комфортное для вас время, после которого будет сделан клик правой мышью. Минус в том, что палец нужно держать идеально ровно все эти 0.6 секунд, поэтому этот фокус получается только с 2-3 раза. Нужна альтернатива.
- У большинства планшетов есть кнопка Windows (как правило под экраном). Было бы логично при нажатии на неё открывать «обзор», но он и так удобно открывается жестами, поэтому мы повесим на эту кнопку правый клик:
Устанавливаем xdotool и xbindkeys:pacman -S xdotool xbindkeys
Чтобы узнать, как определяется у вас подэкранная кнопка, выполните:
touch ~/.xbindkeysrc xbindkeys -k
- Запишем конфигурацию xbindkeys и добавим его в автозагрузку (вместо Super_r подставьте свой идентификатор кнопки, полученный из предыдущей команды):
echo ""env DISPLAY=:0 xdotool click 3" Super_R" > ~/.xbindkeysrc echo "[Desktop Entry] Name=Xbindkeys Exec=xbindkeys Type=Application Terminal=false" > /etc/xdg/autostart/xbindkeys.desktop
- Сделаем ползунки яркости и громкости пошире. Для этого скачаем патч и применим его:
curl http://pastebin.com/raw.php?i=F2WJiEUC > /tmp/theme.patch patch /usr/share/gnome-shell/theme/gnome-shell.css < /tmp/theme.patch
Получится примерно так:
- Если вы уведёте планшет в сон, после пробуждения вы заметите, что тач то собственно не работает. Gnome зачем-то отключает его как устройство ввода в X-сервере. Простое «xinput enable «ELAN Touchscreen»» исправит ситуацию после сна. Давайте сделаем демон systemd, который будет выполнять эту команду сразу после сна:
echo "[Unit] Description=Fix touchscreen after resume After=suspend.target [Service] Type=simple ExecStart=env DISPLAY=:0 xinput enable 'ELAN Touchscreen' User=wildfire [Install] WantedBy=suspend.target" > /usr/lib/systemd/system/touchscreen-fix.service systemctl enable touchscreen-fix
- Автоповорот… Не думал, что всё будет так легко. Драйвер для акселеометра на обоих ноутбуках не потребовался, lsusb опознавал его как «0483:91d1 STMicroelectronics». Был быстро написан скрипт на python для автоповотора. Нужно поставить python2 и прописать скрипт в автозагрузку:
pacman -S python2 xorg-xrandr curl http://pastebin.com/raw.php?i=nnecb7iA > /usr/bin/autorotate chmod +x /usr/bin/autorotate echo "[Desktop Entry] Name=Autorotate Exec=python2 /usr/bin/autorotate Type=Application Terminal=false" > /etc/xdg/autostart/autorotate.desktop
- Отключим автопоказ стандартной экранной клавиатуры:
sed -i 's/^Exec/#Exec/g' /usr/share/dbus-1/services/org.gnome.Caribou.Daemon.service /usr/share/dbus-1/services/org.gnome.Caribou.Antler.service
- Установим и настроим Onboard (отличная экранная клавиатура для планшета):
pacman -S onboard gsettings set org.onboard.auto-show enabled "true" gsettings set org.onboard.keyboard touch-feedback-enabled "true" gsettings set org.onboard.window docking-enabled "true" gsettings set org.onboard.window enable-inactive-transparency "true" gsettings set org.onboard.window force-to-top "true" gsettings set org.onboard.window inactive-transparency "60.0" gsettings set org.onboard.window transparency "20.0" gsettings set org.onboard.window transparent-background "true" gsettings set org.onboard.window window-decoration "false" gsettings set org.onboard layout "/usr/share/onboard/layouts/Compact.onboard" gsettings set org.onboard show-status-icon "true" gsettings set org.onboard start-minimized "true" echo "[Desktop Entry] Name=Onboard-autostart Exec=onboard Type=Application Terminal=false" > /etc/xdg/autostart/onboard.desktop
Теперь клавиатура будет появляться после клика в месте ввода. Это работает даже с мышью и тачпадом, поэтому если подразумевается такое использование планшета, выполните:
gsettings set org.onboard.auto-show enabled "false"
Чтобы вручную открыть клавиатуру, достаточно свайпнуть вверх с нижнего края экрана и нажать на иконку Onboard.
- При использовании без клавиатуры меню выбора ОС в Grub можно скрыть. Для этого поставим пакет из AUR:
curl -O https://aur.archlinux.org/packages/gr/grub-holdshift/grub-holdshift.tar.gz tar -xf grub-holdshift.tar.gz cd grub-holdshift makepkg -si grub-mkconfig -o /boot/grub/grub.cfg
- Если в вашем планшете SSD, советую также прочитать эту статью
- Ещё большую функциональность жестов (например, разворачивание окна на весь экран свайпом тремя пальцами вверх, сворачивание свайпом вниз) сможет дать touchegg. Однако стандартных мультитач-жестов в Gnome достаточно.
Теперь система готова для использования только тачскрином. Всё удобно, а главное, отлично адаптировано под формат планшета, при этом во время работы в режиме планшет+док-станция, отличий от обычного Gnome 3 вы почти не замените.
Вывод
Если вы приверженный линуксоид, и вы не покупаете планшеттрансформер только из-за того, что придётся отказаться от Linux — ничего подобного. Работать гораздо удобнее чем в Windows из-за, хотя бы, поддержки жестов в Gnome 3.
Автор: UselessFire