Live data from Hacker News

The Joy of Linux Desktop Environments

medium.com

121–130 of 181 posts

Re: The Joy of Linux Desktop Environments

#121
post #47

I get to experience the joy of not having a desktop environment; of using a bare WM, the shell, and 30-year-old Unix skills to work with my system. It's a good feeling.

I feel the same way; although I've spent some time with both Gnome and KDE, I never developed an attachment to either of them, mostly because I felt that there was a good likelihood that mastering the Gnome of today might be a pointless exercise because if you sat me down in front of the Gnome of one year from now, it'd be unrecognizable to me.

Around the advent of Gnome 3/KDE 4 I also realized that I didn't really use any of the Gnome or KDE apps. If I want to burn a cd, I know wodim well. If I want to listen to music, I probably use my phone. The browser is the only desktop app that I use regularly, and that's fairly agnostic.

I've spent years tweaking rxvt Xresources, for example, such that I can drop it on a brand new machine and everything behaves as I expect. I'm well past the point in my career where I'd be looking for, say, a better terminal emulator, or shell, or chat app or any of that stuff; the stuff I've got is working as well as I could hope, and when I need something new I can compose it from the abilities that the shell and the window manager expose.

The last big change I made was after I tried a tiling WM (Xmonad) for a couple of days and realized right away I'd never go back; that's been 7 or 8 years ago. Occasionally stuff changes underneath me in ways that seem somewhat capricious (Pulse Audio, Systemd) but I usually give that stuff a chance and try to adapt to it unless its absolutely unbearable.

I enjoy checking out the new stuff on machines I use at home for fun, but at work I treat the workstation as an instrument; I know what I want and almost everything has a reason.

Re: The Joy of Linux Desktop Environments

#123
post #55

Earlier quoted context omitted.

Gnome re-created the registry because they needed features that plain text files don't have. I simply have a hook for my dotfile repo which calls "dconf dump / > .dconf". This dumps the entire tree and it's nicely versioned in the repo.

Curious what features a plain-text file doesn't have that a registry would?

Most importantly, a stable API which can be concurrently used by multiple processes.

Getting/setting single values in a plain text config file is cumbersome and error-prone, and even if there's a library which is able to read that particular format, it often clobbers comments and formatting. For systems administration, you usually solve this by generating the entire config file from a template since nothing on the server should change your config files anyway.

However, on the desktop, many different application want to read and write keys. Tray applets, the system config panel, even your media player... They would inevitably conflict and you'd have to implement file-based locking.

Another topic: real-time notifications. If you modify the text size in the Gnome Control Panel, what happens is that the panel modifies the value in dconf and dconf sends a notification to all running Gnome applications. You could implement this using inotify, but you'd need code in each of your applications to open the config file, parse it and figure out which setting actually changed.

Single dconf lookups are really fast since everything is zero-copy and doesn't involve any syscalls. This is much faster than opening, reading and parsing config files.

dconf doesn't aim to replace all plain text config files. Storing the i3 or SSH configuration in dconf would be stupid (or even using dconf on a server to begin with).

Re: The Joy of Linux Desktop Environments

#124

Edit: Can the downvoter explain their reason? My personal favorite is the LXDE / Lubuntu 16.04 setup. All my subjective opinion, of course: - Sits in the sweet spot for bare bones distro vs batteries included. - Without decorations, I have essentially borderless applications, that I can quickly toggle the titlebars etc. - Kept sane keyboard shortcuts and did not remove them for some arbitrary reasons. Here's a random…

> I'm worried about their plans to switch to LXQt.

Is there something in LXDE that's missing in LXQt?

Re: The Joy of Linux Desktop Environments

#126
post #63

Earlier quoted context omitted.

For every person loving those plain texts, there are one that want to see them purged from existence. Observe how Gnome has basically recreated the registry, complete with hidden magic switches...

The Gnome stack is horrible. I long ago started questioning the sanity of the devs when they tried to build an entire office suite in C. Start any Gnome/GTK app and it will continously spew assertion failed log messages at you. Gnome has also forced certain standards, e.g. Network Manager when superior alternatives exist (the excellent Connman).

Hah, I tried using Connman for a while instead of NM, and I cannot vouch for its superiority.

It's been over a year since I've switched away (to gasp systemd-networkd with vanilla wpa_supplicant), so I can't recall the exact reasons, but I think it was because of lack of doc, terrible debugability, and bad behavior when dealing with multiple known wifi networks.

Re: The Joy of Linux Desktop Environments

#127
post #63

Earlier quoted context omitted.

For every person loving those plain texts, there are one that want to see them purged from existence. Observe how Gnome has basically recreated the registry, complete with hidden magic switches...

The Gnome stack is horrible. I long ago started questioning the sanity of the devs when they tried to build an entire office suite in C. Start any Gnome/GTK app and it will continously spew assertion failed log messages at you. Gnome has also forced certain standards, e.g. Network Manager when superior alternatives exist (the excellent Connman).

> Network Manager

What's wrong with Network Manager? Show me any other network manager which handles split DNS, WWAN modems and automatically connecting VPNs out of the box with zero configuration.

Re: The Joy of Linux Desktop Environments

#128
post #111
post #63

Earlier quoted context omitted.

The Gnome stack is horrible. I long ago started questioning the sanity of the devs when they tried to build an entire office suite in C. Start any Gnome/GTK app and it will continously spew assertion failed log messages at you. Gnome has also forced certain standards, e.g. Network Manager when superior alternatives exist (the excellent Connman).

I'm stuck in GNOME -- any advice on breaking free is appreciated!

First, replace the core GNOME apps you use most frequently with lighter alternatives. Take it easy, do it one at a time. Try rxvt-unicode instead of gnome-terminal. Try Thunar or Dolphin or an mc clone instead of Nautilus.

There's a lot of non-obvious configuration options in the X11 stack. An .Xresources file can select better fonts, tweak hinting so they look fantastic, and change settings and color themes for many X applications. Out of the box, many X applications look like obsolete garbage, but they can be lightweight, functional, and awesome looking at the same time with a little configuration and love.

After getting your core apps sorted, consider an alternate DE/WM. I personally love the gaps fork of i3. XFCE is nice if you still want DE functionality.

I personally dual boot Debian Stretch and Gentoo ~amd64 - sharing a home partition. I keep Debian more or less stock on GNOME, while I rice the hell out of Gentoo with i3 and no systemd.

Check out https://reddit.com/r/unixporn for inspiration and ideas.

Re: The Joy of Linux Desktop Environments

#129
post #58

I recently tried to use Linux (Ubuntu 16.10) as my primary desktop and failed again. I tried yearly since year 2000. But again in late 2016 I switched back to Windows (10) and MacOs. Driver support is getting better but so are my expectations and Linux (well Ubuntu) doesn't seem to catch up fast enough. For instance I failed having my dual graphic cards be used in extended mode with the my native laptop screen and an…

My experiences are similar, it's not the software that's the biggest problem, I use mostly FOSS anyway. It was the lack of decent hardware support, e.g. Skylake laptop support, Displayport MST, that drove me to Windows 10.

Works fine nowadays, Skylake + 4k MST screen.

I was an early adopter and it was a bumpy start for sure, but you expect that. Just wait half a year or so after a new processor generation and it'll be fine. Zero issues on my Haswell laptop for the past years.

Intel has full-time people working on the Linux graphics stack. I've contributed bug reports and stack traces and they have been super friendly and responsive.

Re: The Joy of Linux Desktop Environments

#130
post #123

Earlier quoted context omitted.

Curious what features a plain-text file doesn't have that a registry would?

Most importantly, a stable API which can be concurrently used by multiple processes. Getting/setting single values in a plain text config file is cumbersome and error-prone, and even if there's a library which is able to read that particular format, it often clobbers comments and formatting. For systems administration, you usually solve this by generating the entire config file from a template since nothing on the se…

> However, on the desktop, many different application want to read and write keys. Tray applets, the system config panel, even your media player...

If your applications directly read and store configuration keys belonging to other applications, you have way worse problems in your architecture than configuration file format.

Post reply on HN