Hello.
I've been an Arch user for over five years. Previously I used Debian for about ten years. I've been enjoying my time on Arch, but I keep running into issues that I think are caused by SystemD. Failures to unmount drives on shut down, services failing to start or failing to terminate, and repeated failures of drive automount policies.
Additionally as I learn more about init systems I've begun to understand why certain people have issues with SystemD. I also just rather dislike Redhat these days and wouldn't mind having less to do with them.
All that said, while I have an idea, I don't really understand innit systems very well yet. So I'm not really sure how to chose between OpenRC, runit, s6, and Dinit. From what I have been able to glean OpenRC seems to be the most well supported and oldest of the options. s6 seems to be the most well integrated into Artix though. Or least least that's how it seems to me. I don't have as much information on runit and Dinit as I would like.
I'm also quite interested in the XLibre ISO of the MATE Image (my preferred DE). Would it be possible to say if that is ready for prime time or close to it?
This system is mostly used for gaming, web browsing, and office work with some light audio and video editing as a hobby. My most used software is Steam (and installed games), Dropbox, Discord, LibreOffice, LibreWolf, Thunderbird, IVPN, and Bitwarden.
Thanks for the advice.
[EDIT: s/innit/init/ $topic_title]
If you've never considered changing the init system specifically, just get OpenRC. It's 2nd most documented and supported over any other one. You'll just run into less of a need of writing your own init scripts, because someone already did it (on AUR as an example). If you'll feel confident enough after messing around with it for a year or two and you won't like it, you can then try changing stuff again, but in the case of Artix it's just a matter of a pacman command and not full blown system reinstall like with other distros.
What do you like? For example, I chose dinit because of its similar command syntax, which makes it easier to remember. Take a look for yourself:
SystemD:
systemctl start SERVICE_NAME
systemctl stop SERVICE_NAME
systemctl restart SERVICE_NAME
systemctl enable SERVICE_NAME
systemctl disable SERVICE_NAME
Dinit:
dinitctl start SERVICE_NAME
dinitctl stop SERVICE_NAME
dinitctl restart SERVICE_NAME
dinitctl enable SERVICE_NAME
dinitctl disable SERVICE_NAME
You also need to remember such a thing as installing an init package for a service, for example, in arch you would do it like this:
pacman -S colord
systemctl --now enable colord
Then in Artix you will do it like this:
pacman -S colord colord-dinit
dinitctl enable colord
I tried OpenRC, runit & dinit (deveral times) on hardware, although i'm sure that trying it out in a VM would be the same,. After many installs and trials etc, i settled on dinit, partly because of (as the previous post stated) its simplicity and similarity to systemd, but also because it's new, stable and the script system makes more sense to me than either runit or OpenRC. I've had a few problems since i started using it, but all of them have been my lack of general arch knowledge.
I will say this, every time things have gone wrong (mainly because of me) it's been reasonably simple to bring it back up again. So far dinit has been solid, super fast, easy to deal with and also fun to work with.
I see. I can not put my finger on why, but the technology behind s6 is most interesting to me. I understand that OpenRC will probably be the easiest to get started in because of it's massive support.
I appreciate what Dinit is trying to do, but commands being similar to SystemD is not important to me. However it's stability and recoverability is a good mark in it's favor.
Thanks.
In that case, I see no reason not to start the installation right now! If for some reason you don't like the installed init, you can simply replace it with another one and continue your research.
I felt similar about all of the different init systems, each one having its own way of doing things etc. :)
The commands being similar to systemd are, for me at least, of little consequence. What's more important is how it works and functions?
When you enable a service for instance (dinitctl enable service_name) it both enables the service (creating the link to the service file in /etc/dinit.d/boot.d) and starts the service.... all in one command. Easy to remember, nothing esoteric and no links and dirs to be remembered (as in runit for instance).
It deals with supervision and dependency (in my limited understanding & ongoing comprehension of both) really well and in what i see as a logical way.
Dinitcheck (part of the dinit suuite) is a wonderful tool to have available when checking service files. It looks for both dependency and syntax problems and highlights them if there are problems.
It's also relatively easy to troubleshoot when (if) things go wrong and it's incredibly fast both at boot and also in overall general execution.
I'm in no way trying to persuade you to choose dinit over any of the other inits, only you can make that choice and that's one of the delights of using these tools in the first place. I am however (hopefully) highlighting several things that you may be looking for in your init system choice. :)
I've had a little more time to look in on it.
I'm now torn between Runit and s6. I like the Process Supervisor concept a lot. It seems like a much more reliable way of running a system than dependency managers. At least from what I've been able to read.
I appreciate the contributions. I've read all of them.
You won't be 'wrong' in whatever choice you make, it is a personal thing. As already posted above, it is relatively easy to change init after installation.
As for me? I like dinit. :)
From my perspective? Runit for especially bare bones init scripting, OpenRC for support and having equal file hierarchy that matches multiple other distributions which also use/provide OpenRC. Documentation especially matters in this regard.
Welcome to Artix Linux!
I've been using Artix OpenRC XFCE on various PCs since 2019.
OpenRC is very well documented (thanks also to Gentoo).
I've been tempted several times by Dinit and S6, but since OpenRC works so well, I've stuck with OpenRC.
P.S. I only use the Artix repositories plus a few rare AUR and Chaotic-AUR packages with yay or trizen.
Runit gets my vote although, dinit does look interesting only because when I ran Arch and Debian, I converted all my crons to timers etc.
Okay. So I think what I'm going to do is install the MATE XLibre s6 image tomorrow and see how it goes. I have regular MATE s6 and Runit ISOs also in case something goes horribly wrong with the XLibre and/or s6. Having read up on it more I really like the approach s6 takes towards system management. Hence also the back up of Runit, which uses a similar concept.
Any init system works. It comes down to your personal preference. I have tried all of them and finally settled with s6.
s6 + xlibre + awesome wm
runit is a good choice
I tried Openrc in Alpine, Runit in Voidlinux, GNU Shepherd in GNU Guix and s6 in Artix. runit and s6 are pretty similar in concept but s6 is the one I liked most. All of the inits in Artixlinux should work OK. So in the end it's like food, a personal taste. If you have time I suggest you to try all the inits you can and choose the one you like most.
That's it in a nutshell.
As I mentioned in another post I stick with openrc as it has netifrc, which I like a lot, and also I'm very familiar with openrc as I used it on Gentoo.
I did consider changing to an init with user services but openrc have added said now so can't see that happening.
I've tried them all. Choice is good. No choice, in this case, is wrong.