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.

128 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.

  2. 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.

  3. 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.

    1. 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…

  4. I had a similar issue but with a different setup and it took me a while to understand what the issue is.

    See http://forums.debian.net/viewtopic.php?f=7&t=120167 from the travails I got. It should have said somewhere that the port is 1.1 and not 2.0 but this kind of thing is not available. While I could do that, but for a newbie I don’t think he would be able to do that and he shouldn’t have to do that.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.)

  10. Wayland, systemd, X… there’s a load of code in Linux that’s really starting to show its age, so some are trying to update some of the more venerable code trees. I understand that. Still, need stability. I’ve found bliss with Linux Mint. I’ve never experienced the USB fob problems that you have. And the BSDs are great as a server, as my regular desktop? Probably not so much, but its been a while since I use any BSD (Open was my poison for a long time. Rock stable.)

  11. Has Linux EVER found its ‘way’?

    The ‘Linux way’ is to do whatever you want, and preferably be as obscurantist as possible, if not downright elitist.

    Ideally, one should launch an overhyped vanity distro, then at some point suddenly abandon it for no good reason.

    ‘It works for me.’

  12. “I’ve even spent time figuring out where to look and STILL have no idea what to do.”

    Clearly you haven’t.

  13. I mean.. if you don’t know where to start looking, you should probably not run Debian sid. Not being mean or anything, I don’t know where to start looking either, when one time I can’t auto-connect kindle to a Debian sid box. I just use Debian stable now.

    Reposts

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.