Цель состоит в том, чтобы контейнеризировать несколько приложений для GUI (Kodi и Retroplayer, являющийся основными), и запустить их от хоста. Из-за природы приложений, мне были бы нужны аудио поддержка и gpu ускорение без задержки или дополнительной задержки.
Я надеялся контейнеризировать целую настольную среду и сохранить хост пустым без настольной среды, но не уверенный, если это возможно.
Может любой указывать на меня в направлении документации относительно того, как установить контейнер LXC 2.0 с аудио и Intel gpu ускорение.
Я знаю, что возможно, по крайней мере, контейнеризировать gui приложения и запустить их в настольной среде хостов, поскольку я видел примеры, где люди достигли этого. Но может только найти документацию для LXC 1.0, который, конечно, не работает на 2,0.
Я все же не уверен, как полностью контейнеризировать менеджера по оформлению в бездисплейном сервере.
Для выполнения gui приложения с аудио в контейнерах, этот учебное руководство работало на меня. Следующее является сводкой шагов. Обратите внимание, что я использую LXD 3.5 (снимок) на Ubuntu 18.04.1.
1. Сохраните следующее в текстовый файл, названный lxdguiprofile.txt
:
config:
environment.DISPLAY: :0
raw.idmap: both 1000 1000
user.user-data: |
#cloud-config
runcmd:
- 'sed -i "s/; enable-shm = yes/enable-shm = no/g" /etc/pulse/client.conf'
- 'echo export PULSE_SERVER=unix:/tmp/.pulse-native | tee --append /home/ubuntu/.profile'
packages:
- x11-apps
- mesa-utils
- pulseaudio
description: GUI LXD profile
devices:
PASocket:
path: /tmp/.pulse-native
source: /run/user/1000/pulse/native
type: disk
X0:
path: /tmp/.X11-unix/X0
source: /tmp/.X11-unix/X0
type: disk
mygpu:
type: gpu
name: gui
used_by:
2. Добавьте профиль к своему экземпляру LXD:
lxc profile create gui
cat lxdguiprofile.txt | lxc profile edit gui
3. Примените профиль к контейнеру:
lxc profile add "$container" gui
lxc restart "$container"
, Который должен быть этим! Для тестирования gui выполните следующие команды:
# Login to the ubuntu user in the container.
lxc exec "$container" -- su ubuntu -l
# This should show an animation of gears if all is well.
glxgears
# This command shows the audio setup info.
pactl info
Примечание, что в моей установке gui только работает в значении по умолчанию ubuntu
пользователь в контейнере. Я не уверен, почему, но шаги можно, вероятно, настроить, чтобы позволить другим контейнерным пользователям получать доступ к gui. Я имею, также столкнулся с проблемой, запускающей аппаратно ускоренные приложения, такие как WineHQ или Пар.