27 ms·
Systemd, 10 years later (2020)
- zh3 5y agoIt's not as bad as at first feared. Views here are along the usual lines; for many when there's an issue either it's something that's fixable inhouse (init scripts) or needs a support contract. Having said that, personally (old school) I lost 2 or 3 hours yesterday due to not realising systemd was changing things I changed for a reason.
- na85 5y agoIt's not so bad now. You might be forgetting how bad it was at first. In fact I'd argue it was worse than initially feared, and the developer's supreme arrogance did little to help.
- opan 5y ago>I lost 2 or 3 hours yesterday due to not realising systemd was changing things I changed for a reason. This is one of my go-to reasons when people ask me why systemd is bad. Once it overrode power settings I had configured in xfce-power-manager. Mainly I wanted the lid close to do nothing on AC power and to sleep on battery. It started sleeping for everything after an update once. I think in the end I couldn't figure out how to get the exact desired behavior with systemd and I disabled sleep entirely. The other reason I often mention is the ridiculous shutdown timer thing that makes you wait for minutes sometimes for some service to end. The main advantage to systemd is that a lot of unit files were already written and packaged with stuff, including --user variants, and also that it has a user mode at all (OpenRC doesn't yet). Fairly minor advantage, imo. In general I prefer shepherd, runit, or openrc. My needs are pretty simple, though. Most of the time I just need to start/stop/restart a service, which is pretty simple in every init system I've used.
- cookiengineer 5y agoI'm curious...what happened with the override or how did systemd modify its unit files? Is it something like a forgiving parser going rogue in an edge case? The only thing I could think of is a systemd default setting that was added to logind.conf or something similar...that's why I'm asking.
- blueflow 5y agoWhen waiting for units to shut down, have you tried pressing Ctrl+Alt+Delete 7 times? It forces a reboot, and you can turn the machine off before linux has taken over again.
- zozbot234 5y ago> have you tried pressing Ctrl+Alt+Delete 7 times? It forces a reboot Not sure if serious? At that point, how is that any better than just using Windows? "Press Ctrl+Alt+Delete 7 times" has long been SOP there.
- blueflow 5y agoSee https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d1ca11270e66777c90a449096203afebc37ec9c#n610 https://cgit.freedesktop.org/systemd/systemd/tree/NEWS?id=2d... Color me as part of the anti-systemd crowd, but i still got to support it on machines where i didn't get to choose.
- ReactiveJelly 5y agoAh, someone scooped me! Just confirmed it in the docs https://www.freedesktop.org/software/systemd/man/systemd.html#SIGINT https://www.freedesktop.org/software/systemd/man/systemd.htm... I didn't even know Windows did this. This is going to save my butt some day.
- nyanpasu64 5y agoPressing Ctrl+Alt+Delete 8 times (I think, 7 times to increment the counter, then 1 more time to trigger a force reboot) sends SIGTERM or something to all processes. But many wedged processes (like kwin calling a Nvidia libglx function trying and failing to acquire an spinlock) ignore the signal and can only be killed with SIGKILL, which systemd sends a few minutes after you press Ctrl+Alt+Delete 8 times. I work around this by enabling Alt+SysRq and pressing Alt+PrintScr+R (raw input), E (SIGTERM), I (SIGKILL) whenever systemd gets wedged.
- asimops 5y agoFor the shutdown, do you use systemctl poweroff? If so, and you are sure that there will be no dataloss, you could use the --force parameter. https://man7.org/linux/man-pages/man1/systemctl.1.html https://man7.org/linux/man-pages/man1/systemctl.1.html
- marcodiego 5y agoSystemd pissed off many people. For me and most users, the transition was fully imperceptible. With the difference that systemctl tools seem to work better for what it does than the many sparse different tools it replaced.
- api 5y agoIt’s a functional improvement over old init, but the thing I hate about it is how unnecessarily arcane it is. It seems “designed for job security” or more likely designed for consulting revenue. There is absolutely no need for its command names and everything else about it to be so counterintuitive.
- rnd0 5y ago>It seems “designed for job security” or more likely designed for consulting revenue. Exactly this, yes; and that's why it was pushed the way it was. I dread the day when systemd or an init system just like it consumes the BSD world.
- api 5y agoI feel the same way about Postgres. It's powerful but it's insanely arcane and full of land mines and footguns. It's great for forcing you to hire consultants, DBAs, or pay cloud providers a lot to run it for you.
- AceJohnny2 5y ago(2020) See lively discussion from last time: https://news.ycombinator.com/item?id=23062072 https://news.ycombinator.com/item?id=23062072
- cf100clunk 5y agoOf all the topics for which we do not need dupes, this one is a perfect example. Don't people use HN's search tool?
- dang 5y agoOn HN, reposts only count as dupes if the story has had significant attention in the last year or so. This is in the FAQ: https://news.ycombinator.com/newsfaq.html https://news.ycombinator.com/newsfaq.html. (but also, it's true, people tend not to use HN search before posting)
- GekkePrutser 5y agoMaybe there could be an auto search with a warning when posting a link? Saying "hey this has already been posted" and a summary of those rules. But you have probably thought of this already and didn't do it for a good reason. In this case I hadn't seen it before so it was news to me.
- kergonath 5y agoTrying to post a dupe often results in nothing being posted and the original submission being opened instead. I have no idea how accurate the thing that checks for dupes is, though, or on what criteria its decision is based.
- GekkePrutser 5y agoOh ok I've only ever posted questions. I just assumed it didn't because I have seen a lot of dupes (also recent ones). But I guess making it too wide would create false positives.
- usrbinbash 5y agohttps://www.reddit.com/r/archlinux/comments/4lzxs3/why_did_archlinux_embrace_systemd/d3rhxlc/ https://www.reddit.com/r/archlinux/comments/4lzxs3/why_did_a... quote: "What most systemd critics consider "bloat", I consider necessary complexity to solve a complex problem generically." endquote
- dredmorbius 5y agohttps://old.reddit.com/r/archlinux/comments/4lzxs3/why_did_archlinux_embrace_systemd/d3rhxlc/ https://old.reddit.com/r/archlinux/comments/4lzxs3/why_did_a...
- zozbot234 5y agoFor what it's worth, the OP argues the opposite - that systemd is insufficiently generic. Much of its complexity is a matter of conflating mechanisms and policy. This is par for the course for what's essentially prototype-quality software that's trying to address a number of non-trivial issues - but let's not pretend that real improvement is not possible here, or that systemd-as-it-currently-is does not stray from what's often called 'the UNIX philosophy' or 'the art of UNIX programming', of which separating mechanism from policy is a key component.
- pas 5y ago> separating mechanism from policy as a key component of unix philosophy Can you please elaborate on this? It sounds like a very desirable approach, but I don't really see it "in unix". (I can think of a few program suites that use processes and piping between them as the "protocol", eg. cups, the executable files in a directory that are then launched in a loop pattern is more common, but that seems to lack the policy part. Whereas OpenSSH for example lacks this.)
- rjzzleep 5y agoI use archlinux as a daily driver, but it breaks far more randomly than gentoo ever did for me. Archlinux's bugzilla is full of random breakages that happen at random system updates. Here's a random python bug that been happening, cost me a couple of hours to debug and for now I don't update python until they get around fixing it[1]. The fix? Download an older python version(not too old since that would break everything else) from the arch package archive. I don't want to hear anything about stable or production systems or debugging from arch maintainers. Every so often I forget the journalctl and coredumpctl command line flags and have to google how to do basic tasks. [1] https://bugs.archlinux.org/task/73002 https://bugs.archlinux.org/task/73002 EDIT: and before someone asks me why i'm using it, it's because i lke tinkering and for the most part i can deal with these "outages" on my laptop.
- deleted 5y ago[deleted]
- mongol 5y agoHow does it work in a Kubernetes world? I found today that "systemctl stop k3s" actually did not stop all k3s dependent processes. A separate script was supplied to do that. So on a Kubernetes box there are processes running in namespaces that systemd does not manage?
- fuzzy2 5y agoNot sure what you’re asking about. If Systemd didn’t start it, Systemd doesn’t manage it. Nothing strange about that…? Systemd does not start all the Kubernetes stuff. k3s could stop everything, but it doesn’t. It’s a design decision.
- mongol 5y agoIt did start it. For example the k3s process did start a container registry, but it did not stop it. I thought one of the points of systemd was that it would reap parentless processes
- c0l0 5y agoWhich processes systemd allows to live on after stopping an associated service depends on the kind of KillMode= (see systemd.kill(5)) that was specified for the service unit. The default ('control-group') is usually what you want, esp. if you are looking to not recreate the kind of chaos improper process management SysV-style init scripts frequently caused. Chances are the k3s service unit specifies something else (like 'none') - whether or not that is actually wise would probably require some research.
- mongol 5y agoThanks for explaining that. My comment was not a criticism against systemd, more a surprise that k3s did something that was not expected by me when I interacted with it through systemd. For example, httpd does not supply a kill-all-httpd.sh script as far as I know. Perhaps there are systemctl verbs that can be added to support what k3s devs apparently thought neccessary to implement in a separate script.
- an_d_rew 5y agoThis was an amazing review, and love systemd or hate it, this article gives a fantastic history and exposition of what systemd actually is. My favorite quote (and when taken in context is much less tongue-in-cheek thank you might think): systemd is an event-driven object manager with dependency-like side effects which ‘boxes’ primitive kernel resources and userspace subsystems into a generic object type called Unit. These Unit objects are scheduled through the state propagation mechanism of ‘jobs’ and dynamically dispatched via a singleton object called Manager, responsible for launching jobs in ‘transactions’ which do merging, cyclic ordering and consistency checks and serve as the main point at which unit dependencies are pulled in. Unit startup is executed as a non-indempotent parallel dataflow with weak ordering guarantees on the job level, mostly independent of the active state of dependent units. Any night you have insomnia, just read that a few times and you'll be out like a light! :-)
- throwawayboise 5y agoIt reads like an over-eager developer read Design Patterns and then was tasked with writing a new init system for Linux.
- throwaway984393 5y agoHis name is Lennart Poettering, and apparently he was tasked with reinventing the entire operating system
- akagusu 5y agoI am old enough to remember that problems with systemd were less technical and more political. People didn't like the way systemd developers pushed the community to adopt systemd, specially when they asked for 3rd party developers to make systemd a hard dependency. Unfortunately,people don't remember this today, and think users resisted to systemd adoption only because they didn't like systemd.
- goodpoint 5y ago> enough to remember We are talking 10 years ago, not 1975 here. Unless everybody is 25 years old on HN...
- int_19h 5y agoOr they weren't using Linux 10 years ago?
- jandrese 5y agoSystemD is kind of like MacOS, if you have a typical use case then it makes everything very easy. If you are doing something weird it can make your life a living hell.
- Denvercoder9 5y ago> If you are doing something weird it can make your life a living hell. I find it much easier to reliably accomplish non-standard things with systemd unit definitions, than it used to be with the ill-defined complex set of shell scripts we had before.
- jcrawfordor 5y agoThis issue is a lot bigger outside of services... I think the systemd service architecture is a clear improvement over SysV. The bigger issues I run into with systemd flexibility are related to the many other aspects of it. systemd-resolved, for example, has a very "opinionated" (to be polite) set of expectations about the environment and the systemd project tends to view any complaints about it not working outside of that environment as being the fault of the complainant. This leads to, well, DNSSEC is basically just broken and split horizon DNS is extremely unreliable. The former is sad but mostly doesn't matter, the latter leads to a lot of corporate networks having to disable resolved (I think configuring it to remove the semi-hardcoded "backup" resolvers reliably fixes this problem but honestly I find it completely ridiculous that resolved has a hardcoded list of DNS servers it just uses instead sometimes. It's unclear to me whether or not that's a bug at this point and I got tired of trying to follow the issues and mailing list threads where the developers were, uh, not amazingly helpful). systemd management of mounts can be similarly narrow about the types of configurations it supports, and systemd-firewalld just sort of openly only claims it can support simple use-cases. systemd-journald is also a net loss of flexibility compared to rsyslog but, on the other hand, rsyslog could quickly turn into an inscrutable mess if you used any of the advanced features (rainerscript...), so this may not be an entirely bad thing. And in general systemd is, well, opinionated. I hate to bang on resolved too much but I just happen to have spent quite a few hours last week figuring out resolved problems. Resolved does not handle "dotless" domains correctly in a lot of existing environments (it's very particular about exactly how the search domain is set up). Poettering has basically responded that it's because dotless domains are stupid and no one should use them, so it won't be changed. I don't necessarily disagree that dotless domains are not a good idea today but it does mean that resolved breaks a lot of older corporate and institutional environments that have been using them successfully for decades. This manifests as "I updated my distro and the intranet stopped working." That kind of breaking change is not very common with core Linux services and isn't going to make many friends in the IT crowd.
- The_rationalist 5y agogood read
- tarkin2 5y agoThe hatred for Systemd seems to come from those who see the unix philosophy of small, single use programs being thrown away in favour of a monolith. Back when I had linux as a desktop (around the day of slackware 10) there were plenty of problems with simple stuff like mounting usbs, connecting to wifi etc--possible but a pain. I've hardly looked at systemd or linux in such a way for a long time, however.
- kzrdude 5y agoI'm not sure, it seems to me that the hatred for systemd seems to come from those that learned something else and don't want to learn systemd. My analysis would be that the "unix philosophy" is just a convenient argument against it.
- Gigachad 5y agoLinux users tend to come up with whatever "philosophy" suits their agenda of complaining about all change. The unix philosophy gets thrown out the window as soon as it comes to Wayland which took a huge, bloated, and buggy Xorg and broke it down to something more sane and manageable.
- hedora 5y agoDoesn’t wayland force window managers to be integrated into some behemoth bloated monolith? My preferred WM is evilwm. I read the entire source to it in a few hours, and occasionally edit the source when I want to customize it for my odd workflows. I don’t think that’s possible with wayland. Also, wayland forced a bunch of questionable security policies around screen capture and keyboard handling, and didn’t provide escape hatches required for basic functionality. Is that fixed yet? I stopped paying attention years ago, to be honest.
- Gigachad 5y agoWhat Wayland changed is that Wayland is not a piece of software like Xorg was. It is simply a specification. Which means you don't have potentially have a 100 line C program as your wm which just relies on xorg to do the heavy lifting. KDE and Gnome have their own wayland implementation but this isn't really a problem. You can still write you minimal WM because their is a project called WLRoots which does the same job as the old x11 package. It lets you trivially interact and be compatible with the wayland spec without having to implement it yourself. Screen capture and keyboard privacy is essential for the future of linux IMO. I don't know the exact state of it but I did not have any issues screen sharing with wayland compatible apps. There were some issues with x11 only apps but I think PipeWire solved that.
- LAC-Tech 5y agoI don't actively hate systemd, but the distros I use these days (Void and Alpine) don't use it, so neither do. I'm generally a fan of simple systems that don't do much controlled by simple text files. Maybe systemd is way better at runit for more complex workloads than a desktop or a simple server. But maybe it isn't. The intersection of people who like systemd and have tried runit is probably quite a small one!
- cmurf 5y agoIf something were to be proposed as a systemd replacement today, I'm pretty sure I'd treat it with a lot of skepticism. I likely would use arguments the sysv folks made like "why fix what isn't broken" etc. Excluding the kooks angered enough to send hate mail to the systemd developers, I can understand the old criticisms and aggravation from sysv folks. I was front and center as a relatively new user of Fedora at the time systemd was adopted. While I was familiar with sysv, I wasn't attached to it. I also found sysv a lot more confounding and obscure than systemd in the early days, even though the transition did have rough spots. But I'm definitely attached to systemd now.
- zodiakzz 5y agoI miss Systemd inside Docker containers so much. IMO, for an app, "one-process per container" is a huge pain and very messy. I have a massively popular software to back up that claim: https://github.com/discourse/discourse_docker https://github.com/discourse/discourse_docker I use phusion/baseimage-docker[1] right now, love every bit of it. Having the database, web server(nginx) and the java backend all in one place works beautifully. The only pain point is having to write `runit` scripts for startup and shutdown for each service, hence the wish for Systemd inside containers. 1: https://github.com/phusion/baseimage-docker https://github.com/phusion/baseimage-docker
- cesarb 5y agoYou can use systemd inside Docker containers. There are images (like RedHat's ubi8-init) which start systemd by default, and there are others which can be easily adapted to start systemd (for instance, the following 3 lines for a Debian image which starts systemd: "FROM debian:10", "RUN apt -y update && apt -y install systemd-sysv", "CMD ["/sbin/init"]").
- tracnar 5y agoPodman supports running systemd units inside containers: https://developers.redhat.com/blog/2019/04/24/how-to-run-systemd-in-a-container https://developers.redhat.com/blog/2019/04/24/how-to-run-sys... One process per container is indeed strange in a lot of use cases, you lose the self-contained advantage of a container...
- topspin 5y agoThank you for that link. That is eye opening.
- SahAssar 5y agoHave you tried nspawn? Its part of systemd and integrates beautifully with the rest of systemd (for things like journald, networking, etc.) and is basically meant for what you requested.
- mnd999 5y agoIt’s tolerated because it was forced upon people by distros. I don’t know anybody who likes it, and I would happily rip it out if it wasn’t so much work to do so.
- beefee 5y agoThis is an important document and the best piece of writing I've ever seen on the topic of systemd.
- NotAWorkNick 5y ago".... and found that someone was about to release TCP/IP for Linux" (Fred van Kempen, linked interview 1992) Wow. I had forgotten how ropey early Linux was. I mean, I rip on Windows folk about early versions of Windows prior to 98SE or NT4 (and can recall having to install Winsock on a home Win95 install and thinking why the hell????) but finding out 30 years later that my early struggles with Linux were not entirely down to my own incompetence is ... refreshing. I mean how do you Google (ok in those days Altavista!) a "how to" if the network stack is borked? How do you even download the drivers or updates if the interface fails to come up? It sounds silly but I'm so glad to know it wasn't something I was doing wrong on my end. 30 years later and dayamn!
- wruza 5y agoHave a spare generic PC or make sure you didn't mess double boot. Heck, now I don't understand either how we fixed network issues when phones could only play midi or call a friend for support. Good handbooks were a rescue.
- pkrumins 5y agoThe first thing that I do when I setup a new server is rip systemd out completely and replace it with regular sysv init scripts.
- generalizations 5y agoIt would be interesting to see Systemd compared to other modern init systems, like runit and the FreeBSD init. Seems like 2021 Systemd is being mostly compared to 2000's Upstart and Sysvinit.
- xarthna 5y agoI used systemd for a time, and after looking into all the documentation I found it hard to understand and it's scope overreaching. It doesn't stand by the unix philosophy of mechanism not policy and is prescriptive in it's inplementation. As another comment stated, the politics behind how it was pushed never sat right with me and I believe it is leading the Linux community to vendor lock in. I have been using s6 on Artix and find it a great init system and service manager with a clear cut design goal of knowing where to stop. It does what it is supposed to do and no more - by design. It doesn't have the user friendly interface of systemctl but that is being currently worked on. If one is looking for an alternative to systemd, I think it is an excellent option to consider.
- tremon 5y agoAnother happy s6 user here, and pretty much for the same reasons. I like the clear supervision process tree it creates. I'm not sold on the execline syntax, but it's relatively clean and easy to work with and since I already use a configuration management system, generating custom startup files (from a single template) isn't that much of a challenge. I'm currently exploring how to generate minimal service environments from Guix package manifests. Being able to spawn svscan as a child under the root supervision tree means I can create each environment with its own service directory, and never worry about cross-contamination from whatever else is on the host.
- rfraile 5y agoAny distro with s6 as default init manager?
- xarthna 5y agoI'm not sure of any distros that have default s6, but Artix[1] allows you to pick your init/service manager. It is what I used and I am very happy with it. [1] https://artixlinux.org/ https://artixlinux.org/
- rahen 5y agoAlpine is working on it: https://skarnet.com/projects/service-manager.html https://skarnet.com/projects/service-manager.html
- wruza 5y ago10 years and I still can't figure out how to view custom service logs, darn, so I redirect them into a logfile.txt in my .service files. Well, okay. I don't care how it works and didn't take part in condemning it back then either, and I think that probably it made something better (? not that I felt it), but from a pure sudo-user perspective it is a strange ini-based tech-ridden(?) launcher to me. I've managed small networks before it and haven't really experienced any trouble that it supposed to remove(?). Tldr: I still don't know what it is and what is it for. Servers worked before and after it, maybe that is already a good experience.
- chungy 5y ago> 10 years and I still can't figure out how to view custom service logs journalctl -u custom-daemon.service (you can usually leave out the ".service", but it helps disambiguate when you have different unit types under the same name)
- wruza 5y agoI bet that exactly this didn't work last time I tried. I even made sure the program didn't buffer it's stdout.
- guilhas 5y agoPeople using non Systemd distros, like Gentoo, Guix and other, are missing anything important?
- xarthna 5y agoFWIW, I use Artix as a desktop distro and am not missing anything. I use s6 init and it is extremely stable.
- dreich 5y agoI never became comfortable with neither the scope of systemd as a project, nor the ever expanding set of skills required to effectively use it. I was tempted to use the word mastering, but that would make the goal seem even more elusive, especially since with every new version one's knowledge would have to expand to cover its new features. 10 years later, it still looks to me like the project with a solution for everything in the IT industry, following trends, trying to cover all the bases. Always new things to learn, always the goalpost moving further and further.
- kaba0 5y agoYou don’t have to “master” it, but just understanding the basics of what is a service file will make your everyday life much better if you are working with systemd-managed systemd. Also, don’t get bogged down by systemd-* services, they are related but are usually not part of systemd at all.
- panick21_ 5y agoI was confused when this cam into Arch Linux. I was new to Linux so I didn't know anything so it pissed me of that some stuff stopped working. However I quickly learned and then it was mostly a non issue. I was confused when years later there was still push against adoption by other distors.
- throwawaymanbot 5y ago
- teleforce 5y agoThis is the latest book on systemd and Packt is having its yearly USD$5 eBook sales at the moment[1]. [1]Linux Service Management Made Easy with systemd: https://www.packtpub.com/product/linux-service-management-made-easy-with-systemd/9781801811644 https://www.packtpub.com/product/linux-service-management-ma...
- flippinburgers 5y ago- Too much overreach in functionality. - The developers had a condescending approach and ignored the wider community. - Simple things like log files no longer being plain text. Obtuse. - Arguably designed to inject unneeded complexity that will cause money to flow into big orgs. 1.2 million lines of code vs shell scripts. Just wow.
- bfrog 5y agoI think one of my favorite systemd features is nspawn.
- phendrenad2 5y agoThe systemd "culture war" is just a side-effect of the hegemony server Linux enjoys over desktop Linux. A very small percentage of sysadmins really care about what init system is running on their servers. If you look at who's forking distros and making systemd-free variants, and look at who the vocal anti-systemd users are, they're overwhelmingly desktop-focused users. But this is strange because desktop Linux barely needs an init system at all. The long-running daemons on a desktop Linux system only need be started on startup, if they crash, restarting them is unlikely to leave the system in a workable state anyway. However, because server Linux dominates the Linux ecosystem discourse and distro news, people have an inflated view of how important these components are. So my take-away has been: it's safe to ignore systemd criticism, since it's overwhelmingly coming from hobbyists who have no real use for an init system anyway.
- Arch-TK 5y agoVehement systemd defence also overwhelmingly comes from hobbyists who have no real use for an init system anyway. In fact, this whole argument is crap, most hatred of sysvinit comes from people who have never used it, is that a reason to discard all criticism of it? Of course not. I have had enormous issues with systemd, not when using it for desktop purposes, but precisely when using it for server applications. As an example, systemd can't handle a service which depends on a specific network interface (or specific bind address) before being brought up and the systemd developers blame the software for not listening to rtnetlink events or not relying on linux specific socket options[0]. This is unacceptable, it makes it incredibly difficult to run systemd on hosts connected to multiple segregated networks without lots of dirty tricks involving firewalls. [0]: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ https://www.freedesktop.org/wiki/Software/systemd/NetworkTar...
- Too 5y agoOne could argue for the opposite also. On server side everybody uses containers anyway and has no use for an init system beyond docker-compose or k8.
- junon 5y agoThe only bit about SystemD I'm not fully sold on is D-Bus. I love that everything is exposed via D-Bus, but the C API is incredibly difficult to reason about. I've tried writing some higher-level bindings for it and it's still pretty difficult to get right. Perhaps at some point they'll switch to something that's established instead of maintaining their own IPC protocol.
- Arch-TK 5y agoI've tried writing higher level bindings on top of libdbus. Once I realised that libdbus was not designed for writing reliable or sane software (there's an error? there's an error! what is it? who knows) I decided to try writing my own implementation of the dbus protocol (the intention was to write C code generators for automating away writing a lot of the boilerplate). Once I had read the specification once I gave up. dbus is the most hideous protocol and most hideous library, its ONLY advantage is its ubiquity.
- junon 5y agoYep. Sounds like we went down pretty much exactly the same path. I came to the same conclusion after attempting the same thing.
- awrmc 5y agoI disagree with this, in my experience D-Bus is very similar to other IDLs like DCOM, protobuf or ASN.1. If you're familiar with those, D-Bus should actually be easy in comparison.
- awrmc 5y agoD-Bus is the established IPC on desktop Linux. The libdbus library is pretty old and not great, you'll have better luck using one of the other implementations. I can recommend a few: - GDBus, if you're developing for GNOME - QtDBus, if you're developing for KDE - sd_bus, if you're writing low-level C - zbus, if you're using Rust For other languages, you'll want to look for bindings to one of those libraries, instead of bindings to libdbus.
- heurisko 5y agoThe thing I would like is a program that can browse journalctl files, but from other operating systems.
- kaba0 5y agoBe the change you want to see. It is a trivial binary format, not some DRM. Also, you can store plain-text logs as well if you prefer by exporting journald’s output.
- greatgib 5y agoSystemd is like Windows. A monolithic one size fit all big shit. Most people will tell you that they are perfectly fine and the system is great. But they are just used to all the issues they are encountering or don't realize that they are caused by that. Lots of people are not surprised when you tell them that pulseaudio was created by the same author. Because it is kind of working in most cases. But there are always, aside, a lot of annoyances or things that work badly without a real justification: hard to fix and understand what is going on when it doesn't work; sometimes it decides alone to not use or not show the output/input that you want and you have no possibly to decide; sometimes it is using 10% of your CPU despite the fact that you are not playing a single sound at the moment,...
- pjmlp 5y agoLink the commercial certified UNIXes that adopted first such ideas, you mean.