Приветствую.
Дано: Debian v9.4 stable, Systemd, Openbox, Lightdm.
Нужно,чтобы пользователь «А» из под своей графической сессии мог запустить скрипт, который создаст от имени пользователя «Б» отдельный X-сервер и создаст в нем новую графическую сессию для пользователя «Б». То есть,
loginctl show-session $XDG_SESSION_ID
Уже два дня гуглю - ничего толком найти не могу - вот тут вышли из положения, но ведь там СonsoleKit, а у меня logind, затем нашел это - но чуда не произошло - не работает. В документации по loginctl и logind ничего по своему вопросу найти не смог. Тут говорят, что СonsoleKit уже не нужен, т.к. в Systemd создание сессии происходит автоматически, сразу после аутентификации в виртульном терминале либо дисплейном менеджере.
Вопросы, в таком случае, нарастают как снежный ком:
1) даже если пока что забыть за скрипт и сделать все вручную: переключаюсь на другой виртуальный терминал, логинюсь, запускаю X-сервер на этом же виртуальном терминале, то сессия ТАКИ создается корректно, но при этом СЛЕТАЮТ все сессии которые были созданы/аутентифицированы с помощью дисплейного менеджера (Lightdm в моем случае) - т.е. на них уже не переключиться - нужно по новой логиниться, контекст работы теряется - совсем нехорошо - как этого избежать? При этом сам Lightdm в множество сессий умеет: т.е, если я создам кучу сессий с помощью гритера Lightdm, то переключения между этими сессиями происходят корректно.
2) как тогда с помощью скрипта создать сессию, используя уже дисплейный менеджер, да при этом миновать этап ввода логина-пароля? В Lightdm есть консольная утилита dm-tool, но при выполнении «dm-tool switch-to-user username» все равно выкидывает в гритер. Да, все он делает верно, но мою проблему это не решает. :) Нужно процесс создания новой сессии нужного пользователя и переключения на нее сделать полностью прозрачным.
АРХАИЧНОЕ РЕШЕНИЕ
РЕШЕНИЕ ПО ПРАВИЛАМ SYSTEMD