Systemd: The Good Parts

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • gentoo

    [MIRROR] Official Gentoo ebuild repository

  • > It allows having user services without having to hack around it with cron

    Recently, I started using pipewire, which is designed to rely on a user-level service to start and stop the pipewire process.

    To bypass this requirement, the slackware guys came up with an elaborate solution that wraps the pipewire command with a daemonize tool that is supposed to cleanup after itself: https://www.linuxquestions.org/questions/slackware-14/using-...

    Meanwhile, the gentoo guys just did the simplest thing possible: https://github.com/gentoo/gentoo/blob/f788f38/media-video/pi...

    Of course, with both of these workarounds, the semantic changes from "start this process once the user logs in" to "start this process once the desktop environment starts", but the end results are identical for almost all users.

  • openssh-portable

    Portable OpenSSH

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • src

    Read-only git conversion of OpenBSD's official CVS src repository. Pull requests not accepted - send diffs to the tech@ mailing list.

  • This is OpenBSD's sshd init script:

    https://github.com/openbsd/src/blob/master/etc/rc.d/sshd

    On an archlinux system running systemd I see that the equivalent of the rc_reload function is "ExecReload=/bin/kill -HUP $MAINPID" (which is actually less safe...)

    I'm not sure if you think that's declarative but to me it's basically as declarative as you can make a shell script.

    > By default every popular distro before systemd/upstart did. Many services still use them anyways (systemd just generates a shim to run the start/stop/status operations on them)

    I mean is anyone CURRENTLY using them? Because as far as I'm aware the linux sysvinit situation was a gigantic mess which nobody wanted to bother fixing despite the fact that OpenBSD and other BSDs had already fixed it by that point.

    I think most linux distros can be taken as an example of how not to do things if you want to make your life easier.

    Nowadays BSDs don't use these awful scripts. OpenRC based systems don't use these awful scripts. Who is using them?

  • daemon

    turns other processes into daemons (by raforg)

  • > You mean Slackware users on some random forum.

    Believe it or not, that's actually the official slackware forum. And whatever solution those guys come up with, it will likely become the official solution.

    > Besides, the solution they came up with uses XDG autostart which has nothing to do with systemd.

    The slackware solution involves a project that nobody has heard of before, just so it can imitate the "user-level service" feature provided by systemd: https://github.com/raforg/daemon

    > Not to mention that it's not even doing the exact same thing as the Gentoo solution and running two more commands in addition to pipewire.

    The slackware solution requires starting those 3 processes (pipewire, pipewire-media-session, pipewire-pulse) separately from 3 different .desktop files, likely because the daemon tool above can't properly reap the pipewire-pulse process (not sure whose fault is this though).

    On the other hand, the gentoo solution can start all 3 processes with just 1 .desktop files, because `pkill` takes care of it. Simple and effective.

    I think the key difference, in this case, is that the slackware guys are trying their best to imitate a systemd feature, while the gentoo guys seem to focus more on finding the best way to allow users to enjoy pipewire.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts