Hacker News new | ask | show | jobs
by rian 4148 days ago
I don't understand technical Linux users who use GNOME/KDE. They are not designed to be hackable nor modular. They are intended for enterprise users who want something Windows-ish. Their core contributors aren't volunteers/users, they're people who are paid by Red Hat and SuSE.

If you're a technical user/programmer and you want something more minimal, simple, hackable, then don't use GNOME/KDE. Use xmonad or dwm, they are written by programmers for programmers. They are literally only window managers, nothing else. Only what you put in your .Xsession is what gets started when you run startx.

Sure, you don't get a file manager or auto-mounting of usb drives out of the box, that's because no sane programmer would want that by default. If you are one of the few that do, then install udisks and configure it the way you like (e.g. mount specific usb drives to specific locations with specific permissions). As a programmer you'll ultimately be happier. I promise.

Debian doesn't get in the way. It fully supports customization at this level. Take advantage of it!

10 comments

I don't have time.

In the nineties I had endless time to customise and fix the system, but these days I have so much work to do beyond the OS that I really can't spend much time at all on making the OS work.

I actually like a simple-to-use end-user DE like KDE as a container for terminal and browser windows. And I like that USB sticks can be mounted with a simple click, so I can copy something and tell the person that's bugging me to disappear with the stick so I can work on.

I remember an open-source and security conference around 2000 where I was wondering why all the hackers had default RedHat (or SuSE) installations with default Gnome or KDE and default backgrounds instead of nicely customised machines like mine. It took me some years to realise they were on stage because they got things done and didn't spend half of their time playing with settings, themes, backgrounds, fonts and convenience scripts.

Same with me.

Discovering GNU/Linux in the 90's meant playing with configuration files and themes for fvwm (the original not the rewrite one), twm, AfterStep, WindowMaker, GNOME, KDE, Sawmill, Enlightment, Metacity and a few others.

I also don't have the time nor the patience to do it any longer and just take the default install.

Which currently means Unity with Ubuntu on my travel netbook.

All my other computers run something else as OS.

I respect your opinion but I gave this up when the default kept fucking changing. I didn't have time for the endless breaking bullshit introduced by distros wanting to be cool with their desktop. Now I am using roughly the same config as I did in the 90's. Openbox (was blackbox back then) + ROX filer and a custom context menu with a few items. Any machine I use now, I have a tarfile with my settings I unpack, then install openbox and rox. I will probably use this setup for as long as I live, or until they quit keeping them running on new distros.

To preempt the usual disagreement when I say this, I have never consistently been able to get projectors/second monitor working in Linux on a laptop, so I have learned to live without these. This is also why you see Linux devs doing presentations using Windows/OS X.

I used to use Gnome for the same reason; Everything just about works correctly out of the box. It's really quite a good system.

Then I got really fed up with always messing up my terminals and switched to awesome as my window manager. It's more pleasant to use, especially with multiple monitors. The downside was that it's taken quite a lot of effort to customize it enough to make it work even half as smoothly as Gnome does (which basically means running half of gnome's services in the background).

If someone took Gnome and replaced gnome-shell with a modern compositing tiling window manager with some (optional) 3d eye candy thrown in, I would switch to it in a heartbeat. Hopefully there will be a tiling compositor for Wayland eventually.

This is essentially my reason set. I run KDE + (whatever) whenever I am doing desktop linux. It works, out of the box, in a UI paradigm that I can use effectively (tip to designers: this is essentially windows 98 paradigm, with minor tweaks).

I don't want to fart with random scripts I have to cook up and futz with to get a working system.

The things I want to hack are the things that are coming out of my own work, not making someone else's work useable.

Same with me. I prefer Gnome to KDE because I've a feeling that it saves me half of mouse clicks but Gnome, KDE Unity or what else save so much configuration time. Furthermore it's easier to google solutions when something goes wrong, which in turn are extra time savings.
Yep; all I need is a terminal,web browser, and a music player.
Why does "being a programmer" mean that I don't want my usb key to automount? Why does "being a programmer" mean that I should want to hack my desktop environment? Maybe I want to work on my own stuff, and have a desktop that works?

Maybe I don't want to have to read Learn You a Haskell to configure my window manager. Maybe I hate the whole concept of tiling window managers because I like to have overlapping windows?

You are making a lot of assumptions about what other people should want to spend their time on. I don't want to waste time or brainpower coding xmonad or dwm to behave in a way that doesn't annoy me, and manually setting up a bunch of basic infra like automounting USB keys, when I can just use KDE which doesn't annoy me by default.

>Why does "being a programmer" mean that I don't want my usb key to automount? Why does "being a programmer" mean that I should want to hack my desktop environment? Maybe I want to work on my own stuff, and have a desktop that works?

I agree, it really doesn't. Just look at Linus Torvalds for example. Some people asked him at a recent DebConf [0] what he thought of Debian and Linux distributions and his reply was basically "Oh I don't really care about distributions or systemd, I just wanna install it and get on with my life (i.e. the kernel)".

[0] https://www.youtube.com/watch?v=1Mg5_gxNXTo

And when he has to care he has enough clout that yelling about it online get it fixed asap. As was seen when he ranted about his daughter needing the root password to change wifi settings.
Linux has always been the equivalent of a discussion forum with opinions expressed in code.

Everyone has an opinion about Technology X/Y/Z, often strongly held.

But you can't make a usable desktop OS out of opinions. You need a big-picture long-term strategy. There doesn't seem to be a lot of that in most of distro world.

Server Linux has done better because the problem space is (kind of...) smaller and better defined, so strategies and innovations have appeared, and there are clear goals to work towards.

Consumer Linux is like a military campaign advancing in all directions. Everyone is working on something, but - beyond development for development's sake - it's not at all obvious why.

I think there was a window of time where this was not true and the majority (user-wise) of the Linux desktop was really strong, united, and standardized. This lasted approximately from the mid-2000s until GNOME 3 and Unity.

- Ubuntu had a polished GNOME 2 desktop.

- Red Hat Enterprise Linux had a polished GNOME 2 desktop.

- SUSE Enterprise Linux had a polished GNOME 2 desktop.

They were also using pretty much the same components. Since then, we had the MATE/GNOME 3/Unity/Cinnamon split and the upcoming X.org/Wayland/Mir split.

I find myself wondering if things started going to hell when https://en.wikipedia.org/wiki/Oracle_Linux happened. Since then RH seems to have been on the warpath.
I'm skeptical Mir is going to be a serious split, and even then it'll be Mir/Wayland - both of those will still run X.Org apps via shim-servers, same way Mac OS does.
I seem to recall SUSE being a RPM based distribution but with KDE instead of Gnome.
Their enterprise distributions were very much centered around GNOME. Remember that this is when they still had Xamarin.
I agree that many people want their machine to just work so they can work on actual work, not on fixing the OS.

I don't know how the solution to that is the buggy mess of, for example, Gnome on Fedora20 which is a buggy mess.

I didn't know I'm supposed to be paid by Red Hat or SuSE? :-P I've been helping out on volunteer basis at least for the last 10 years.

Seriously: Red Hat is a very big company and they provide loads of resources to GNOME for no apparent reason. Red Hat also expands their commitment in this. Still, there are loads of volunteers. Suggest to talk to people at the GNOME stand at various conferences. Or maybe you meant developer instead of contributor. In which case I suggest to read the membership applications to the GNOME foundation. There's more to contributing than just being a developer. See ttps://mail.gnome.org/archives/membership-committee/ for the archives.

Kudos to you sir for contributing!

By "core contributor" I did mean developer but really my point was that there is an explicit gap in the roles of the people involved in these platforms. You have a small group of people explicitly focused on development, and a much larger group of people explicitly focused on usage. Windows and Mac OS X are in the same situation. The best strategy for the people developing these platforms is to focus on a generally applicable UI to accomodate the large heterogeneous group. Ultimately this will result in the platform being more omakase (if you will) and less likely to be everything for everybody, though a decent default.

I don't mean to say that this is a fault with GNOME/KDE themselves but more of a likely unavoidable consequence when you build a product for a large general audience.

If you're a programmer this is really annoying. When something is broken or annoying to you, you have the ability to fix it but because there is so much organization/process/design around these systems, the activation energy is too high.

But if you're a programmer you don't have to deal with this. You can just use a simpler system meant for hackability, a system where the users are the developers.

I see nothing wrong with big vertically integrated Linux systems like GNOME/KDE and in fact I'm glad they exist. If they did not, I would not be able to genuinely recommend Linux to my non-technical friends. Apple has shown the vertical integration is an efficient and successful way to design products for large groups of people, not unsurprising that those systems are mimicking that.

KDE is very modular and configurable - often more so than these alternatives. I'm a technical user but that doesn't mean I don't believe in using libraries to combine related functionality (would I write my own web server? Then why write my own file dialogue?), or having shared services that run in the background until needed (would I embed a database in every application? No, I run postgres as a dæmon, and applications that want a database can talk to it. So why have every program write its own tray notifications?).
"I don't understand technical Linux users who use GNOME/KDE. They are not designed to be hackable nor modular."

I use Kubuntu for work and I don't see your point. All my work is done on CLI/vim/emacs and GUI is mainly just to run a browser. Why would I spent my time "hacking" it if it suits my need?

When I plug in an USB stick every few months, I do not want to go on an hour long research trip to find out about "udisks" and how to configure it.

There are tasks I only do very rarely (burn a CD, use Gimp, tag some MP3s, use a VPN, hold a beamer presentation, etc). When I do them, I want to be done quickly. GNOME does this quite well. The last time I used a tiling window manager, I tweaked the configuration for an hour to make Gimp's weird window behavior work well.

There is nothing weird with gimp windows in single window mode. It has been like this for the past few years...
At that time Gimp did not have a single window mode.
"When I plug in an USB stick every few months"

That often? Sometimes its hard to remember Dropbox is only about 7 years old and I've only had "always on" internet for about 15 years. Its surprising how fast we forget how things used to be. The future is very unevenly distributed and it feels so weird to read stuff in 2015 about antique USB sticks that sounds like griping about mtools and 360K floppy support.

Something that annoys me about USB drives is I haven't used one for anything but making bootable installer sticks for many years, and the "auto mount" paradigm makes life more difficult for me not easier. All I wanna do is dd the freebsd installer to the USB stick, now stop trying to automount.

I just copied some music to an USB, to listen in the car later.

And the NSA is not reading my USB file names.

In the Enterprise world online file storage like Dropbox is commonly blocked.
Yet, isn't that the kind of workplace most likely to fill their USB sockets with silicone? If you've ever wondered why PS/2 connected UI devices will never die in an era of USB, well, now you know.
Real programmers use Emacs for their desktop environment. If only it had a good text editor.
Yaquake + neovim + fish
No they are written for programmers that are living in the past.

My first UNIX was Xenix and I used quite a few variants of commercial UNIX and open source clones.

Unless I have to do a remote XWindows sessions, I see no value in xmonad or dwm.

" auto-mounting of usb drives out of the box, that's because no sane programmer would want that by default."

I plug in usb sticks all the time and of course I expect them to automount on linux just like on the other OSs I use on a daily basis. (and I was very annoyed last week to discover that my linux machine did not auto-mount a sdcard, and I had better things to do than start troubleshooting it)

To all the programmers saying they don't want to spend their time building their own desktops:

My point isn't that people in general should be hacking up their own Linux desktops, even if they can. Programmers that like to do that probably should though.

My point is that if you are going to commit to using user-oriented systems like GNOME/KDE, don't do non-standard things and don't complain because system internals seem too complicated. They aren't meant to be hackable/simple!

don't do non-standard things and don't complain because system internals seem too complicated

This is a false contradiction. You can have a system with a user-friendly default configuration (for developers) and that is still understandable and hackable.

In fact, this is the entire premise of UNIX: it consists of small orthogonal programs that you can combine in various ways to solve problems. E.g. remember the old script-driven hotplug[1]. It was user-oriented: users did not have to add manual modprobe stanzas to some file anymore or manually mount USB sticks. On the other hand, it was a set of shell scripts that could be modified easily by anyone with some basic grasp of bourne shell scripting.

[1] Which had the problem of being slow due to requiring a lot of fork/execs.

It's not a false contradiction (dichotomy?). In general, non-standard modifications can break the default configuration, even in your hotplug example. If they can break the default configuration, I'm simply saying don't complain when they do.

The OP is running GNOME and complaining because he's not using systemd and it broke something (non-standard configuration) and because he can't understand the d-bus-controlled cgroups system (complicated system internals).