В этой статье я покажу вам на своём опыте, что 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

Настройка

Начнём, собственно, адаптацию под планшет:

  1. Включим правый клик по долгому нажатию (с мышью тоже будет работать):
    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 раза. Нужна альтернатива.

  2. У большинства планшетов есть кнопка 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
  3. Сделаем ползунки яркости и громкости пошире. Для этого скачаем патч и применим его:
    curl http://pastebin.com/raw.php?i=F2WJiEUC > /tmp/theme.patch patch /usr/share/gnome-shell/theme/gnome-shell.css < /tmp/theme.patch

    Получится примерно так:

  4. Если вы уведёте планшет в сон, после пробуждения вы заметите, что тач то собственно не работает. 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' [Install] WantedBy=suspend.target" > /usr/lib/systemd/system/touchscreen-fix.service systemctl enable touchscreen-fix
  5. Автоповорот… Не думал, что всё будет так легко. Драйвер для акселеометра на обоих ноутбуках не потребовался, 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
  6. Отключим автопоказ стандартной экранной клавиатуры:
    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
  7. Установим и настроим 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" # отключить заголовок окна (где кнопки закрыть, свернуть, etc.) 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.

  8. При использовании без клавиатуры меню выбора ОС в 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
  9. Если в вашем планшете SSD, советую также прочитать эту статью
  10. Ещё большую функциональность жестов (например, разворачивание окна на весь экран свайпом тремя пальцами вверх, сворачивание свайпом вниз) сможет дать touchegg. Однако стандартных мультитач-жестов в Gnome достаточно.

Теперь система готова для использования только тачскрином. Всё удобно, а главное, отлично адаптировано под формат планшета, при этом во время работы в режиме планшет+док-станция, отличий от обычного Gnome 3 вы почти не заметите.

Вывод

Если вы приверженный линуксоид, и вы не покупаете планшеттрансформер только из-за того, что придётся отказаться от Linux — ничего подобного. Работать гораздо удобнее чем в Windows из-за, хотя бы, поддержки жестов в Gnome 3.UPD И так спустя больше, чем половину года: После обновления 3.16 в Gnome изменили дизайн трея, теперь это не панель, выдвигающаяся снизу экрана (как же это было удобно на тачскрине), а маленькая панелька снизу слева, которая содержит только иконки . Кстати, ей ещё и невозможно пользоваться на планшете (баг я зарепортил уже давно). В итоге пользоваться клавиатурой стало трудно, иногда даже включал «плавающий значок при свёрнутом Onboard» в настройках. Это решается расширением, которое позволяет открыть клавиатуру свайпом вверх с нижнего края экрана. Также пункт 6 утратил актуальность, теперь это также решается расширением. Если вы таки предпочитаете стоковую клавиатуру и вам не нравится, что она накладывается сверху на окна, можете воспользоваться этим. Также можно немного облегчить жизнь в портретном режиме (при 1366×768 туда не влазит большинство заголовков окон), поставив это и вот это.

И снова перевод, на этот раз статьи: тестирование дистрибутивов Linux для планшета с ресурса techradar.

В наши дни рынок устройств персональных компьютеров стремительно выходят основанные на Windows планшеты. Они имеют сенсорный экран, но в то же время могут быть очень просто превращены в устройство 2 в одном с помощью подключения мыши и клавиатуры. Это позволит использовать планшет в качестве ноутбука с сенсорным экраном.

Большинство современных гибридных планшетов основаны на чипсетах от Интел — Bay Trail Atom. Здесь используется процессор x86, конечно он серьезно отстает от топовых Core i5, i7 и даже i3. Но тем не менее их мощности хватает для нормально работы предустановленной там Windows 10. Поэтому ничего не мешает установить Linux на планшет х86.

Но где же планшеты с операционной системой Linux? Существует огромный дефицит на рынке таких устройств, и пока мы ждем его заполнения, можем взять планшет Bay Trail и установить на него Linux для планшета. В конце-концов, учитывая, что это планшет архитектуры х86, то мы можем установить на него что угодно. Но на самом деле подойдет далеко не любой дистрибутив.

Аппаратное обеспечение

В тестировании принимал участие планшет за $200 Linx 1010 Windows 10, с подключенной клавиатурой. Он работает на четырехъядерном процессоре Atom Z3735F и имеет 2 Гб оперативной памяти и разрешение экрана 1280 х 800 с 10,1 дюймовый WXGA емкостный экран, видеокарту седьмого поколения Intel HD, а также 32 ГБ встроенной памяти.

Устройство поддерживает технологии Bluetooth, Wifi, встроены две камеры, два USB порта и слот MicroSD. Кроме того, есть акселерометр, который позволяет определять повороты устройства.

Цель — найти дистрибутив Linux для планшета, который сможет использовать все основные функции этого планшета: графика, звук, Wifi, управление питанием, сенсорный экран. Но тут же кроется одна загвоздка — это поколение планшетов с 64 битным процессором и 32 битным EFI. Но большинство 32-битных дистрибутивов не поддерживают EFI, 64 битные используют только 64-битные EFI.

Но решение этой проблемы было найдено в виде файла bootia32.efi от Джона Уэллса. Его достаточно скопировать в папку BOOT. На поддерживаемых устройствах вы получите полностью рабочее меню Grub. Для двоих дистрибутивов не понадобился даже этот обходной путь, они отлично установились и работали. Обратите внимание, перед тем, как что-то делать следует сделать полную резервную копию планшета, иначе вы не сможете вернутся к Windows 10. А теперь давайте перейдем к списку.

Ubuntu 14.04.3 LTS

Скачать LTS релиз Ubuntu для планшета в сети не так то просто, но в конце-концов были найдены индивидуальные сборки от Яна Моррисона для настольных компьютеров на базе Z3735F. Был загружен ISO и записан с помощью Unetbootin на USB флешку. Затем была выполнена загрузка в Live режиме.

Сначала пришлось открыть Настройки -> Экран и повернуть Дисплей на 90 градусов по часовой стрелке, чтобы переключить его в ландшафтный режим. В системе не было звука, и поддержки касаний, но работал Wifi.

Устанавливать систему пришлось очень аккуратно, диск разбивался вручную, чтобы оставить оригинальный загрузочный раздел EFI без изменений и выбрать Winidows Boot Loader для установки загрузчика.

После того как установка была завершена, пришлось установить 32-битную версию Grub с помощью скрипта от Моррисона., прежде чем получилось успешно перезагрузиться в установленную Ubuntu. Другие пользователи использовали этот патч также и в других системах, например Linux Mint.

Затем система была обновлена и установлен патч dsdt, но звук и сенсорный экран по прежнему не работали. Ubuntu работала только от батареи, но это проблема всех дистрибутивов в этом тесте, а также не было контроля над яркостью экрана.

При обновлении ядра до 4.4.3  был получен полностью рабочий сенсорный экран, но и ухудшена стабильность работы Wifi, интернет удалось настроить только с помощью внешнего wifi адаптера. Возможно, в следующих версиях ядра проблема будет исправлена в linux для планшета.

Debian 8.3 (Jessie)

В Debian нет поддержки запуска в режиме Live системы, но зато установочные образы отлично работают как с 32-битным, так и 64-битным EFI. Достаточно было скачать образ и записать его на флешку.

В установщике нет поддержки сенсорного ввода, поэтому вам понадобится внешняя клавиатура, а также несвободный файл rt2860.bin, чтобы заставить работать Wifi адаптер.

Но после установки пакета с прошивкой, wifi адаптер был обнаружен автоматически. Остальная часть установки прошла без проблем. Диск был разбит вручную, чтобы сохранить оригинальный загрузочный раздел Windows.

Использовалось окружение рабочего стола Gnome, установка Grub прошла без проблем. Осталось перезагрузиться и использовать полностью готовую к работе систему.

Опять пришлось поворачивать экран на 90 градусов и, к сожалению, поддержка оборудования оказалась минимальной — ни сенсорный экран, ни wifi, ни звук, на работали. Обновление ядра до версии 4.2 ничего не дало.

Оценка: 7 из 10

Fedora

Дистрибутив Fedora тестировался в виде редакции Fedlet. Результаты были аналогичны тем, что и в Debian, базовая функциональность была, но ни поддержки сенсорного ввода ни звука, ни управления питанием и яркостью дисплея не было. Встроенный Wifi адаптер тоже не работал.

Fedlet использует оболочку рабочего стола Gnome, и это заметно сказалось на производительности, система оказалась гораздо менее отзывчивой, чем ubuntu или Debian.

Оценка: 6 из 10

Arch Linux

В эксперименте с Arch Linux участвовала специальная версия, поддерживающая работу с wifi и 32 битный EFI от WatchMySys. Программа работала но поначалу попросту зависала в меню Grub. Работать с клавиатурой приходилось с зажатой клавишей Fn, но после загрузки в консоль клавиша Fn уже работала нормально. Wifi адаптер в системе определился и работал нормально.

Но здесь важно заметить, что ArchLinux система не для новичнов и придется очень много работать в командной строке, а это занятие не очень удобное для планшетов.

Оценка: 6 из 10

Porteus

Перед тем как попробовать этот дистрибутив было предпринято ряд безуспешных попыток установить другие. Это дистрибутив предназначенный для запуска с внешних носителей, таких как USB флешки, что делает его отличным выбором для тех кто хочет попробовать Linux на планшете не влияя на установку Windows.

На странице загрузки можно выбрать версию с поддержкой 64-битного процессора и UEFI. В качестве окружения было выбрано легкое LXqt. Размер образа составил 500 мегабайт. Но пришлось скопировать файл bootia32.efi в папку /EFI/BOOT, собственно как и во многих других дистрибутивах.

Повернуть экран в настройках не получилось, потому что там попросту нет такого пункта, поэтому пришлось использовать команду:

К сожалению опять не работал сенсорный экран, а также, как и раньше, не работал звук и встроенный Wifi.

Оценка: 5 из 10

Выводы

