[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Запуск гуевых приложений в контейнере (was: Debian 7 и intel hd graphics 500)



Stanislav Vlasov <stanislav.v.v@gmail.com> wrote:
> Честно говоря, не в курсе, можно ли в контейнерах штатным образом запускать гуёвый софт с отображением его окон на локальных иксах без всяких ssh -X в контейнер

Да, естественно, ибо с каких это пор Иксам стали требоваться всякие костыли типа ssh для отрисовки окон на другой машине?

> простым конфигурированием контейнера.

Скорее уж хоста.  А конкретно:

1. Включить ‘-listen tcp’ у Икс-сервера.  Как — см. в документации экранного диспетчера, который его собственно по-умолчанию и отключает.

2. разрешить к нужной инстанции доступ для нужного контейнера:

	$ xhost +inet:192.168.122.11
	$ xhost +inet6:fd34:fe56:7891:2f3a::11

Единственное, я как-то так и не понял, работает ли это с link-local адресами, которые fe80::/10.  Кто понял, подскажите.


Короче говоря, от того, что у вас за система контейнеризации, все это не зависит никак, внутри только ‘DISPLAY=_gateway:0’ (ну или что надо) экспортировать.

Другое дело, что толку-то?  Одних Иксов далеко не всякому гую достаточно.  Доступа к отрисовке на GPU Иксы же сами по себе не дают.


Если ее надо, то придется проламывать стенку контейнера.  На примере LXC (строчки из configʼа):

	lxc.mount.entry = /tmp/.X11-unix tmp/.X11-unix none bind,optional,create=dir,ro
	lxc.cgroup.devices.allow = c 226:* rwm
	lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
	lxc.cgroup.devices.allow = c 116:* rwm
	lxc.mount.entry = /dev/snd dev/snd none bind,optional,create=dir

Первая строчка заменяет сетевую прозрачность Иксов, четвертая-пятая — Пульсы, ну а вторая-третья — это про тот самый доступ к графике.  226 и 116 — это мажорные номера устройств, см. ‘$ ls -l /dev/dri/’ в колонке размера.

Авторизация на Икс-сервере будет по UIDʼу, так что если не совпадают, то надо явно разрешить, причем я не знаю, как это сделать не давая UIDʼу имя на хосте, чтобы мочь приказать:

	$ xhost +si:localuser:stanislav

Кто знает, подскажите.

Attachment: signature.asc
Description: PGP signature


Reply to: