Has modern Linux lost its way? (Some thoughts on jessie)

For years, I used to run Debian sid (unstable) on all my personal machines. Laptops, workstations, sometimes even my personal servers years ago ran sid. Sid was, as its name implies, unstable. Sometimes things broke. But it wasn’t a big deal, because I could always get in there and fix it fairly quickly, whatever it was. It was the price I paid for the latest and greatest.

For the last number of months, I’ve dealt with a small but annoying issue in jessie: None of Nautilus, Thunar, or digikam (yes, that represents Gnome, XFCE, and KDE) can mount USB drives I plug in anymore. I just get “Not authorized to perform operation.” I can, of course, still mount -o uid=1000 /dev/sdc1 /mnt, but I miss the convenience of doing it this way.

One jessie system I switched to systemd specifically to get around this problem. It worked, but I don’t know why. I haven’t had the time to switch my workstation, and frankly I am concerned about it.

Here’s the crux of the issue: I don’t even know where to start looking. I’ve googled this issue, and found all sorts of answers pointing to polkit, or dbus, or systemd-shim, or cgmanager, or lightdm, or XFCE, or… I found a bug report of this exact problem — Debian #760281, but it’s marked fixed, and nobody replied to my comment that I’m still seeing it.

Nowhere is it documented that a Digikam mounting issue should have me looking in polkit, let alone cgmanager. And even once I find those packages, their documentation suffers from Bad Unix Documentation Disease: talking about the nitty-gritty weeds view of something, without bothering to put it in context. Here is the mystifying heading for the cgmanager(8) manpage:

cgmanager is a daemon to manage cgroups. Programs and users can make D-Bus requests to administer cgroups over which they have privilege. To ensure that users may not exceed their privilege in manipulating cgroups, the cgroup manager accepts regular D-Bus requests only from tasks within its own process-id and user namespaces. For tasks in private namespaces (such as containers), SCM-enhanced D-Bus calls are available. Using these manually is not recommended. Rather, each container is advised to run a cgproxy, which will forward plain D-Bus requests as SCM-enhanced D-Bus requests to the host cgmanager.

That’s about as comprehensible as Vogon poetry to me. How is cgmanager started? What does “SCM-enhanced” mean? And I even know what a cgroup is.

This has been going on for months, which has me also wondering: is it only me? (Google certainly suggests it’s not, and there are plenty of hits for this exact problem with many distros, and some truly terrible advice out there to boot.) And if not, why is something so basic and obvious festering for so long? Have we built something that’s too complex to understand and debug?

This is, in my mind, orthogonal to the systemd question. I used to be able to say Linux was clean, logical, well put-together, and organized. I can’t really say this anymore. Users and groups are not really determinitive for permissions, now that we have things like polkit running around. (Yes, by the way, I am a member of plugdev.) Error messages are unhelpful (WHY was I not authorized?) and logs are nowhere to be found. Traditionally, one could twiddle who could mount devices via /etc/fstab lines and perhaps some sudo rules. Granted, you had to know where to look, but when you did, it was simple; only two pieces to fit together. I’ve even spent time figuring out where to look and STILL have no idea what to do.

systemd may help with some of this, and may hurt with some of it; but I see the problem more of an attitude of desktop environments to add features fast without really thinking of the implications. There is something to be said for slower progress if the result is higher quality.

Then as I was writing this, of course, my laptop started insisting that it needed the root password to suspend when I close the lid. And it’s running systemd. There’s another quagmire…

Update: Part 2 with some reactions to this and further thoughts is now available.

