GUI в LXC 2.0/LXD контейнеры

Цель состоит в том, чтобы контейнеризировать несколько приложений для GUI (Kodi и Retroplayer, являющийся основными), и запустить их от хоста. Из-за природы приложений, мне были бы нужны аудио поддержка и gpu ускорение без задержки или дополнительной задержки.

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

Может любой указывать на меня в направлении документации относительно того, как установить контейнер LXC 2.0 с аудио и Intel gpu ускорение.

Я знаю, что возможно, по крайней мере, контейнеризировать gui приложения и запустить их в настольной среде хостов, поскольку я видел примеры, где люди достигли этого. Но может только найти документацию для LXC 1.0, который, конечно, не работает на 2,0.

2
задан 12 February 2017 в 14:58

1 ответ

Я все же не уверен, как полностью контейнеризировать менеджера по оформлению в бездисплейном сервере.

Для выполнения 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 или Пар.

0
ответ дан 2 December 2019 в 09:26

Другие вопросы по тегам:

Похожие вопросы: