Politely disagree. I don’t mind systemd being used in most major distros, but it shouldn’t be a standard in general and it shouldn’t merge with the kernel more than it already did (from what I know systemd requested only a kernel patch to fix a problem with systemd, instead of fixing systemd itself, adding more than this makes it a risk to break compatibility with other software that could replace it).
I also abhor the dependency on systemd specific tools in general, like GNOME Shell using systemd utilities for login instead of doing it in an agnostic way, however, I don’t hold it against GNOME developers. I understand it doesn’t make a ton of sense to support everything that’s out there, or even to keep 2 authentication methods. Thus, I don’t use GNOME Shell on my system. I don’t boycott GS, just that I stay away from it. And only from the shell, GNOME software like Nautilus doesn’t have the same dependency, so no point in not using things like that (although I avoid GNOME stuff because they are heavy on resources). That doesn’t stop people from patching GS, or adding compatibility layers like elogind or seatd.
Systemd compatible systems would probably be a nightmare to implement and I highly doubt the OpenBSD folks would do that. FreeBSD, maybe.
I don’t think systemd should die, its complexity probably makes sense on a lot of complex systems. But it is definitely not my first choice. I am completely sold on s6, even though I don’t use it (yet), I probably will. Thus far, I just made some very simple dependency checks on runit for some services, like ntp checking that I have an IP address allocated. It’s not hard to do basic checks.
@TimHolus
Crontab doesn’t keep track of the order of scripts, you always run a risk of a race condition. What if proton-cli takes 10 seconds to execute after it sleeps those 5, while the bridge executes instantly? The bridge will fail using that logic if you run them in parallel. They must be sequentially ran.
crontab -l should look like this:
@reboot /home/user/path/to/script/script.sh > /dev/null 2>&1
script should be executable by running chmod +x script.sh
The script.sh should look like this:
#!/bin/sh
while ( [ $(/bin/ip a | /bin/grep '192.168.' -c) -lt 1 ] ); do /bin/sleep 2 ; done
/path/to/installdir/proton-cli c --cc UK
/path/to/installdir/ch.protonmail.protonmail-bridge --no-window