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 Кто знает, подскажите.
signature.asc
Description: PGP signature