Stanislav Vlasov <stanislav....@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

Ответить