[artix-general] No elegond just seatd (thank you note)

Javier je-vv at e.email
Thu Mar 6 08:59:10 CET 2025


This is just kind of thanking artix developers.

At first I noticed there was seatd because on sway's Arch wiki it's mention as an alternative of polkit [1], but then wen looking for the service on Artix I noticed it conflicts with the elogind service (not the application), so that was interesting so I was looking for a way to get rid of elogind, and searching on web I found a Void session management documentation [2].  So according to void I could use elogind, seatd + acpid, or turnstile + seatd + acpid.  But I'm not interested on an alternative elogind, but rather not to have one on the first place, so I started to look for seatd alone plus acpid to handle some events (haven't configure acpid yet, I'm sure I have somewhere old stuff as well), and although I didn't find an Artix wiki for seatd, I found a forum [3] which has everything I needed.  Initially I was using /tmp to create XDG_RUNTIME_DIR on my ~/.bash_profile, but then remember Void documentation mentioned using /run, but users don't have to create anything in there, but then I remember I actually quickly looked at seatd's documentation [4] which actually mentions several alternatives, PAM based ones (like 3 of them, and one pretty similar to the one mentioned on the Artix forum and available through package pam_rundir on Artix), and the simple script mentioned by the seatd doc, which in my case was about modifying "/etc/local.d/rc.start" which I believe is the same for all init/supervision systems on artix, or at least it works for "initd" which I use.

I'm pretty happy about it.

I wish I could get rid of dbus as well, but sadly I can't.  Did I mention I'm using sway on wayland?  But I guess I didn't mentioned I unfortunately need slack and teams-for-linux to be able to share screen, and to do so it has to be done through "xdg-desktop-portal", and AFAIK the communication happens through dbus, or so I believe because when trying screen sharing without connecting to a debug session on wayland doesn't work, at least not for slack and teams-for-windows that it.

I already was calling for:

> exec dbus-update-activation-environment --all

on sway (I was using elogind before), I just temporarily removed it to try without dbus.  So I brought it back and call sway starting a dbus session for it:

> exec dbus-run-session sway

and all done.  I was already calling fo execution of "pipewire" and "xdg-desktop-portal" on sway as well.  And that's all I needed, :)

I bet turnstile, mentioned on Void documentation and also with an Artix wiki [5] and forum [6] helps providing the XDG_RUNTIME_DIR and also offering the connection with the system dbus session as well as the required environment variables, but I feel much better without it, and a particular use case simplifies considerably.  I like to keep music playing thus having audio alive even when there's no one logged in.  That was easy with plain alsa, it got complicated with pulse and then pipewire.  That, and having no elogind neither another logind alternative is something I like.

I haven't noticed anything on the usage side so far, though I noticed a boot service indicating not detecting elogind but ignoring it but without any consequences that I know of.

So this is pretty good, and many thanks to the developers making all this possible.

Hopefully you don't ever get turnstile or elogind for that matter actually to be a must on Artix (the elogind package is required, but not actually a must since one can safely get rid of it with seatd at least as shown in the seatd forum).

Thanks again !

-- 
Javier


[1]  https://wiki.archlinux.org/title/Sway#Starting
[2]  https://docs.voidlinux.org/config/session-management.html
[3]  https://forum.artixlinux.org/index.php/topic,3050.0.html
[4]  https://git.sr.ht/~kennylevinsen/seatd-docs/tree/master/item/index.md
[5]  https://wiki.artixlinux.org/Main/Turnstile
[6]  https://forum.artixlinux.org/index.php/topic,6929.0.html


More information about the artix-general mailing list