Поддержка дешевых планшетов на Windows 10 все еще очень плохая на данный момент, но ситуация улучшается. Проблема остается, но небольшое количество людей используют эти планшеты, поэтому разработка ведется очень медленно.

Было протестировано большое количество дистрибутивов, с переменным успехом. Некоторые из них не поддерживали 32 битные UEFI, другие не могли загрузить Grub, чтобы продолжить загрузку системы.

Осложняет установку то, что Debian и Ubuntu специально ориентированы для планшетов и были успешно установлены. Но с другими дистрибутивами ситуация обстоит намного иначе.

Тем не менее большие надежды возлагаются на Ubuntu, мы выбрали ее нашим победителем. Здесь по крайней мере работал сенсорный экран, и будем надеяться в будущем другие проблемы тоже будут исправлены.

Linux родился в то время, когда ПК были громоздкими, стационарными машинами. Сейчас мы находимся в эпохе Apple iPad. Наши телефоны Android имеют сенсорные экраны, как и наши игровые приставки. Многие из нас стремятся использовать нашу любимую операционную систему с открытым исходным кодом в форм-факторе, который мы полюбили.

К счастью, еще не все потеряно. Если вы хотите приобрести устройство с сенсорным экраном под управлением Linux, вы можете! Вариантов еще не много, но их количество увеличивается. Вот некоторые из текущих и будущих проектов Linux-планшетов, которые должны попасть на ваши радары.

1. Planet Gemini

Planet Gemini

Planet Gemini — больше смартфон, чем планшет. Тем не менее, это также больше КПК, чем смартфон. Это нишевый продукт, построенный для более технического пользователя. Честно говоря, вы скорее оцените это устройство на базе Linux, за то, что его можно носить с собой, чем за сенсорный экран.

Gemini имеет физическую клавиатуру и форм-фактор раскладушки. Когда вы закрываете его, нет экранов, обращенных наружу, или кнопок набора номера. Тем не менее, Gemini может служить вашим телефоном, так как у вас есть возможность заказать версию с поддержкой 4G или только для Wi-Fi.

Основная ОС Gemini — Android, но она поставляется с разблокированным загрузчиком и может работать с другими операционными системами. Например, вы можете установить на него Debian. Вы также можете выбрать другую ОС на базе Linux, например, Sailfish.

2. Emperor Linux Tablets

Emperor Linux Tablets

Хочу пойти обычным путем? Смотрите не дальше, чем Emperor Linux. Этот реселлер берет существующие аппаратные линии, такие как Lenovo ThinkPad и Panasonic Toughbook и устанавливает Linux.

Это машины, в большей степени, предназначены для работ на производствах или как минимум в офисах, но не для вашего кресла. Но если вашим приоритетом является выполнение работы и у вас больший бюджет, то это может быть вашим лучшим вариантом.

3. RasPad (Raspberry Pi Tablet)

RasPad (Raspberry Pi Tablet)

RasPad — это краудфандинговое устройство, которое предлагает все, что можно любить в Raspberry Pi, но в форм-факторе планшета. Это делает его отличным продуктом для «домашних» изобретателей. Судя по ценам залога, он также может быть относительно доступным.

Если вы использовали Raspberry Pi, вы знаете, что данная платформа — позволяет делать то, что вы хотите. Многие люди уже придумали способы сделать свой Raspberry Pi портативным.

Покупка RasPad поможет вам сэкономить время и силы на создание собственного продукта. Это не значит, что вы не будете получать удовольствие от DIY. Вы можете создать собственное уникальное устройство, установив на RasPad нужную операционную систему.

В образовательной или производственной среде планшет можно подключить к роботу для использования в качестве панели управления. Для чего-то более расслабляющего, попробуйте подключить геймпад и  превратить Raspberry Pi в мобильное игровое устройство.

4. Librem 11

Librem 11

Librem — компания, ориентированная на конфиденциальность, которая поставляет ПК только на базе Linux. Подобно System76, он даже предоставляет свою собственную операционную систему на основе Linux. PureOS от Librem заслужила одобрение Фонда свободного программного обеспечения.

Librem не продает ноутбуки с сенсорным экраном, так что Librem 11 может стать ближайшим подобным продуктом. Когда устройство не подключено к клавиатуре, оно похоже на iPad, только с более функциональным интерфейсом рабочего стола.

PureOS использует среду рабочего стола GNOME, которая предназначена как для планшетов, так и для традиционных ПК и если вам не нравится GNOME, у вас будет возможность установить что-то еще.

Разработка Librem 11 в настоящее время отходит на задний план к смартфону Librem 5, основанному Linux-проекту с сенсорным экраном, который многих волнует ещё больше.

5. Youyota (Sailfish OS 2-in-1 Tablet)

Youyota (Sailfish OS 2-in-1 Tablet)

Планшет Youyota является духовным преемником недолговечного планшета Jolla, который был запущен и достиг конца срока эксплуатации в 2015 году. Эта более новая итерация имеет официальную лицензию от Jolla и идентичный форм-фактор. Основные улучшения включают в себя большую батарею и увеличенное пространство для хранения.

К сожалению, несмотря на то, что на Indiegogo было профинансировано более 250%, этот проект оказался в затруднительном положении. Команда разработчиков обнаружила, что некоторые компоненты стоят дороже, чем предполагалось.

Уже превысив ожидаемую дату выпуска на год, конечный продукт может никогда не появиться. Если вы любите Sailfish OS, все, что вы можете сделать, это скрестить пальцы.

Хотите сделать свой собственный планшет для Linux?

Если у вас уже есть сенсорный экран, может возникнуть соблазн установить Linux самостоятельно. Это сэкономит вам немного денег, при условии, если всё получится.

Вот несколько вариантов:

  1. Установить Linux на свой Windows-планшет или ноутбук-трансформер.
  2. Запустите Linux на устройстве Android. Вы можете использовать инструмент, предназначенный для запуска Linux на некорневом устройстве, таком как KBOX. Или вы можете запустить Linux в эмуляторе, например Limbo.
  3. Вы можете запустить Linux на некоторых консолях, таких как Nintendo Switch.

Linux-планшеты уже давно появились

Проекты для Linux-планшетов приходили и уходили с годами. Сообщество KDE однажды взволновало многих пользователей Linux перспективой плазменного планшета. Такие устройства, как Aquaris M10 под управлением Ubuntu и планшет Jolla, фактически осуществились, но их жизнь была короткой.

Тем не менее, мечта живёт. Благодаря краудфандингу и более дешевым открытым компонентам, таким как Raspberry Pi, людям легче взять дело в свои руки.

Источник: MakeUseOf

2 августа 2015

Многие современные пользователи компьютеров или мобильных устройств хотя бы краем уха слышали о такой операционной системе, как Linux. Но немногие знают, что популярная мобильная ОС Android также основана на базе этой знаменитой своей безопасностью системе. Естественно, у пытливых умов родился вопрос — а можно ли установить Linux на планшет? Или на смартфон? Вы удивитесь, но можно.

А зачем он нужен?

Для начала, давайте разберёмся, зачем вообще вам может понадобится Linux на мобильном аппарате. Обычному среднестатистическому пользователю, вероятно, это не сильно нужно, но ведь есть и специалисты, например, разработчики, администраторы и другие. Конечно, в качестве основного рабочего инструмента это довольно спорное решение. Но если рассматривать его как мобильного помощника, который выручит в дороге или где-то вдали от основного компьютера, право на жизнь у этого варианта есть.

Зачем на планшете Linux?

Да, и обычному пользователю Linux тоже может пригодиться. Всегда удобнее иметь под рукой полнофункциональные версии программного обеспечения, например, офисные приложения, почтовый клиент, клиент для торрент-сетей и множество других. К тому же, не будем забывать, что это практически та же операционная система, что и на компьютере, следовательно, всё многообразие софта под Linux, в большинстве случаев, без проблем установится и будет работать и на планшете.

Если вы уже заинтересовались, то сейчас вас мучает вопрос, насколько сложна установка Linux на мобильное устройство. Вы наверняка наслышаны о том, как бородатые админы в вязаных свитерах ночами конфигурируют свои машины и считаете, что с этим процессом под силу управиться лишь немногим избранным, но это не так. Во-первых, с каждым годом Linux становится всё более дружелюбным к своему пользователю (видимо, для популяризации системы и отчасти это работает), а во-вторых — специально для установки на мобильные устройства создано немало автоустановщиков и подробных инструкций. И если со вторыми у неопытного пользователя вполне может возникнуть проблема, то с первыми чаще всего всё проходит как по маслу.

Как устанавливать и что для этого нужно

Итак, вы всё же решили установить на свой планшет Linux. Что вам для этого понадобится:

  • само устройство (ядро прошивки должно поддерживать loop-устройства, тактовая частота процессора не меньше 1 ГГц — все эти данные легко найти или в документации к аппарату, или в сети);
  • полученные на нём root-права;
  • около 4 гигабайт свободного объёма памяти;
  • поддержка файловой системы Ext2.

Нужно отметить, что большинство планшетов соответствуют этим характеристикам, так что проблем у вас возникнуть не должно.

После того как вы убедились, что ваше устройство подходит по всем требованиям, необходимо скачать образ системы и скрипт установки. Их существует довольно много, мы рекомендуем использовать Ubuntu Installer как один из самых простых и интуитивно понятных. Да и сама Ubuntu довольно дружелюбна даже к совсем неопытным пользователям.

Ubuntu Installer

Образов Ubuntu для планшетов существует две версии — ознакомительная, с минимальным количеством предустановленного ПО, а также максимальная, ориентированная на повседневное использование (с уже внедрёнными офисным пакетом, торрент-клиентом, почтовой программой, средствами разработки для нескольких популярных языков программирования и т. д.).

Кроме образа и скрипта, вам ещё понадобятся эмулятор терминала для Android и VNC Viewer. Также не забываем включить режим отладки в настройках системы.

Отладка по USB

Алгоритм очень простой — запускаем эмулятор терминала и вводим три команды:

— su

— cd /sdcard/ubuntu

— sh ubuntu.sh

