manuth@lemmy.kde.socialOPtoKDE@lemmy.kde.social•Unable to Start Plasma as Different User from TTY
1·
1 month agoThanks for your answer!
I am writing a setup script which installs and configures my system automatically.
As the creation of rclone
configurations requires passwords, I wanted to boot up a Plasma Wayland session (for each user which needs to be created) and prompt them to create the necessary rclone
configurations and sign out afterwards.
My current (non functioning) draft of the script looks like this: https://git.nuth.ch/manuth/PortValhalla/src/commit/c88be78a7bce6b5d4d3bb64456b58366d1a1305d/scripts/Common/Software/rclone/main.fish#L10-L60
Alright, so I found an absolute trainwreck of a solution. All the ways I have tested (
sudo
,login
,openvt
,machinectl
,systemd-run
) don’t work because important variables likeXDG_SESSION_ID
are not created. So probably these methods don’t open up a real session or something…?What I did is to automatically open up a session for the specified user - in this case using
getty
. Using these code lines, I created asystemd
-configuration and booted it up by runningsystemctl daemon-reload
:source: https://wiki.archlinux.org/title/Getty
After this, the user has a running session and proper environment variables set up. I use
pgrep
to wait for the expected process to show up:The environment variables of the process with the PID
$sessionPid
can then be borrowed to runstartplasma-wayland
properly as the desired user:The fact, that this command would always end up focussing on tty2 after exiting the plasma session, I kind of abused the
openvt
-command to force the focus to return to the previous tty:I also did some quirks like using
openvt
to find an unused tty. If you want to see the whole thing in action - script is here:https://git.nuth.ch/manuth/PortValhalla/src/commit/b6329693d6fd717c8ca6f7a278a864930b7f705d/scripts/Common/Software/rclone/main.fish#L10-L60