Мне необходима работоспособность от root команды # su -l -c 'xdg-open http://www.ru' CURRENTUSER В X-ах оно работает. Для Wayland не хватает пары моментов: * Проброса $WAYLAND_DISPLAY, что одной строкой делается, как с $DISPLAY * Выставления $XDG_RUNTIME_DIR. Тут не знаю, как правильно взять, чтоб не разошлось ни с кем. Т.е. при пробросе $WAYLAND_DISPLAY команда # su -l -c 'XDG_RUNTIME_DIR=/run/user/CURRENTUSER_UID xdg-open http://www.ru' CURRENTUSER работает упешно. P.S. Я пользуюсь, чтоб из-под root в acc можно было ссылки открывать в пользовательском браузере, а не в root-овом. Например, в alterator-notes.
2 Shaba: не знаешь, systemd ставит пользователю при логине $XDG_RUNTIME_DIR?
(Ответ для Sergey V Turchin на комментарий #1) > 2 Shaba: не знаешь, systemd ставит пользователю при логине $XDG_RUNTIME_DIR? Отвечу сам. Да, pam_systemd устанавливает $XDG_RUNTIME_DIR при логине.
Следовательно, `su -l` тоже должен По схожему алгоритму с https://git.altlinux.org/gears/s/systemd.git?p=systemd.git;a=blob;f=src/login/pam_systemd.c Там прямо xsprintf(rt, "/run/user/"UID_FMT, ur->uid); , за исключением проверок в validate_runtime_directory()