Pull to refresh

Решил испробовать хабропост для сохранения рабочих заметок. Но можно ли эффективно нагадить в 1500 знаков? Как любителю минимализма очень интересно. Итак:

В своих попытках запустить вложенный weston из LXC контейнера заметил такую особенность: если на минимальном Devuan зайти рутом из консоли, то в /dev/dri наблюдаем:

crw-rw----  1 root video 226,   0 Dec 17 06:16 card0

Если зайти юзером, то видим плюсик

 crw-rw----+ 1 root video 226,   0 Dec 17 06:16 card0

Ага, расширенные аттрибуты значит. Но откуда они? Причём они отображаются только юзеру, а рут их не видит.

Ответ был найден в разделе "Allowing regular users to use devices" вот тут https://wiki.archlinux.org/title/Udev:

The modern approach is to use… 660…, and then attach uaccess. This special tag makes udev… apply a dynamic user ACL, which coordinates with… to make the device usable to logged-in users.

Вау.

А я-то пытался сделать chgrp. Ну, раз так, тогда

$ setfacl -m 501000:rw /dev/dri/card0

501000 -- uid юзера в непривелигированном контейнере.

Надо расшарить XDG_RUNTIME_DIR на хосте:

$ setfacl -m 501000:rwx /run/user/1000
$ setfacl -m 501000:rwx /run/user/1000/wayland-1

Разрешения на запись в /run/user/1000 необходимы потому что я не знаю как заставить вложенный вэйланд гадить в другое место без патча и праздника компиляции.

В конфиг контейнера добавляем

lxc.mount.entry = /dev/dri dev/dri none bind,create=dir 0 0
lxc.mount.entry = /run/user/1000 run/user/1000 none bind,create=dir 0 0

И чудо случится

$ WAYLAND_DISPLAY=wayland-1 weston

Tags:
Total votes 4: ↑4 and ↓0+4
Comments0

Articles