После чего скрипт запросит у вас разрешение экрана устройства (например, 1024х768 или другое) и, если вы скачали максимальный образ, графическую оболочку, в которой вы желаете работать. У вас есть выбор между Gnome и LXDE, на мобильных устройствах лучше выбирать второй вариант.

Останется ответить ещё на пару запросов: логин/пароль (ubuntu/ubuntu), IP-адрес (localhost) и порт (5900). Готово, перед вами полноценный Ubuntu с оболочкой LXDE.

Ubuntu с оболочкой LXDE

Плюсом этого способа установки является то, что он требует наименьшее количество действий от пользователя и не ставит Linux вместо Android, а имитирует его. Конечно, существуют способы поставить Linux второй системой или вообще заменить «зелёного робота», но для старта и ознакомления с открывающимися возможностями, вышеописанного способа более, чем достаточно.

Робот и пингвин в одном гаджете!

Теперь вы знаете, как установить Linux на планшет и надеемся, что это знание принесёт вам пользу. Среда Linux располагает к познанию — экспериментируйте и, кто знает, может быть следующий скрипт для установки вы напишете сами?

Видео о том, как установить Linux на планшет:

Жми «Нравится» и читай лучшие посты на Facebook

Прошло совсем немного времени с момента выпуска первых смартфонов под управлением ОС Android до того, как энтузиасты научились запускать на них полноценные дистрибутивы Linux. Сегодня методики установки Linux-дистрибутивов на Android-устройства широко известны, а в репозитории Google Play есть даже автоматизированные системы установки и запуска Linux. В этой статье я попытаюсь аккумулировать весь накопленный опыт работы с Linux на смартфонах, расскажу, зачем это нужно, и покажу, как избежать возможных подводных камней при переносе Linux на смартфон или планшет.

Зачем?

На первый взгляд может показаться странным, что кто-то пытается запустить на мобильном устройстве операционную систему, в принципе не предназначенную для работы с экраном небольших размеров и без достаточно точного манипулятора (мышь) и клавиатуры. Однако не стоит делать поспешных выводов. Дистрибутив Linux может дать владельцу смартфона достаточно много преимуществ, среди которых набор старых проверенных инструментов, таких как утилиты командной строки, продвинутые редакторы, FTP- и SSH-серверы, сетевые инструменты и средства разработки приложений. Запустив Linux без графической оболочки на смартфоне с хардварной клавиатурой (Motorola Droid, к примеру), можно достаточно комфортно всем этим пользоваться прямо на ходу без необходимости покидать сам Android. Все инструменты доступны в любой момент, а смартфон продолжает оставаться смартфоном, позволяя принимать звонки и слушать интернет-радио.

Второй аргумент за установку Linux на смартфоне — это возможность использовать его в качестве переносной рабочей станции, которую можно подключить к любому ПК и тут же получить доступ к терминалу с помощью SSH/Telnet-клиента либо клиента VNC/RDesktop. Это по определению лучше, чем флешки с установленным Linux, так как нет необходимости, во-первых, перезагружать машину, а во-вторых, гонять туда-сюда данные; результаты твоей работы будут доступны сразу после того, как отключишь смартфон от компа.

Наконец, наибольший выигрыш Linux дает на планшетах, экран которых позволяет более-менее сносно работать в графической среде, а возможность подключить мышь и клавиатуру через OTG-кабель так и вообще дает шанс превратить планшет в полноценную рабочую станцию. При этом никакой особой разницы между установкой дистрибутива Linux на планшет и смартфон нет.

Как?

Перенести Linux на Android действительно просто, и главную роль здесь играет ядро Linux. Любой Linux-дистрибутив представляет собой набор приложений и библиотек, работающих поверх ядра Linux, а так как Android сам основан на почти неизмененном ядре Linux, эти приложения и библиотеки можно без каких-либо проблем запустить внутри среды Android. Достаточно лишь подыскать дистрибутив, для которого существует порт на платформу ARM (не забываем, что 99% всех Android-девайсов работают на ARM), установить его с помощью ARM-эмулятора на виртуальный жесткий диск (то есть в файл), скинуть этот файл на SD-карту устройства, открыть терминал, смонтировать образ в качестве loopback-устройства и сделать chroot внутрь. Все! Это так же просто, как запуск FTP-сервера в chroot-окружении — простой и проверенный десятилетиями метод.

Единственный камень преткновения, когда ты решаешь запустить дистрибутив Linux внутри Android, — графическая среда. В то время как с доступом к консоли никаких трудностей не возникает благодаря наличию полноценного эмулятора терминала, с графическими приложениями начинаются проблемы — нативного X-сервера для Android нет, а запустить обычный X-сервер внутри самого дистрибутива невозможно из-за коренных отличий в архитектуре графической подсистемы зеленого робота. Несмотря на то что в основе она использует стандартный Linux Framebuffer, поверх которого можно запустить X-сервер, эксклюзивное право его использования изначально принадлежит более высокоуровневым библиотекам Android, поэтому остается либо загружать Linux-дистрибутив вместо Android (что совершенно непрактично), либо придумывать обходные пути.

