Skip to main content
Topic: [WIP] turnstile support - logind alternative (Read 11154 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: [WIP] turnstile support - logind alternative

Reply #15
Issues
  • polkit might not fully work, you'll need this patch The patch should be included in Artix.
I can't get polkit to work and I'm not sure what I'm missing. User services and dbus session handling are both working, as well as multiple user sessions. Really only polkit isn't cooperating.

Re: [WIP] turnstile support - logind alternative

Reply #16
I tested turnstile again and it does not well.
When I log out the old (user) dinit process it's still there so no user services.
After disabling turnstile something kept spawning it so I rebooted.

I do not have elogind so I set in /etc/turnstile/turnstiled.conf
Code: [Select]
export_dbus_address = yes

I find a solution for the $DISPLAY error using env-file (man dinit-service):
Code: [Select]
type = process
command = picom
logfile = $HOME/.local/state/dinit/picom.log
env-file = environment
restart = true
"~" or "$HOME" do not work there while at least $HOME works in "command" so I used the relative path.

The file is in the service folder:
Code: [Select]
cat .config/dinit.d/environment
DISPLAY=:0

Re: [WIP] turnstile support - logind alternative

Reply #17
Spoiler (click to show/hide)

Re: [WIP] turnstile support - logind alternative

Reply #18
It's a mistake, now edited.
It was not a problem of different names.

Re: [WIP] turnstile support - logind alternative

Reply #19
After reading this thread, I installed the dinit/lxqt version of Artix on an old laptop, installed turnstile and seatd, and then used pacman -Rdd to remove elogind.  Once rebooted, the system did work.  The only major problem is the inability to elevate to root permission in programs that require it.  Shutting down, for example, has to be done via the command line -- "sudo shutdown."  Clicking the power off button brings up the do-you-really-want-to message, but when "yes" is clicked, nothing happens.  Programs that need to be run as root, like Gparted, won't load at all.

Also, a couple of times, when updating with pacman, elogind has been reinstalled as a requirement for other programs.  Each time that happened, I removed elogind and the system still worked afterward.

For what it's worth, I also installed the "experimental" wayland version of lxqt along with wayfire and found that it works nicely.  It looks like we're inching closer to a fully-functional version of Artix without elogind and with wayland.

Have you considered making an experimental ISO for Artix that has turnstile and seatd instead of elogind?  That might make it easier for more users to tinker with it.

Re: [WIP] turnstile support - logind alternative

Reply #20
First part sounds like maybe polkit needs elogind. I don't know much about turnstile.

If you don't want to keep uninstalling elogind you could create a dummy package.
Code: [Select]
pkgname='elogind-dummy'
pkgver=999
pkgrel=1
arch=(any)
provides=('elogind')
conflicts=('elogind')
Also you could try just disabling the elogind service and leave it installed to see if things work better. Could be better , could be worse. As I'm fairly sure some programs can start elogind themselves.

 

Re: [WIP] turnstile support - logind alternative

Reply #22
For the login1 part - as in reboot/shutdown - indeed polkit needs elogind.
As an alternative sudo or doas can be used to run the respective command, and also to initiate a suspend with a direct write.

artist

Re: [WIP] turnstile support - logind alternative

Reply #23
Any prospect of turnstiled-s6? Not that it's super urgent, I can keep a 2-line execline script under adminsv just fine.

Re: [WIP] turnstile support - logind alternative

Reply #24
The recent upgrade that merged dbus-dinit-user and dbus-dinit made it less comfortable to use Turnstile + dinit on other init systems.

Code: [Select]
# pacman -Syu
 :: Synchronizing package databases...
 system is up to date
 world is up to date
 galaxy is up to date
 lib32 is up to date
 extra is up to date
 multilib is up to date
:: Starting full system upgrade...
:: Replace dbus-dinit-user with system/dbus-dinit? [Y/n] n
resolving dependencies...
looking for conflicting packages...
:: dbus-dinit-20250815-3 and dbus-s6-20210918-1 are in conflict (init-dbus). Remove dbus-s6? [y/N] n
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: dbus-dinit-20250815-3 and dbus-s6-20210918-1 are in conflict

Even if it's fairly easy to work around with a custom PKGBUILD, and Turnstile is non-default/experimental, I think splitting the packages still makes sense; dinit-user-spawn (which I think is the reason for this merger) seems easily portable to other inits and can also work as PID1-independent user services infrastructure, and it would make dinit-dbus more closely equivalent to the other dbus-init packages again.