Re: Запуск гуевых прило жений в контейнере (was: Debian 7 и intel hd graphics 500)
Dmitry Alexandrov <[email protected]>
| Newsgroups | gmane.linux.debian.user.russian |
|---|---|
| Message-ID | <[email protected]> |
Stanislav Vlasov <[email protected]> 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
(application/pgp-signature, 511 B)
-----BEGIN PGP SIGNATURE----- iQFFBAEBCgAvFiEE1yoTx9fONarixgNIydoJ3hnBsjAFAl7XUXIRHDMyMTk0MkBn bWFpbC5jb20ACgkQydoJ3hnBsjAXEwgArVS5AT4wYezZxbxg3TUp1F1TqTg1WFag K+kmN/htOnOcocQ+niRyLUAmZvuVv1xw6B0mT6nGlua+Lc2G7H/pDyJ025nkeLS1 YFKgzd069+v8C3+CbqVEhIATulp6Y4+SLyqV7TCtsAjvwvKWoHLvDUdzOV9hPtME x3T+hhYv1FVFwnTd4t6B1cfl0I/qTpRUx7UJjLUIfICM9TByl0lOSvSiD3mBALK9 5bteEvd42XQt8TwsVcwREaJ8OpMHyvVqXEFh0pArdtxxg8ZUat3eowN8bgvuEFvi eYkQ68uESql9s07JHWOjVcqaNGs+2gDqv5amnsjNg6A2jGhFIGcryw== =qSpa -----END PGP SIGNATURE-----