Проверка работы необходимых модулей

Имей в виду, что поддержка loopback-устройств и файловых систем ext2/ext3, необходимых для подключения образа, имеется далеко не во всех ядрах Linux, установленных на смартфонах под управлением Android. Проверить наличие поддержки можно с помощью команды lsmod | grep -e loop -e ext2.

Энтузиасты вышли из этой ситуации, используя простой метод «удаленного» подключения к рабочему столу с помощью любого доступного для Android VNC-клиента. Внутри chroot-окружения запускается X-сервер Xvnc, и все приложения работают под его управлением. Пользователю остается лишь установить VNC-клиент, вбить локальный адрес — и вуаля, на экране появляется полноценный рабочий стол.

Единственное узкое место при использовании удаленного рабочего стола — это производительность. Даже работая локально, VNC не может обеспечить должный ее уровень, которого бы хватило для плавной прокрутки или перемещения окон без лагов. Решить эту проблему пока не удалось, проекты разработки нативного X-сервера, который бы использовал графическую подсистему Android, еще очень сыры и не могут быть использованы для запуска полноценных графических сред. Впрочем, никто не запрещает их использовать; к примеру, X Server от Darkside Technologies Pty Ltd (goo.gl/ap3uD) вполне сгодится для запуска простого софта.

Изначально Linux для Android существовал только в виде образа с уже установленной системой, а также пояснительной инструкции, как этот образ подключить и использовать. Затем появились скрипты, которые автоматизировали процесс подключения образа и запуска Linux, но и они требовали некоторой работы головой. Наконец, в последнее время появились инсталляторы, доступные в Google Play (например, goo.gl/RSA1j), в некоторой степени автоматизирующие процесс запуска дистрибутива, хотя, по сути, это все то же руководство по установке, но интерактивное, с прямыми ссылками на скачивание образов и скриптов.

Альтернативные варианты

Выше я уже упомянул о том, что дистрибутив Linux вполне может быть загружен вместо Android, благодаря чему удастся задействовать Framebuffer для прямого доступа к видеоадаптеру и существенно ускорить работу графического интерфейса. Однако делать это на смартфоне практически бессмысленно — Linux непригоден в качестве основной системы на небольших экранах, к тому же принимать звонки и пользоваться интернетом будет невозможно. А вот на планшете Linux будет выглядеть вполне достойно.

Обычно на устройство, изначально работающее под управлением Android, так называемая нативная версия Linux-дистрибутива устанавливается следующим образом. На внутреннем NAND-накопителе планшета создается дополнительный раздел, на который копируется Linux-дистрибутив. Затем загрузчик U-Boot (он применяется в большинстве планшетов) настраивается таким образом, чтобы использовать этот раздел в качестве загрузочного. В результате планшет будет автоматически загружать Linux-систему после включения питания.

Чтобы оставить возможность загрузки Android, загрузчик U-Boot перенастраивают таким образом, чтобы раздел с Linux-системой был не основным, а выполнял функцию «раздела для восстановления» (Recovery Mode), доступного с помощью включения устройства с зажатой клавишей громкости (тот самый, который используется для перепрошивки устройства и выполнения различных восстановительных операций). Таким образом удается получить устройство с двойной загрузкой: Android по умолчанию и дистрибутив Linux при загрузке в режиме восстановления. Сам Recovery Mode при этом остается доступным только с помощью специальных инструментов.

В случае если NAND-памяти оказывается недостаточно для размещения полноценной Linux-системы, ее части (обычно раздел /usr) выносят в образ или раздел на SD-карте. Кстати, ext2-раздел на карте памяти также можно использовать для установки Linux, запускаемого в chroot-окружении.

Установить нативный Linux-дистрибутив сложнее, чем работающий в chroot-окружении, но это стоит того, если у тебя есть планшет и OTG-кабель, с помощью которого можно подключить клавиатуру и мышь.

Практическое занятие

Как я уже говорил, для запуска под управлением Android пригодны только дистрибутивы, портированные на архитектуру ARM. Прежде всего это Ubuntu и Debian, причем первый по понятным причинам пользуется гораздо большим интересом среди роботоводов. Также можно установить Gentoo и несколько специализированных дистрибутивов, например Backtrack. Рассмотрим самый типичный случай, то есть установку Ubuntu по стандартной схеме, без использования каких-либо автоматизированных инсталляторов и прочего.

BackTrack, запущенный на планшете

Другие статьи в выпуске:

Хакер #164. Железный дуршлаг

Для начала нам нужен образ жесткого диска с установленным дистрибутивом. Его можно создать самому, воспользовавшись эмулятором QEMU, однако в связи с тем, что процедура установки абсолютно стандартна и типична, описывать ее я не буду, а просто направлю тебя по адресу goo.gl/9nvBi. Здесь лежит архив с образом, на который предустановлен Ubuntu 12.04 с графическим окружением LXDE (было бы неразумно запускать Unity/Gnome на телефоне/планшете). Архив следует распаковать и положить файл ubuntu.img на карту памяти.

