systemd....works fine for me. Have changed from systemd-boot to Limine because I dual boot and it's better at handling Windows and Window's EFI partition being installed on a separate drive. It just auto-detects it and means that if I do decide to completely ditch Windows I can just wipe that drive.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Systemd, systemd-boot, systemd-snapwn
Good stuff
Dinit for desktop, s6 for server.
Btw, why is systemd even a thing for server distros? Can't play none of it's strengths but it's fault's affect security and stability.
Why you want to switch from systemd? I hate how complex it is, this age verification and that they're trying make make Linux more Windows like, but in that bad way (it's created by people who prefer Windows over Linux so yeah). But if your installation is working and don't have troubles then don't switch.
Switching to "alteratives" shouldn't affect gaming compatibility at all, cause you don't need any daemons to play your games (maybe if you want to host server or use vpn for multiplayer). Remember that systemd is not init system, but software suite which provide init system also. I think that systemd might use more resources than other solutions. Some software can rely on systemd, but when are you installing program from your system repositories it will work cause it's prepared to work if you're using solid Linux distro. I had situation on MX Linux that I downloaded Mullvad VPN from Mullvad's Debian repositories and it wasn't working, because of no systemd. Then I discovered that MX Linux have Mullvad VPN in own repositories and it worked. On every non-systemd Linux distro you can install elogind which is usually preinstalled and it also care about compatibility layer.
If we speak just about other init systems try what you like. My favourite is runit, but the most popular alternatives are OpenRC (this is what I usually using, even right now on laptop and PC) and sysvinit. sysvinit was terrible experience for me on Devuan, on MX Linux okay; OpenRC is just okay, but I have few reasons to hate it.
Systemd is used by the most of people so if something will screw up more people can help you and there's more tutorials on internet, also sometimes you need to tinker more on other init systems from my experience as systemd is more handholding. But using different init system will give important experience and learn you more how your system works.
If you're looking for non-systemd distros check MX Linux which is the really good system, also for not advanced users who just want to run their games. It's using sysvinit and you have GUI tools to control daemons.
The main functional difference between systemd and others is that systemd will just work. Others will require you hand tune and hand tinker with a non-mainstream Linux distro.
If your hobby is init systems by all means mess around though.
I personally quite like systemd. Unit files are clean, timers services and sockets are easy to manage etc.
Honestly it’s a non-problem. Best advice is to use what is best supported. Don’t let the extremely fringe (but loud) tiny group of systemd haters throw you off.
As someone who's created a timer, cron is much more straightforward.
Systemd has its good points, but most of that is the core functionality as a sysvinit replacement in my opinion. And it's entirely likely that at least one of the newer alternatives is a better option for that.
I think if you know cron from the start it can be easier, but it gets really annoying really fast.
Compare:
0 0 * * * /usr/bin/flock -n /tmp/myjob.lock bash -c 'sleep $((RANDOM % 3600)) && /usr/local/bin/myjob.sh'
To:
[Timer]
OnCalendar=daily
RandomizedDelaySec=1h
That and things like systemd preventing overlapped delays, handing what to do if the system was down during the last cycle, built in logging and event tracking. Seeing successful vs non successful runs etc.
Once you add in those production requirements cron gets annoying fast and timers are easy.
For adding a quick thing to make something happen at a specific time, I can add a cron job in a couple of minutes. To add a timer takes creating a couple of files with syntax that took me a while to look up last time I needed it, and running a command. Then debugging. Sure, the timer has benefits, but cron jobs are still simpler.
On the bright side, there's actually a "crontab -t" command that apparently can be used to generate timer files from a crontab line, which I hadn't known of before today.
That’s because you know cron. If you knew timers equally as well they would be easier. And they let you handle the edge cases (retry, randomness, tracking, logs etc) without the need for a custom script.
Once you factor in the production edge cases I think timers are clearly easier. You get all of it for free.
I can add the two files required to run a timer in systemd in a couple minutes, but writing the complex incantation to cron for having it do something that is the default in systemd is pure pain and takes me 3 hours of googling
OpenRC here, on Gentoo.
It works pretty well, fast and simple, honestly I never felt the need for SystemD.
I use the latter at work sometimes, I don't really like how it changed the way stuff works, but I have nothing against it. I just feel the extra complexity is not needed in all of my home setups (laptops, servers, etc). So it's OpenRC everywhere for me.
If you have to ask this, then its probably good idea to stick to systemd. I don't see any reason to change, other than to protest. In the process doing so you will probably encounter issues. People switch away from systemd for various reasons, but not for performance. In example they don't like who develops and controls systemd. And they don't like that it does more than just initializing the system, as bunch of other tasks are bundled into it. If all of that does not bother you, stay with systemd in my opinion.
And if you really want to switch to systemd, then I recommend to use a dedicated operating system (a distro) with that in mind. Don't forget, that systemd has many features and services, that its expected as a standard. You do not just change an init system, but replace all other components too.
do you think you'll continue to use sysemd once it start embracing gov't id requirements to use it?
i ask because i hold a similar position, but it's adoption of the first step towards this end goal has me wondering if i should start looking for an alternative.
The developers of systemd said they will never support that, so I think its safe for now. Also why do you think systemd would "require" a government id check? systemd is just providing the functionality; it is the distribution / operating system that implements all the functionality. So if an operating system does implement it, I might find a different operating system, regardless of if it uses systemd or not. That is true for any other component too, not just systemd.
a government id requirement is the next logical step after its needful framework has been built as a result of the age verification laws that have already taken affect in the uk and california.
and because it's a government law, it's out of the systemd developer's hands. linux is influenced heavily (if not outright controlled) by corporations like red hat who have to abide by the law if they want to continue operating and, in a likewise fashion, the systemd maintainers must also comport themselves if they want systemd to remain the dejour method that linux uses to initiate itself in those ecospheres.
That is speculation. And as said, its not the decision of systemd to implement that, it is a decision of the operating system / distribution. I live outside the areas of those laws. What the next logical step is, is open to interpretation and that is not what I am discussing here.
I use OpenRC on most of my systems, which honestly works well enough that I've never felt the need to change. SystemD at work though, which is also fine. If I have any complaints, it's just not what I'm used to.
Switching could be tricky, and may not be worth the hassle. It'd really depend on what you want to get out of it. As always though it'd be a good way to learn as you'll inevitably break something and need to figure out how to fix it.
If you are asking about "gaming compatibility" you should not switch to a non-systemd distro. You will end up going through extra hoops for zero benefit.
What kind of extra hoops? Or maybe it's the type of games?
Asking because I switched to Devuan on my gaming PC and I didn't need to do anything specific for games to work (Steam and Lutris).
The only exception is The Last Caretaker (UE5) that requires more recent NVIDIA drivers than those in the Debian repos, but that has nothing to do with systemd, it's Debian/Devuan being conservative with updates to guarantee stability.
That's kind of the best case scenario though: there isn't even a significant benefit
And by hoops i only mean what you just described: small differences with the mainstream distros that might cause friction for someone inexperienced. It's not the end of the world. I was being a bit hyperbolic
I think there are plenty of pragmatic reasons an experienced sysadmin or Linux power user might prefer OpenRC or something sysVinit compatible over systemd, but i think those reasons make a lot less sense to someone who is, respectfully, obviously a beginner (revealed by their use of the phrase "gaming compatibility")
Systemd is fine. Stop getting trolled by antiquated neckbeards.
Unless you find a specific problem with something, don't go looking for reasons to fix that which is not broken.
Systemd is fine, but we should be aiming for better than fine.
That being said., there's definitely something to be said for sticking with "fine" until something else proves itself to be at least adequate with potential to be better than merely fine.
Systemd is the worst init system except for all of the others.
No, it's not fine. But I agree with the last sentence.
I use systemd it's fine and requires very little extra thought.
Except for systems with very limited resources, systemd or not won't make much of a difference in performance. A lot of tutorials on reading system logs and managing background services will assume that you are using systemd.
I've only ever used distros with systemd, not necessarily with intent, but because it was the default and well-supported. Probably won't switch unless
- Debian switches
- there's a change that breaks my workflow
- it somehow starts phoning home to a big datacenter.
I'm using shepherd right now and i've used runit in the past. Shepherd is definitely a beast of its own since it's configured in guile scheme, but in the case of runit it just runs schell scripts and the commands are for the most part just as simple as systemd. I've seen people claim that some programs won't work without systemd but i've never come across something that didn't work.
it’s one of those cases where if you have to ask, you should probably just use systemd. anything else is outdated or a passion project based on some idealism, which i’m all for, but if you’re worried about gaming performance as a primary concern i’d put it out of your mind. for example, i’m an obsessive tinkerer that uses NixOS and Arch before that and i use nushell and Neovim and Hyprland, but i use systemd cuz i don’t see a reason not to. it’s well supported and stable.
it’s one of those cases where if you have to ask, you should probably just use systemd.
I just said the same, lol. This is my default responds to questions like these.
What you can expect when switching from a system management tool written for Linux to an init tool targetting the least common denominator of general Unix functionality?
Less functionality, less security, less information about the state the system is in, less reliable switching between states and a whole lot less of linux kernel features exposed to your use in convenient ways.
It's not as if systemd was started to be complicated, the world got complicated. E.g. we used to just create all the device nodes in /dev statically during system installation. Then USB became a thing and supported so many different kinds of devices with thousands of potential ports to connect them to. They would not fit into the device node namespace! So we needed to make device nodes dynamic, which is also convenient.You do not have lots of device nodes that do not exist on your system and you no longer need to change system configuration when you plug your mouse into another port of your system.
Filesystems, security (often linux specific) features, everything is easy more complex (and more dynamic) today than it was when sysv init was a thing. That simple stuff was great when you had to power off your machine to change its available devices. It is less cool when you plug an USB-C cable into your laptop and want to use all the stuff that is now suddenly available.
i actually like systemd. i'm not sure why I wouldn't want to use it.
my one critique is pretty subjective, but i find it difficult to find simple clear documentation online about how certain syntax works and how certain tasks are accomplished.
Recently i was trying to set up a cron-job type automation to run a script every minute. I know how to do that in cron (and if i didn't, there are tons of good resources online) but i had a hell of a time figuring it out for systemd. I also wanted to have the script run at boot or user login and i couldn't figure that one out (but i know how to do it with cron)
i'm not a power user so it's entirely likely the information was hidden in plain sight and i completely missed it
Age verification? How about their attempt, after taking over udev development, to drop support for other init systems to force people to use systemd? It's track record of security flaws?
Filesystem enable age verification in pretty much the same way as systemd does: You can optionally store a user's birthday. That is such a ridiculous statement.
To be fair: None of the other inits cared for udev. None contributed or helped by providing features they wanted to improve udev. The systemd devs care for the lower level plumbing overall... and not just for the init system. So it is very natural for low level plumbing projects to land under the systemd umbrella today.
Systemds track record wrt. security flaws is actually pretty good. Not many went through the cracks,maven though some were indeed pretty ghastly. Hardly any was in the core functionality, most were in new code not widely used yet.
On the other hand, the service hardening that systemd enables has improved the overall security of a typical Linux system by quite a lot.
I would say the big thing that might give you trouble is not the init system, but NetworkManager. NetworkManager is the... network management software (wow who woulda guessed?) used on desktop linux distros.
People have many criticisms of it, that are similar to criticisms applied to systemd (it's also Red Hat software), so I see my friends switching to iwd, wpa_supplicant, or other alternatives when trying something other than systemd as well.
It gives them a lot of pain. None of the other alternatives are as reliable as NetworkManager when it comes to connecting to Wifi. Switching away from Systemd shouldn't be too hard, but NetworkManager is much tougher to give up. Thankfully, you can run NetworkManager on non-systemd setups.
This comment is a bit misleading. NetworkManager uses iwd or wpa_supplicant as a backend, it cannot manage wifi connections on its own. You can of course use either standalone.
Runit is softly better but Systemd is perfectly fine. I would prioritize runit on very old hardware.
I have heard that systemd is "heavier" than alternatives. I haven't experienced that. I don't think gaming is impacted at all.
I use openrc on Gentoo for desktop. It requires some script hooks for things that expect systemd, but works quite well. I don't pay attention to it much, unless I'm writing an init script.
I'm switching to GuixSD. Fortunately I have an old laptop and can build up my system there until I feel confident enough to do the real switch.
Pros I have encountered so far: booting in 20 seconds. Nice, although small, community. Scheme is cool. When the time comes, I will just need to copy two text files (and my dotfiles) to the main laptop, and my system will be (theoretically) the same, and it will be (theoretically) unfuckable.
Cons I have encountered so far: some kinks that were quick to research and fix while on an Arch-based distro, now are a bit more of a pain (but most of them in the fun way at least). For now I have given up trying to make the Thunar archive plugin work and switched to PCmanFM. Also I had to install Logseq as a flatpak. I have started very recently and I have not installed much yet so no idea about the impact on gaming.
ETA: there's !guix@lemmy.ml and !guix@infosec.pub on Lemmy.
20 seconds isn't that fast...
I'm using Fedora on a sata SSD and mine boots in about 15 seconds. My laptop running Ubuntu on a sata SSD is about 17. Both running normal systemd
edit: i just timed ubuntu at 12 seconds. i do not have luks encryption though
Oh I thought it was.
ETA: that includes me typing the LUKS password.
I remember booting Gentoo in about 7 seconds to the GUI desktop around 2013. A lot more than systemd has changed in the Linux ecosystem since then. It feels like everything has gotten just a little slower.
In Fedora, and other distros using Systemd, potentially in some distros that don't use Systemd as well, using tools like dracut or mkinitcpio you can enroll TPM2 to Secure Boot and seal TPM to NOT request LUKS password every boot.
I'm currently using systemd, but have been strongly contemplating a migration to Void, which would have me using runit
I had problems with virtualization in Android Studio (I don't plan to use it anymore as it's spyware) on Void Linux, but I love runit.
I installed Void on my laptop to learn it, loving it so far.
On my gaming desktop I'm using Devuan, but I have room for additional distros so I'll definitely dual-boot Void as soon as I feel confident with the basics.