Uff, that was a trip down the memory lane. That article strongly reminded me of what Linux was like - some 10-15 years ago. Nothing preconfigured, everything had to be set up by hand using config files, sometimes using magic incantations from the shell.
I do get that some people prefer things this way (I used too when I was a student and had plenty of time to spend on tinkering - heck I have installed Slackware from floppies in 1995) and it certainly lets you understand what is going on your machine in minute detail, but a desktop machine is a tool for the most people - they need to get work done, and don't want to have to mess with the OS to get even basic stuff like networking or desktop running.
I think I will stay with my Mageia on my machines ...
I use Arch because of this: Having been an Ubuntu user, and watched my system break every 6 months Because Reasons, I despise magic: I want to know what my system is doing, because when it breaks, I'm the guy that's got to fix it.
Arch has been consistently more breaky for me than Ubuntu. It is fashionable to bash Ubuntu but I have found it quite polished as long as you don't try to color outside the lines.
I have used FreeBSD on the desktop since 1996. I am not a system guru. I have never used an install guide. I only ever used the guided installer and just let it run. It has always just worked. But there is also nothing to be gained by using FreeBSD...because coloring inside the lines on FreeBSD means using their polished tools to manage your system. I never ended up exploring my system much because I never had to...sysinstall did it for me.
Indeed in the late 90s when Linux distros were immature, I recommended FreeBSD to people who wanted a "just works" approach that let them continue to be as systems-stupid as me.
I see Ubuntu as the best current manifestation of what FreeBSD always was for me...the quickest, friendliest path to get a unix-like OS on your computer with lots of good defaults and hand-holding.
I might be lucky but my current installations of Arch are very bug-free. (except for a could bugs in the software, but I just report those to the upstream developers and they get fixed) I remember the last time my system broke, it was when they merged /bin and /usr/bin. I then proceeded to read the news posting wrong and break my system. Then it was up to me to fix it and it took about an hour.
On my other computer I correctly followed the post and had no issues.
I use the gnome offline updates with no fear, just whenever I turn off my computer I check the "Install Updates" options when it is available. It is all beautifully seamless.
Yeah, Ubuntu was never like that for me: every 6 months my system would break in a new and exciting way, and I couldn't fix it. But that's just me. FBSD is a bit more like Arch with a nicer installer, IMHO: minimal, text-based, highly configurable, and well-documented.
Although Arch uses systemd now by default, which is bad. I've replaced it with OpenRC. http://systemd-free.org has instructions if you want to do it yourself.
Last month I installed OpenBSD on my laptop, and was frustrated with its boot time.
I'm using an SSD. Debian 8 with KDE boots up in a matter of seconds. OpenBSD on the other hand needed at least 20 seconds to boot up.
I had done some research at the time, and came to the conclusion that it was systemd that allowed Linux to boot up so fast.
IIRC, OpenRC supports parallel boot. s6 and runit definitely do. And none of those are Linux specific. In fact, there have been projects to run them on BSD.
I guess you're probably right, I usually boot up just once in the morning. The truth is, being a performance freak, I expected OpenBSD to fly on my current hardware.
After much tweaking and struggle I couldn't get the DBus working, hence couldn't install GNOME.
i3wm as my window manager and manual configuration of everything especially the wireless connection were too spartan for me. So I switched back to Debian 8 + KDE.
I use i3 regularly, but I don't use wifi much. Honestly though, using netbsd with wpa or wpa2 doesn't look too hard, and you can write a script to automate the worst of it. It's by no means the horror that is iw/iwconfig and wpa_supplicant (insert ritual chants of horror and disgust).
hmm does suspend not work for you? OpenBSD is quite laptop friendly, more so than the other BSDs I'd say. If you're booting every morning then I can understand it being a bit annoying.
OpenBSD is probably the worst when it comes to overall performance of all the BSDs, and Linux.
And I want the middle piece, full magic is fine but a detailed manual with all the magical relations identified and tools to inspect areas where the magic is having issues.
Yeah, that's impossible. Because then you don't have magic, you have the same nonmagicality of Arch, but with none of the simplicity, so you have to learn even more complex, distro-specific tooling. It's the worst of both worlds.
I still wonder why Canonical promotes non-LTS versions as stable releases. They are not. LTSes are and you only have to update once every two years, or 3-5 years if you wait for your current release to be EOL'ed.
Non-LTS releases are really just development snapshots to give you a sneak-peek of features coming in the next LTS.
At my company we used to upgrade our workstations with each and every Ubuntu release. It was a mess. As soon as we started to jump between LTS versions, every problem vanished. And upgrades are almost painless. We have a rock solid stable base and we can upgrade select packages through PPAs.
The stability of non-LTS releases is comparable to somewhere in-between testing and unstable in Debian, despite of what Canonical wants everyone to believe.
I think this is what always turns me off from using Linux on the desktop as my main. With Arch do you feel you have a better sense of why things break when they do? Tempted to try it out because of things like what you said.
I've been using arch for about 3 years and I think that things break just as often (actually, probably more often) and you're generally not left with a better sense of what the root cause is. Sure, you have less software installed, but you're also usually running bleeding-edge versions of everything and things are noticeably less stable.
I do think that from an educational standpoint, arch linux is a good OS to use, as you will probably get a lot more comfortable with the linux environment. This is largely out of necessity as you will spend a great deal of time setting up and fixing your system.
If you have the time to debug the various components of your system, it can be quite fun and educational to use, but if you're interested in getting work done I cannot recommend arch linux at all.
Huh, it seems people's experience varies a lot. I've been using Arch as my primary OS at work and home for something like 4 years now. It's been quite stable and low maintenance. It has broken a 3 or 4 times, but my Windows install that I play games on has broken more times than that.
Yeah, that's been my experience as well. I tried ubuntu first, and that broke every 6 months. Finally, a kernel upgrade rendered my system unusable, and I switched to Fedora once it was fixed. Fedora didn't break as much, but it still broke. Finally, I switched to Arch. I've been able to fix any breakage, and my system's been fine ever since.
I've never used Arch, although I've considered it. I was a Gentoo user for many years, and went through some breakage here and there. I finally went to Ubuntu and friends because it was cutting edge enough without the breakage that I've always experienced with cutting edge stuff. Even with the breakage from Gentoo, it was always much better than Windows, although windows has gotten much better since the Win95 days. I hardly have problems with Ubuntu, and I use mostly Xubuntu on my laptops.
I find it plenty usable for work. And because you're usually hand-writing the configs, it's much easier to root-cause than ubuntu. And it doesn't break every 6 months.
Arch is all about user control. They have a fantastic package manager, the AUR (a user-supplied source build repo) the ABS (an official source build repo, akin to ports), and you can install yaourt (which can automate installation and updates from the AUR).
But by far Arch's best asset is the Wiki. The Arch Wiki is a godsend: a large repository of documentation on just about everything you'd want to do, complete with instructions for the most common cases. Want to do a basic install? Go look. Want to configure pulseaudio (why you would, I don't know)? It's right there. Want to encrypt your disk? pick your poison, and get to it. X? Check. 3d cards? AMD or Nvidia, proprietary or open, if there's hangups, we'll tell you how to fix it. Games? From steam to just about anything else, there's documentation for getting then running.
There's a reason many arch users will tell you to RTFM if you have a question. But if you've done that already, the forums are quite helpful.
The only snag is that systemd is installed by default. However, like everything, the wiki has docs on how to switcg to another system, like sysvinit or openrc. Even more luckily, some very kind Arch users have gone above and beyond that, and created a repo with most of the openrc initscripts, and forks of necessary packages that are without systemd. These instructions are better, and can be found at http://systemd-free.org, under 'installation' and 'configuration'.
So a tinkering person who has in the past used Slackware (at the end it looked like a bastardized Linux From Scratch), *BSD and after much meandering settled on a minimal Debian desktop, but still uses Mint at work, should probably feel at home, you say?
Yeah. Arch borrows heavily from the BSDs. It even used to use their init system. Nowadays, OpenRC is the way to go if you don't want to deal with systemd.
Might try OpenRC just as well. I've always liked the NetBSD rcorder-based startup, and OpenRC reminds me of it in some ways. But to be fair, I'm not in a hurry to replace sysv-rc.
IIRC the FBSD init is derived from NetBSD, though diverged since early 2000's. There's a FSBD project to integrate OpenRC, and it's pretty far along. I think the objective is to replace the current init system with the more modern and flexible one.
So, do you still use sysv-rc on your Debian/Mint? I've been trying to hold on to System-V on a Debian for what, about 2 years?, but some bugs found their way in after all and I gave up. Don't like the fact at all, installed OpenBSD wherever Nvidia is not involved and FreeBSD where it is, but still booting Debian from time to time.
I left Mint (17.X, the MATE spin) with whatever default rc the Mint guys chose. Upstart, I guess. My efforts go into customising my home system to my liking and these days my tastes are simple: Sawfish+dmenu or CDE, when I feel nostalgic.
I'm now writing on a Debian… er… something… system. That version which tried to force systemd down my throat. I switched back to sysv-rc right after the update. What bugs are you referring to?
Hopefully the possibility to switch rc will remain in future (I hear Gnome these days depends on systemd, WTF), otherwise I'll have to look for something else once again. Arch, probably. Or Slack + pkgsrc. Or I'll go back to NetBSD.
Suspend, for one, stopped working for me with sysv-rc. The fact that it's an 8 years old testing/sid mix could contribute.
I found that simple tastes make for an easy switch to... anything (for values of 'anything' not including lunatic fast-moving all-eating godzilla-sized init monsters obviously). My poison is some tiling wm (xmonad or spectrwm work best) + dmenu. A single config file is all you need (my spectrwm config is 4 lines long).
As for a system to switch to Slack seems to be one of the last Linux strongholds. Arch (like Debian) needs tweaking to switch from systemd. There are also those Devuan guys...
We'll see what future holds.
Strange, suspend/hibernate with uswsusp works like a charm for me. For the first time since kernel 2.6, too. The only bug which occasionally bites me is that after several suspend/resume cycles the screen randomly blanks for a while and then restores its previous state. Killing X doesn't help, it's the same in the console. Only a reboot fixes it. I suspect the Intel BT driver.
No, I haven't, at least recently. I switched to tiling about 7 years ago, tried a range of WMs (dwm, ratpoison), stuck with awesomewm for several months, but as it was changing to Lua-based configuration with too much of a flux, I left it for xmonad. Two things that immediately struck a chord with me were multi-monitor support and sane keyboard shortcuts. This post¹ may add something for you.
I learned of spectrwm only recently, it clones xmonad's UI, but is more practical (written in C, ini-style configuration vs Haskell code, doesn't need GHC installed). Painless switch for an xmonad user.
i3 already does multimonitor pretty well, iirc, and I don't have multiple monitors yet. Also, I really like i3's keyboard shortcuts. So I'll stick to i3 for now.
Honestly, I think i3 is probably closer to dwm than any of the others you mentioned, and I kind of like it for that. dwm goes a but too far with its configuratiob system, but i3 hits the sweet spot. I want my WM to work, and get out of my way: I have enough things to tinker with.
Although, if I'm ever convinced to go back from tiled managers, I may try sawfish. I do love lisp...
Sysv is just kinda... yuck. There's a reason that there's a desire to replace it, and it's not just the desire for proper process supervision. It's a really ugly system. OpenRC is a lot better, but rc.d wins on simplicity.
There's always Antergos which is essentially Arch + magic (installer + scripted updates). It just works with little configuration. Problem with Arch or any rolling release is you will download a gigantic amount of updates every day it felt like I was rolling dice with my system stability everytime.
I set things up the way I want them many years ago, and because everything's a text file, my configs have followed me across many machines and OS installs by just copying some files.
With more "magical" desktops like Gnome, developers like to change things every 6 months, and then I've got to mess around with the settings to try and not have it disrupt my workflow. And as soon as bring a new machine up I'm spending half a day mousing through menus and trying to remember all the things I set last time.
I like FreeBSD with a minimal desktop precisely because I've got more important things to be doing than messing around with settings. Yeah, the work is front-loaded, but the payoff is that I spend years not even thinking about the desktop or the OS.
If I recall correctly although gnome uses a binary config file format not terribly unlike the windows registry there is a way to export and then import it.
Even so I don't think this is 100% proof against things changing then again the same CAN be true of text configuration files.
If you don't want to touch any config files, you can get PC-BSD.
Setting up FreeBSD is easier than, say, Arch Linux. The OS install is a menu based "next, next, next" process like in Debian. Installing a desktop environment… honestly I can't imagine how it CAN be difficult. `pacman -S xfce`, `pkg install xfce`, same thing everywhere.
PCBSD is great, unfortunately it lacks better support for functional keyboards and screen brightness controls on laptops, but it's great anyway. I prefer it over ArchLinux.
Comparing with Arch and saying it is easier - well, gee, sure - not a particularly high bar to clear! The same about installing the desktop using a package manager.
If you have to actually do any of that, you have lost already, at least as far as a productive desktop is concerned. My point is not that it is hard to do but that you shouldn't have to do it in the first place!
Desktop OS should come with a working desktop out of the box - many desktop Linux distros actually give you a choice during the install and preconfigure one of the major ones for you.
BSDs make excellent servers and there this simplicity and Unix-like approach to running things are a large benefit. Modern Linux distros tend to be way too complex and "black-box" like in this regard. However, having to go through all this to run a desktop is an unnecessary masochism for people who have way too much time on their hands, IMO.
Well, everyone has different "productivity" needs. I'm productive when everything is customized for, uh, productivity. When my config files aren't overwritten by package managers and the settings aren't replaced at runtime by some-settings-daemon that I never wanted.
You must be that mythical Hacker News commenter who's proud of using default settings everywhere and not customizing anything :D
Anyway, setting up any BSD, or Arch, or even Gentoo doesn't really take "way too much time", come on.
Arch used to have an installer like that, but they dumped it in favor of the current boot-into-heavily-customized-live-environment-that's-nothing-like-the-default-installation-and-install-pseudo-manually-by-running-these-shell-scripts-in-the-proper-order-and-hopefully-you-memorized-the-handbook “installer”. I can't prove it, but I suspect they did that sheerly out of elitism, to keep the newbs out.
I remember installing red hat from a bunch of floppies around 1997. Tinkering, etc. But it certainly didn't let me understand what was going on with the machine. I got a much better grasp of linux many years later when internet came around and well... started doing useful things with the machine instead of configure a VGA Xorg whatever file to display the desktop (and then what? play mp3 ?).
Don't be ridiculous, Linux [1] is not better at this. Maybe out of the box experience is a bit nicer, but it's not generally just usable after that. Want a properly working network? Guess what - network manager is the problem, you have to disable it and configure network interfaces manually with config files and everything. Or want vim as a default editor - good luck with config files, "update-alternatives" shell magic is the only way to change it. Want to disable avahi, mlocate and other annoying stuff? Dig deep into configs and .overrides and magic chmods (hud-service). Locales are of course incorrect by default too. And it's not even close to everything, far from it. That's why I have like a 500 line shell script to automate configuration after installation.
The only way to make it better is to recognize the problem and make a new distribution with a decent well thought out package and configuration manager.
I think you listed many things that require links to bugs or some specific descriptions. Otherwise the post just looks like FUD. Network manager works for usual configs. Update alternatives existed for years, but most apps respect setting $EDITOR. Most services can be simply disabled without overrides. Etc.
Sure, there may be issues. But both the list and mentioned solutions seem extraordinary.
That's what Linux on desktop is always about. First contact, and it all looks fine. But then, you want a certain application installed and use it or whatever and things start getting haywire (from user experience perspective). Within half an hour of fresh install you're on some obscure old and closed topics on forums or IRC begging for help, etc. Once it works it's great, but that's how it is.
I use MacOS on my laptop, Windows 8.1 on main workstation and Fedora 24 / XFCE on another workstation daily. Each and every OS has some things I wish the other OS would have and i can't decide which one is 'the best'. There's no such thing.
I'd say the closest thing to an ideal situation (for me) would be a Fedora OS with MacOS-like opaqueness to configurations and upgrade, Adobe, Games, and Office applications from Windows (they work better on Windows) and preview (spacebar and app) from MacOS in it. At that point I wouldn't even care if, at its core, it would be Linux or BSD or NT.
I agree with Virapter if we're talking Ubuntu or Mint. The experience hasn't been nearly as bad as you describe despite me using several versions, several distro's of each (eg Lubuntu etc), and on 2 different machines. There was often at least one or two problems like you described that would be a no-go for layperson trying Linux. I Googled them, saw relevant steps, and problem went away. Shit works now. Sometimes not even one of those, esp on Mint.
My main gripe is whats broken varies distro to distro. It's rarely the same. So, I have to have guidelines or scripts on a per-distro basis to deal with their issues. You'd think in 2016 that there'd be reference sheets on properly integrating various components so this doesn't happen. And people would've used them. One or other apparently isn't true.
I had to deal even with the manual xorg in the past, because wacom tablet didn't work properly and was pretty much useless in the "default" mode, with wrong button bindings and wrong things enabled, that interfered with each other. But xorg is too hard and too fragile, so I eventually found a way to at least make it not interfere and gave up. Accepted the "default" mode, putting only couple of "xinput set-prop ..." lines into .xsessionrc.
It's always been a constant battle with ubuntu for me. I lost that battle, automated configuration to satisfy ubuntu and don't bother anymore, mostly by avoiding ubuntu ways as much as possible.
I've had a Dell Latitude notebook with Ubuntu 14.04 preinstalled and guess what? The wireless network card worked fine by default. I've also had no networking issues while running Fedora 24 on it.
You really should try a decent desktop Linux. For example, Arch. It just works out of the wiki. All those problems are because Ubuntu tries very hard to be smarter than user. Obviously it fails. You don't need to disable fancy configuration and autodetection tools if they are not present in the first place.
Sadly, following the (un)guidelines set by the redhat/gnome dictatorship (aka, systemd) and their grand quest to please the desktop users, Debian also seems to have become, more or less, the freaking Ubuntu.
I do get that some people prefer things this way (I used too when I was a student and had plenty of time to spend on tinkering - heck I have installed Slackware from floppies in 1995) and it certainly lets you understand what is going on your machine in minute detail, but a desktop machine is a tool for the most people - they need to get work done, and don't want to have to mess with the OS to get even basic stuff like networking or desktop running.
I think I will stay with my Mageia on my machines ...