Далее надо смонтировать образ и сделать chroot в окружение дистрибутива. Для этого нужны права root, прошивка с поддержкой блочных loopback-устройств и установленный busybox (ищем в Маркете по запросу «busybox installer», в CyanogenMod есть по умолчанию). Последовательность действий:

  1. Открываем эмулятор терминала в Android (если нет, можно установить из Маркета Terminal Emulator). Либо подключаем смартфон/планшет к компу и получаем доступ к терминалу с помощью adb:
    $ cd путь-до-Android-SDK/platform-tools $ sudo ./adb shell 

    Не забываем, что режим отладки в этом случае должен быть включен: «Настройки -> Для разработчиков -> Отладка Android».

  2. Получаем права root:
    $ su 
  3. Создаем блочное loopback-устройство, подключаем к нему образ диска и монтируем его:
    # mknod /dev/block/loop255 b 7 255 # mount -o remount,rw / # mkdir /mnt/ubuntu # mount -o loop,noatime -t ext2  /sdcard/ubuntu.img /mnt/ubuntu 

    Содержимое образа должно появиться в каталоге /sdcard/ubuntu. Проверь, чтобы это было так.

  4. Подключаем все необходимые для работы дистрибутива виртуальные ФС:
    # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev 
  5. Настраиваем так, чтобы из chroot-окружения можно было получить полноценный доступ в Сеть:
    # sysctl -w net.ipv4.ip_forward=1 # echo "nameserver 8.8.8.8" > /mnt/ubuntu/etc/resolv.conf # echo "nameserver 8.8.4.4" >> /mnt/ubuntu/etc/resolv.conf # echo "127.0.0.1 localhost" > /mnt/ubuntu/etc/hosts 
  6. Переходим в chroot-окружение:
    # chroot /mnt/ubuntu 

Собственно, на этом установка заканчивается. Теперь можно запускать консольный софт, производить обновление системы, стартовать сетевые сервисы и делать почти все, что можно сделать с обычной десктопной Linux-системой, не забывая, конечно, что некоторый софт, напрямую взаимодействующий с железом и различными специализированными псевдодевайсами, работать не будет. Также не забываем, что виртуальные ФС после завершения работы следует размонтировать.

Теперь нам необходимо установить и запустить X-сервер Xvnc, экспортирующий дисплей и устройства ввода с использованием протокола VNC. TightVNCserver уже есть в представленном образе и даже настроен, но, чтобы ты лучше понял процесс и смог решить возникшие проблемы, я подробно опишу процесс его установки и запуска.

  1. Обновляемся и устанавливаем TightVNCserver:
    # apt-get update # apt-get install tightvncserver 
  2. Создаем файл /root/.vnc/xstartup и пишем в него следующее:
    #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey export XKL_XMODMAP_DISABLE=1 icewm & lxsession 

    Третья команда здесь нужна, чтобы пофиксить проблемы, которые могут возникнуть из-за физического отсутствия на устройстве клавиатуры.

  3. Запускаем Xvnc с помощью враппера vncserver с правами root:
    # export USER=root # vncserver -geometry 1024x800 

    В результате выполнения последней команды на экран будет выведен запрос на пароль для доступа к VNC-серверу, лучше указать что-нибудь простое вроде «123». Разрешение можно установить фактически любое, однако лучше, если оно будет совпадать с физическим разрешением экрана устройства.

  4. Устанавливаем на смартфон приложение AndroidVNC, запускаем его, указываем IP-адрес и порт 5901, подключаемся. На экране должен появиться рабочий стол LXDE.

Чтобы не заморачиваться с ручным вводом всех команд, можно использовать скрипт ubuntu.sh, расположенный здесь: goo.gl/xSpK4. Просто положи его и образ ubuntu.img в каталог ubuntu на SD-карте и запусти скрипт командой sh ubuntu.sh, а через 5–10 секунд подключись к рабочему столу с помощью AndroidVNC. Имей в виду, что скрипт монтирует образ к каталогу /data/local/mnt.

AndroidVNC — подключаемся к рабочему столу
AndroidVNC — подключаемся к рабочему столу

Установка Gentoo на ext2-раздел

Итак, мы установили Ubuntu с помощью образа с файловой системой и шаманств с loopback-устройством и chroot-окружением. Сделать это оказалось несложно, а с применением скриптов так и вообще очень легко, но что, если пойти дальше и установить более хардкорный дистрибутив, и не с использованием образов, а на выделенный ext2-раздел на карте памяти? Так мы сможем решить проблему некоторых прошивок и ядер без поддержки loopback-устройств и к тому же сможем насладиться нормальным дистрибутивом, установленным по всем правилам.

Проект «Ubuntu for Android» в действии
Проект «Ubuntu for Android» в действии