120 thoughts on “Has modern Linux lost its way? (Some thoughts on jessie)

  1. i have a similar problem with session management on just one of my systems. It works perfectly on three other systems here at home (two sysvinit, one systemd laptop), but on this one machine (sysvinit) I can not login from lightdm – every time i do, it accepts the password but then logs out again immediately. Instead, I have to login on a VT and run startx. what makes this particularly annoying is that there is no hint anywhere in the logs about what is going wrong – even auth.log just shows session started, immediately followed by session closed. i have no idea what’s causing it and it feels like the only way i might get it working again is to reinstall from scratch (the microsoft method of system repair). btw, this happens for all users on the system, even freshly created users, so it is not caused by broken or obsolete dot files in my home dir.

    Reply

  2. Steve, the argument that you continue to use here, is called the *appeal to modernity fallacy.*

    This is a fallacy which states that anything which is new, is claimed to be superior to that which is old, *exclusively because it was new.*

    Someone else made some comments above about change purely for change’s sake. In other words, systemd, polkit and the various components like it, are being introduced almost exclusively because they are “new,” or “modern.” They do not solve problems; they only create problems which did not exist before.

    Please go and read said comments above. Understand also that you are making a primarily emotive argument here, and not a rational one. The appeal to novelty is a fallacy for a reason.

    Reply

  3. You know, I am in the same situation. I have converted my desktop to dual boot Debian/sid with PC-BSD. I find that I spend most of my time in pcbsd now. I only reboot into Debian on this machine when I have to grab something I forgot.

    My problem with systemd is that it is a solution in desperate need of a problem. I have been a sysadmin for 20 years, and never had (or heard) the conversation that “my init manager doesn’t do enough…”

    And as with the author, I have had many things seem to stop working randomly on different machines. On my laptop, running sid, there is no way to log out of kde. I have to kill kdm, then when the login screen shows up, shut down that way.

    I’ve had boots that paniced because of systemd. I reboot and the system comes up fine. And I’ve had it panic because it can’t find /bin/plymouth, which has never existed on my system.

    I’ll continue to explore BSD, and keep my options open.

    Reply

  4. Actually, there are a TON of problems that systemd addresses. They just aren’t apparent if you work on a system where everything is static and never changes.

    In a world where internet connections come and go, devices come and go, suspending, hibernating, etc.. Systemd shines. The BSD folks have acknowledged the init problem is very real, and have said they need something that does what systemd does. People on the anti-systemd ridiculous bandwagon need to get over it, and start learning again.

    Systemd is good, really good. It’s service files are simple to write and understand, it intelligently handles service states, dynamic services, and avoids collisions.

    The real problem with linux is distros, and that’s it’s incredibly difficult for developers to put their software in the hands of users, because they have to compile binaries against a multitude of different versions of the same libraries across distros and releases. It’s absurd. I’m with Linus on this one, just statically link/ship your package with the binaries you need, and let it run in its own space. We need to move on from the shared libraries approach. Disk space/storage is not at a premium/challenge.

    I think the BSDs are great – but the device support just isn’t there. I’ve got an intel wireless chipset in my almost 2 year old laptop that still isn’t supported, and likely never will be, since the only guy who writes the intel drivers has lost interest in doing them.

    Reply

    Storm Reply:

    I wouldn’t say my systems are static and never change. I have a Debian/sid laptop that I take from my home network to my work network to various wifi points. I had suspend working just fine. Things were working for me. Then systemd (which has had a large number of critical and grave (system breaking) bugs in the past several months) came along, and I have seen a number of strange things happen on my systems, such as the log out problem I mentioned on my laptop, such as my desktop (and my laptop) having systemd stop the boot. On the desktop, claimed it was a missing /bin/plymouth, which has never, to my knowledge, existed on my Debian boxes. I looked at the logs, and rebooted, and the system came up normally. Something similar happened to my laptop, though I don’t remember what it was.

    And the SuSE build studio has gone a long way to close the gap between developers and users.

    As for the BSDs, and their support, they are about where Linux was 10 years ago. I believe there will be a tipping point for that support, as more users come to BSD…

    Reply

  5. FreeBSD/OpenBSD is no option for me.

    I don’t want to go thru a text installer to try them out, I want a live-cd with a gui!

    That’s why I tried PC-BSD, but none of my machines booted with them to the desktop.

    So I would say the BSD hardware support is far worse then the Linux hardware support.

    And if that is not changing, and I don’t see that, the adopting rate of BSD will stick to nearly 0.

    Reply

  6. I do agree with overall disappointment. I am a big linux fan, but my frustration is increasing with time.
    I see far too many new features introduced while old problems persist.
    – stupid gui transitions trying to mimic windows robustness (fading in/out) which only slows slow things more. Disabling them is a challenge.
    – desktop crashing (for instance, one application crashes and all you see will be background only)
    – autostart complicated (each desktop has own configuration files)
    – mounting usb is broken, permission errors and other unknown problems. I recently use windows only to format my usb sticks, becase linux can’t cope with it and I end up with unusable usb stick most of the time.

    All I want to say is this
    LINUX DESKTOP NEEDS QUALITY CONTROL!
    There is no quality. Only “it works for me”.

    Reply

  7. I can see why you would interpret this as linux losing it’s way, but I find there are many other reasons as to why linux might have lost it’s way.

    Ubuntu is one of them.

    Reply

  8. What you are experiencing are just bad documentation and unhelpful messages. People experienced the same problems ten years ago. Those days people had to wander through programs and tools they did not know and did not really care about, encountering more meaningless man pages, vague error messages, no error messages, obsolete tutorials on webs, superstitious advice on forums and so on.

    The solution was: people should learn how their system works, should learn how to read mind programmers’ mind and so on. Your problem is not related to anything being modern.

    You seem to be quite knowledgeable – in Unix sense, and willing to get hands dirty, I guess you too were providing such advice ten years ago. If I guessed right, then you are tasting your own medicine.

    By the way you are not fixing bugs. You are experiencing bug where a software screwed some mounting permissions. So it is the software that should be fixed (for everyone), changing configuration of your system merely hides a manifestation of the bug.

    Reply

  9. After fully experiencing the totally awesome systemd on a CentOS7 server I going to go back to Slackware. The move to the new box was 98.9% good. But is was the other 1.1% that was frustrating and a waste of an 80 hour workweek. I’d explain why systemd suck but the fanboys could care less. Hey – my system boots fast so it must be good. Meh.

    Just installed Slack 14.1 on a test box – and it’s what Linux should be. F’ Poettering, Redhat, and SystemD.

    Reply

  10. wow guys. debian, and linux in general are working better out of the box than ever before in the last 20 years..

    anyway remove or comment out the fstab line that deals with usb device. let the automount deal with it. i have had to do this with all the machines i installed while jessie was testing, but if i remember correctly it has not been necessary since stable, as the line does not appear on install anymore.

    i guess this post is lost in the bowels of this thread, but there it is.

    Reply

  11. Joining the Debian posse (from wheezy to jessie) a bit late as an average PC user, and although Debian has given me several tiny “issues” that Linux Mint 14 thru 17 did/does not, I must say I quite like Debian (with LXDE, since awful Gnome 3 runs an itsy bitsy teeny weenie bit slow on this Pentium dual-core machine I have).
    December 2015, and I’ve no problems to report with jessie (8.2), including USB flash drives.
    Debian rocks!
    Pun intended :)
    (Oh, FreeBSD 10.2 stinks, first time I installed it, reboot gave me a “cannot-load-operating-system” error or sumthin’. Pity, but never mind. Linux Mint 17.1 and Debian 8.2 it is.)

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *