Personally, I find that I don't need elogind. Xorg can be started rootless without it by manually changing permissions and acpid can handle power and sleep events just fine.
If I could remove it, that would be just one less moving part.
Also, Artix is all about user freedom so I think the user should have the freedom to go without elogind.
Is there a future in which elogind is an optional service instead of compulsory?
No, technically not viable.
If you want to have such customization, gentoo would be recommended.
You have such freedom.
PKGBUILD
pkgname='elogind-dummy'
pkgver=0.1
pkgrel=1
arch=(any)
provides=(libelogind.so=0-64 libelogind liblogind elogind logind)
Build and install that and you can remove elogind & libelogind. (or add a replaces= line and have them removed automatically)
Expect things to break though. I used to to roll like that at one point when I was first using Artix.
The dealbreaker for me is saving text files with elevated privileges in KDE does not work without some form of logind. Or at least I can't get it to work. I like that functionality.
You can also opt to use seatd as a replacement. It doesn't do everything but it's close.
consolekit2 is another option.
Good luck recompiling a bunch of desktop packages, adding patches eventually.
If you want a logind free system, better use gentoo, it is much more easy with a source distro than binary distro such as artix.
But sure, feel free to use ck2 and go through some pain. :P
I use obarun. Don't have the patience/time to compile everything from source now. :)
Why is that? I can use Void without elogind just fine. It's run by runit as an optional daemon.
Most packages in Artix have compiled-in elogind support (often meaning they subtly break when elogind is not available, see the KDE user who posted on this topic). And even those that don't depend on elogind itself running might depend on elogind's library (including those who are only after systemd's admittedly useful D-Bus helper functions).
Unlike Void, Artix is not willing to compile packages twice (like they do with dbus and dbus-elogind) or with missing features to remove the the elogind dependency.
Dudemanguy has been packaging seatd + libelogind for a while now as a possible replacement for people who consider elogind "too bloated", but as artoo noticed, functionality might be missing (especially if you use a "normal" DE instead of a more minimal WM), and excising libelogind as well is only really possible by using a source based distro.
My Gentoo machine, for instance, is elogind-free, and the few programs that require libsystemd are working quite well with libbasu (a drop-in replacement for systemd's D-Bus helper functions - like libelogind, but
much better scoped).
because like it or not, most of desktop stuff is nowadays only fully functional with logind.
Then make it optional. I'm using BSPWM. Why should I have to use something that I have no use for just because the next guy *might* want to use KDE?
capezotte's response is much clearer:
Correct. Or any other DE.
You are free to not use artix.
It's not just KDE. From memory at least CUPS now needs a logind to work out of the box. It's not that long ago that wasn't the case.
The more systemd has enveloped the Linux ecosystem the more these hard dependancies have arisen.
As already explained it's optional, You can do you with a little knowledge of the Arch packaging system.
But Artix needs to just work for the majority of the people who may want to use it so there's a logind as a dependency
Situation is far worse than many users grasp, and there is no viable alternative as it stands.
You can do away with it on artix, but it will not be the case out of box, even seatd has libelogind depend.
And before I'd go through this, I chose gentoo which allows this more easily, at cost of compile time.
I just want to be clear I was replying to Nostos. As I'm not sure I was?
Your approach Artoo is the correct one.
Thanks for Artix :)
Because Artix maintainers have limited resources and find that allocating them towards compiling multiple packages twice is not a good idea. In fact, they've already made elogind optional to the extent that is possible without incurring in this penalty, and there are many people running Artix without a trace of elogind in their process table. Libelogind isn't the full-fledged daemon.
If you find even having the library on your filesystem offensive, unfortunately Artix is not for you (and won't be for the foreseeable future). Distros like Gentoo (or hey, KISS Linux, that one distro with the bare minimum needed to run Firefox!) are better suited for that.
After libudev-zero i think it is possible to create some lib to translate elogind calls into consolekit and seatd ones (or maybe even some dummy lib so that software won't complain). The question is, do we have any good enough anti-elogind coders who could implement that?
The real solution would be convincing the developers of programs who without any real reason whatsoever integrate with systemd or elogind to stop doing that.
Alternatively, one can just not use such programs. Artix is a distro which includes "desktop" software: GNOME, KDE and their derivatives. From an organizational standpoint, it is not practical to maintain two separate "flavors" for every package which potentially depends on elogind. As suggested (https://forum.artixlinux.org/index.php/topic,3375.msg21865.html#msg21865) by
@artoo, source-based distro is a better solution. It doesn't have to be Gentoo, as well. For example there is Linux From Scratch (https://www.linuxfromscratch.org/).
Well I think seatd currently has what you're looking for. It picks up logind API calls and handles them appropriately (provided it is compiled with logind support which is is on Artix which requires libelogind). The main thing is that elogind is more than just merely a library and does some other things as well. One of these is acl's for groups which I've never gotten around to duplicating.
There're some binary distros which don't have systemd and elogind. Slackware, pclinuxos and of coz obarun are 3 of them.
I am not against using elogind. As long as the init system just "inits" the system right, I am OK.