Установка дополнительных программ в Alex@ELEC.

В тестовую сборку «AlexELECv5-20141116-r0013» добавлена возможность устанавливать программы (пакеты) «OS Ubuntu».

Сделано это на основе «chroot-окружения» и не влияет на основную систему (Это как плагин в XBMC: установите – будет работать. Его всегда можно удалить.). Теоретически, Вы можете установить и использовать любую программу для «Ubuntu». На практике – все программы я не проверял. Напишу о том, что устанавливал.

Несколько замечаний:

  1. «Контейнер» (гостевая система или песочница) будет установлена в каталог «/storage/ubuntu/sys». Поэтому, если Ваша система работает с флешки 2Гб – места, в итоге, может и не хватить. Это будет зависеть от количества программ, которые Вы собираетесь устанавливать. Распакованный образ системы (с установленными: Fluxbox, браузером Chromium, игрой SupertuxKart и эмулятором PPSSPP) занимает около  500Мб.
  2. Для систем с графикой «Intel» мне не удалось запустить 3D-игры. Думаю, что причина в «Mesa» (OpenGL), но так как ни каких ошибок система не выдает… трудно найти проблему. Я перебрал несколько версий драйверов но так ни чего и не добился. Здесь я вспомнил, почему в свое время я так сильно разозлился на «Ubuntu» с его пакетами, что начал сам собирать систему для медиацентра :). Возможно Вам повезет больше, а у меня, на сегодня, терпение кончилось :).

На форуме создан раздел по этой теме. Пожалуйста делитесь проблемами и решениями.

Установка.

Сначала загрузим и установим подготовленный образ «Ubuntu 14.04».

«Настройки ОС» —«Доп. программы». Активируйте «Включить курсор мыши». Она (мышь) Вам понадобится.

До начала установки Вы можете изменить номер порта SSH гостевой системы (2222 – по умолчанию). Или, это можно сделать потом, вручную. По сути, после установки, у Вас будет полноценная (с некоторыми ограничениями, конечно) система «Ubuntu 14.04», где Вы можете менять все что угодно. 

Настройки звука для «контейнера» (гостевой ОС) берутся из основной системы, на этапе установки. Собственно, отсюда:

Поэтому их лучше задать до установки. Если в последствии Вам нужно изменить вывод звука для программ из «контейнера», отредактируйте файл «/storage/ubuntu/sys/etc/asound.conf» (путь указан из хоста).

 

Возвращаемся в «Доп. программы» и начинаем установку:

* При тестировании на системах с интегрированной графикой «AMD» (E-350, SEMPRON X2 2650) я наблюдал сбой XBMC при загрузке образа. XBMC самопроизвольно перезагружался не выдавая ни каких ошибок. Если у Вас такое произошло, просто запустите установку снова. Судя по испытаниям – второй раз это уже не произойдет.

После завершения установки и предварительной настройки – система автоматически перезагрузится (при удалении гостевой системы, медиацентр так же будет автоматически перезагружен.). Вся процедура установки (если Ваша система установлена на жесткий диск) занимает около 3-х минут. Если на флешку – значительно дольше.

Настройка.

Если Вы не меняли SSH-порт для гостевой системы, с помощью «PuTTy» заходим в терминал клиентской «OS Ubuntu» указав порт — 2222. IP-адрес, конечно, тот же что и у основной системы. Это ведь не виртуальная машина на подобии «VirtualBox» а «chroot-окружение» которое использует ядро основной системы. Это, как раз, для нас хорошо, так как используется минимум системных ресурсов. 

Пароль для root-а как и на основной системе – «mcpc». Его Вы тоже можете при желании изменить.

Наша «новая система» ругается на отсутствие русской локали, поэтому сгенерируем ее:

locale-gen ru_RU.UTF-8

и проверим:

locale

При следующем входе через терминал система порадует нас отсутствием ошибок.

Меняем часовой пояс (не обязательно). По умолчанию стоит «America/New_York»:

dpkg-reconfigure tzdata

Обновляем репозитории «Ubuntu»:

apt update

Примечание. Я не рекомендую использовать команды обновления дистрибутива, такие как:

apt upgrade

apt full-upgrade

При обновлении/установке некоторых пакетов (например: udev) обязательно возникнут ошибки, которые потом будут надоедать. Это можно будет исправить, но… Впрочем, всегда можно удалить и снова поставить гостевую систему если что-то пошло не так :).

Устанавливаем: «Fluxbox» (менеджер окон), «Midnight Commander» (файловый менеджер) и «software-properties-common» (утилиты для работы с репозиториями)

apt install fluxbox mc software-properties-common -y

Для нормальной работы клавиатуры в «песочнице» (переключение языков, ввода символов) — важно чтобы «Fluxbox» был запущен. И чтобы не запускать его каждый раз перед стартом, какой либо программы (например, браузера) – добавим его в автозагрузку.

Зайдите на основной системе в каталог «/storage/ubuntu/autorun» и установите для файла «10_fluxbox» права на выполнение (удобно это сделать в «WinSCP»):

Любой скрипт помещенный в каталог «/storage/ubuntu/autorun» с правами на выполнение будет автоматически запущен при старте системы. По номеру в названии скрипта Вы можете задать очередность запуска. Например, «15_chrome» будет запущен после «10_fluxbox». Но, нужно учитывать, что скрипты запускаются «в фоне». То есть, система не ждет окончания работы предыдущего скрипта и очередность не гарантирует, что «Fluxbox» будет запущен раньше чем «Chrome». Это нужно учитывать когда Вы пишите свой скрипт.

Общая команда для запуска приложений из «песочницы» (на терминале основной системы) имеет вид:

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ запускаемая_программа

Например «Fluxbox»:

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ fluxbox

«Сhromium»:

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ chromium-browser —user-data-dir=/storage/chromium

Игра «Duke Nukem 3D»:

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ /usr/games/eduke32

Теперь давайте перезагрузим систему и посмотрим что получилось…

Как видите «Fluxbox» (из песочницы) загрузился. Но, его «панель задач» торчит внизу и мешает смотреть фильмы. Исправим это.

Закройте «XBMC». В терминале хоста (основной системы) – дайте команду:

xbmc_close

Откройте файл «/storage/ubuntu/sys/storage/.fluxbox/apps» (путь указан из основной системы), добавьте в конец файла строки и сохраните:

[app] (name=xbmc.bin) (class=xbmc.bin)

   [Fullscreen]   {yes}

   [Layer]           {2}

   [Close]           {yes}

[end]

Эти строчки можно скопировать из файла «/storage/.config/fluxbox/apps».

Для VDR можно сделать так:

  [app] (name=) (class=)

   [Fullscreen]   {yes}

   [Layer]           {2}

   [Close]           {yes}

[end]

Все это можно сделать и с помощью мышки в самом Fluxbox.

Теперь запустим «XBMC». Команда:

xbmc_start

Как видите, все стало на свои места.

 

Если Вас раздражает вид панели инструментов «Fluxbox» при загрузке системы, можете ее скрыть. Отредактируйте файл «/storage/ubuntu/sys/storage/.fluxbox/init» указав значение:

session.screen0.toolbar.visible:               false

Или щелчком правой кнопки мыши по панели инструментов отключите пункт «Видимая».

 

Установка драйверов графики.

Эта часть для тех, у кого система с графикой «Nvidia» (тесты проводились на «ION-2») и Вы планируете запускать 3D-игры или приложения использующие OpenGL.

Для графики «AMD» это делать не желательно и даже опасно. В репозиториях (на данный момент) находится Mesa-1.4.0, а если будет установлена версия выше 1.3.1 – Вы получите артефакты на экране.

Для «Intel»… я писал выше, нужно экспериментировать.

И так, «Nvidia».

Добавляем репозиторий с драйверами:

add-apt-repository -y ppa:xorg-edgers/ppa

apt update

В репозитории «ppa:xorg-edgers/ppa» есть несколько версий драйверов «Nvidia», но так как в основной системе драйвера версии 304 (я использовал сборку «nv304.123») – для «контейнера» я тоже выбрал «304.123».

apt install nvidia-304 -y

 

Игры.

Установим симпатичную «гонку» — SuperTuxKart. Она есть в репозитории «Ubuntu», поэтому, просто ставим:  

apt install supertuxkart –y

Проверим. В терминале основной системы даем команду:

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ /usr/games/supertuxkart

Советую приглушить звук, так как громкость будет «на полную».

О том, как запускать установленные программы непосредственно из «XBMC» я расскажу ниже. А пока давайте установим еще одну игру.

«Duke Nukem 3D». Ностальгия :).

Добавим репозиторий сайта «UALinux». Здесь много игр и приложений.

wget http://archive.ualinux.com/ubuntu/main/all/ualinux-repository.deb

dpkg -i ualinux-repository.deb

rm ualinux-repository.deb

apt update

Чтобы найти нужный (нужные) нам deb-пакет с игрой – воспользуемся поиском:

apt-cache search Duke Nukem

Установим эти пакеты:

apt install eduke32 duke3d-shareware –y

Запускаем игру:

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ /usr/games/eduke32

Чтобы не возникло вопросов: игры работают в полноэкранном режиме (если выбрать соответствующую опцию), просто скриншоты мне было удобнее сделать в окне. 

Еще, к играм можно отнести эмулятор «PPSSPP».  Я устанавливал стабильную версию «ppsspp-sdl» из репозитория «ppa:ppsspp/stable». Эмулятор работает на «Nvidia» и «AMD» без проблем, по крайней мере, те пару игр, что я запускал (Tekken 6, Need For Speed CARBON). Лично мне он не особо понравился.

 

Браузер «Chromium» с поддержкой «flash».

«Chromium» работает на всех видах графики. Это я к тому, что на «Intel» тоже работает.

Примечательно, что без проблем работает «flash» да и скорость работы заметно выше, чем у «Opera» в основной системе.

Устанавливаем браузер:

apt install chromium-browser –y

Устанавливаем Flash:

apt-add-repository -y ppa:skunk/pepper-flash

apt update

apt install pepflashplugin-installer -y

В конец файла «/storage/ubuntu/sys/etc/chromium-browser/default» добавляем строку:

# Default settings for chromium-browser. This file is sourced by /bin/sh from

# /usr/bin/chromium-browser

# Options to pass to chromium-browser

CHROMIUM_FLAGS=""

. /usr/lib/pepflashplugin-installer/pepflashplayer.sh

Все, можно запускать:

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ chromium-browser —user-data-dir=/storage/chromium

И последнее в этом обзоре:

 

Запуск программ из XBMC.

Чтобы запускать установленные нами программы непосредственно из «XBMC» воспользуемся плагином «Advanced Launcher» из репозитория «repository.angelscry.xbmc-plugins».

Репозиторий уже есть в системе, Вам нужно только установить плагин.

Добавим браузер «Chromium» (остальные программы добавляются так же).

В каталоге «/storage/ubuntu/progs» (который указан на последнем скрине) есть несколько примеров (скриптов), один из них – «Chrome».

Чтобы Вы могли сами писать скрипты для Ваших программ, давайте рассмотрим из чего состоит скрипт для запуска «Chromium-browser».

. /etc/profile

xbmc_close

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ chromium-browser —user-data-dir=/storage/chromium > /dev/null 2>&1

xbmc_start

Первая строка (. /etc/profile) – подключает одноименный файл. Это дает возможность использовать системные функции, определенные в файлах каталога «/etc/profile.d». Например, если перед запуском программы мы хотим убедиться что сеть «поднялась», можно воспользоваться функцией «wait_for_network» (она определена в файле «/etc/profile.d/connman.conf»). В этом, конкретном, примере ситемные функции не используются и строку можно удалить, но для других программ — могут понадобиться.

Во второй строке (xbmc_close) мы даем команду – закрыть XBMC.

Третья строка – запуск «chromium-browser» с параметром «—user-data-dir=/storage/chromium» указывающим где программа будет хранить пользовательские данные и подавлением вывода информации в консоль (> /dev/null 2>&1).

Четвертая строка, как Вы поняли, запускает «XBMC» после закрытия предыдущей программы. 

Мы пропускаем «Аргументы приложения» (просто нажмите «Готово»), в нашем случае это не нужно.

Если хотите, можете поменять название программы (так она будет называться в XBMC).

Выбираем платформу «Linux».

Я пропустил выбор картинок, украшательством можно заняться позже.

И… вуаля, наш «Chrome».

Партнеры

Декабрь 2016
Пн Вт Ср Чт Пт Сб Вс
« Ноя    
 1234
567891011
12131415161718
19202122232425
262728293031