Возьмем в качестве подопытной системы Gentoo. Чтобы установить его на ext2-раздел, нам понадобится карта памяти объемом не меньше 2 Гб и рутованный смартфон с установленным busybox. Последовательность действий следующая.

  1. Делаем бэкап данных с карты памяти и создаем на ней дополнительный раздел, объемом не меньше двух гигабайт. Сделать это можно с помощью любой программы для разбивки дисков, однако имей в виду, что если ты хочешь продолжать использовать SD-карту по прямому назначению, то создавать FAT32-раздел следует в начале карты, так, чтобы он стал первым, а дополнительный раздел для установки дистрибутива должен быть вторым.
  2. Форматируем разделы SD-карты:
    $ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2 
  3. Берем телефон, заходим в «Настройки -> О телефоне» и смотрим, какой установлен процессор. Далее переходим на страницу goo.gl/PRfux и выкачиваем stage3 для нужной архитектуры, например stage3 для ARM v7 лежит в каталоге current-stage3-armv7a.
  4. Монтируем ext2-раздел карты памяти на компе и распаковываем в него содержимое полученного архива:
    $ sudo mount /dev/sdc2 /mnt $ sudo tar -xxpf stage3-*.bz2 -C /mnt 

    Сразу редактируем конфиги и все, что нужно, по вкусу, включая правку /etc/resolv.conf по образцу из предыдущего раздела.

  5. Запускаем эмулятор терминала (или выполняем «adb shell»), монтируем все необходимое и переходим в chroot (почти так же, как в случае с Ubuntu):
    # mount -o remount,rw / # mkdir /mnt/gentoo # mount /dev/block/mmcblk0p2 /mnt/gentoo # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev # sysctl -w net.ipv4.ip_forward=1 # chroot /mnt/gentoo 

Доступ к рабочему столу производится таким же способом, как в Ubuntu, за исключением того, что теперь прямо на телефоне придется собрать кучу софта :). Впрочем, можно настроить среду для кросс-компиляции на компе, но это уже тема для отдельной статьи.

Ubuntu на Galaxy Tab 10.1
Ubuntu на Galaxy Tab 10.1

Нативная установка

Запустив Ubuntu с использованием VNC-сервера, ты заметишь неторопливость его работы, которая связана с издержками протокола VNC на передачу картинки «по сети». Чтобы избежать этой проблемы, можно установить Ubuntu в качестве основной системы рядом с Android, так, чтобы она смогла использовать видеоадаптер напрямую. К сожалению, универсального способа сделать это не существует. Каждое устройство по-своему уникально, включая различные таблицы разделов NAND-памяти, на которую производится установка, различные устройства и драйверы для их работы.

Нативный X-сервер для Android
Нативный X-сервер для Android

К счастью, процесс установки нативной версии дистрибутива хорошо описан для многих устройств в русскоязычных форумах, поэтому найти инструкцию будет несложно. Стоит, тем не менее, сразу обратить внимание на несколько особенностей такого типа установки:

  • Отдельный или основной NAND-раздел. Linux-дистрибутив может быть установлен как в заблаговременно созданный раздел в NAND-памяти, так и в основной загрузочный раздел. В первом случае разработчик прошивки обычно оставляет возможность загрузки Android с помощью специального скрипта либо через загрузку Linux-дистрибутива в режиме восстановления, во втором он будет установлен вместо Android и для возвращения возможности загрузки робота придется заново перепрошивать устройство.
  • Возможность двойной загрузки. Если Linux-дистрибутив будет установлен на отдельный раздел, разработчик может оставить возможность загрузки Android. Однако стоит сразу обратить внимание, как эта загрузка происходит: с помощью режима восстановления либо скрипта, запускаемого с обычного компа. Все-таки второй способ будет неудобен в дороге.
  • Поддержка оборудования. Оригинальное Linux-ядро Android-прошивки уже включает в себя все необходимые драйверы, которые могут понадобиться для работы полноценной Linux-системы, однако далеко не во всех Linux-прошивках все заведется само собой. Часто возникают проблемы с Wi-Fi-адаптером и сенсорным экраном, который неадекватно реагирует на прикосновения. Поэтому перед установкой прошивки стоит внимательно прочитать о возможных осложнениях.

В любом случае будь готов к тому, что во время установки Linux-дистрибутива все твои данные будут уничтожены. Без этого никак.

Запуск Ubuntu с помощью стартового скрипта
Запуск Ubuntu с помощью стартового скрипта

Что дальше

Linux-дистрибутив, установленный рядом с оригинальной Android-системой, может стать очень удобным рабочим инструментом, однако на данный момент «Linux внутри Android» считается скорее игрушкой и способом покрасоваться перед друзьями, нежели серьезным решением. Уверен, что в скором времени, когда для Android появится полноценная реализация графического сервера Wayland, ситуация начнет меняться и мы увидим дистрибутивы с адаптированным для небольших экранов интерфейсом, а также полноценные Linux-приложения, распространяемые в форме обычных APK-пакетов. Также не стоит забывать о проекте «Ubuntu for Android» — в его рамках идет работа над официальным портом Ubuntu для Android, который позволит использовать смартфон в качестве переносного системника, подключаемого к любому монитору.

WWW

goo.gl/UGDe3 — описание процесса подготовки образа Ubuntu собственными силами (на английском).

ОСТАВЬТЕ ОТВЕТ

Please enter your name here
Please enter your comment!