В Wed, 03 Jun 2020 10:29:54 +0300 Dmitry Alexandrov <321...@gmail.com> пишет:
> Stanislav Vlasov <stanislav....@gmail.com> wrote: > > Честно говоря, не в курсе, можно ли в контейнерах штатным образом > > запускать гуёвый софт с отображением его окон на локальных иксах > > без всяких ssh -X в контейнер > > Да, естественно, ибо с каких это пор Иксам стали требоваться всякие > костыли типа ssh для отрисовки окон на другой машине? > > > простым конфигурированием контейнера. > > Скорее уж хоста. А конкретно: Вот лучше контейнера. Ибо безопаснее будет в нашу параноидальную эпоху. > 1. Включить ‘-listen tcp’ у Икс-сервера. Как — см. в документации > экранного диспетчера, который его собственно по-умолчанию и отключает. Ага, а потом еще убедиться, что это надежно заткнуто файрволлом и пустят туда только из контейнера, а не изо всей локальной сети. Лучше уж как ниже описано смонтировать в контейнер юникс-домен сокеты из /tmp/.X11-unix > 2. разрешить к нужной инстанции доступ для нужного контейнера: > > $ xhost +inet:192.168.122.11 > $ xhost +inet6:fd34:fe56:7891:2f3a::11 Ой, не рекомендую использовать xhost. В принципе, в сочетании с предыдущим советом достаточно просто ~/.Xauthority в контейнер скопировать. Потому что при этом значение DISPLAY внутри и снаружи будет совпадать, и магическое печенье подойдет. > Другое дело, что толку-то? Одних Иксов далеко не всякому гую > достаточно. Доступа к отрисовке на 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-ы синхронизировать, и это отнюдь не толко доступ к X-ам. Это еще по крайней мере кардинально упрощает обмен файлами с контейнером. А то опять окажется что ssh проще. --