Tinkering with Linux was my first real computing experience and also started my career in that field.
I was doing this stuff in Linux when I was… well, not 10, but 12. Today I work with computers. What do you think ”tinkering” means?
I do sympathize with being a grown adult and having no time for this stuff anymore. But there is a time and place where, for some, the act of making a computer work right and do what you want is fun in itself. Isn’t that why we’re all here?
"I want him to be able to dig deeper. To explore. To try things out, misconfigure, crash, fix, and re-install. To get a feeling for how things work below the surface and how they do not work. To learn how to type fast and efficiently. To create things. Maybe, one day, even to learn how to code if he's interested."
RHEL (and its kin) is a stable server OS. Some organizations that have Linux-based desktops or laptops then also use it on those, perhaps for the sake of homogenisation. But the longer release cycle and conservative update policies that in part make it a stable and predictable server OS also mean that hardware support may lag by years.
This is always a topic on which people will have different experiences. Some people will have everything just working. That's perhaps most likely when the hardware has been chosen with compatibility in mind in the first place. In that case it can be pretty smooth sailing with little tweaking required and with things just working, especially compared to how it used to be, which is probably one reason why people react to claims of endless tweaking being required.
Other people will have hit a rough spot, and those certainly still exist particularly with non-specifically picked hardware, especially if that hardware is newer than the distro release.
CentOS is probably not representative of most people's experiences of running Linux on a desktop or laptop, though.
I will give you that Linux is needlessly complex due to undesirable issues, but that's the price of admission for a highly hackable system, since there are no serious alternatives. As for kids, I wouldn't underestimate them. If what you want to give someone is a rich and deep experience with computers, it's about all you have right now.
On the other hand, and I'm sure this part of my comment will go over swimmingly here, but I imagine... if you start kids out with iPads, what they learn is not that doing interesting things with their computers is challenging, but that it costs a monthly fee.
But I'm not going to let her have one when she's older. I now realise that I would love a Linux tablet. Not a small laptop, but a touch tablet, thin, with a light keyboard too.
Is there such a thing out there? Or should I start building one now?
I pointed out that Linux was the perfect OS for this and your reply was that you hate using Linux on your corporate job because you have to do all those things. I mean fine you can hate it, it's not right for your job, OK. But in addition to being negative, you were off-topic. It spawned a bunch of guys debating the merits of Linux in a corporate office which is not the freaking topic of the blog post and to the extent you want to rattle on about it, you're arguing with a straw man. It shouldn't be a huge surprise you got flak. Sorry if this comes across as elitist but in the context of what this post was about I don't really care that Linux sucks in your office, I did not suggest you should use it there.
What Linux won't do is shove mass shootings and Tiktok ads down his son's throat. Again I quote the post: "What the actual fuck? That kid is 10, and TikTok is one of the things I am actively trying to prevent from getting into his world as long as possible." I maintain: Linux sounds great for this guy and his son.
You ran X11/Xorg (no Wayland), sysv init (no systemd), OSS or ALSA, not pulseaudio, you had sane/not insanely bloated desktops like KDE2 or XFCE.
Even unicode wasn't something most really had to care much about...world was still mostly ascii.
Yes, you had to edit your XF86Config to make your graphics work right, maybe even write your own modeline and be nervous that you screwed up your timings and blew up your CRT permanently. Maybe you had to recompile the kernel to set the proper settings for your Soundblaster. Less fragmentation? Desktop consistency? FORGET IT. A million window managers to choose from. Whichever you go with, your apps will be in a mixture of Motif, Tk, GTK, Qt and/or plain Athena widgets and there are no theme engines that will save you. Just deal with it or write your own.
For those without memory of how it was, search up some screenshots of RedHat 5.2 and its stock FVWM95 window manager. That was the easy to use, business-oriented distro of the day. That was considered acceptable look and feel to ship to an end user.
But all this? Fun. FWIW I still think a kid could have fun tinkering with modern Linux, it's probably just that they would tinker with different things. (Because contrary to popular belief, video and audio almost always "just work" these days)
Rose tinted glasses. Each distro had its own scripts and layout.
SysV sucked.
It was XFree86 -- with separate server binary for each chipset. Then came XFree86 4.0 with a new, hot thing: modularity. You could load drivers as modules, but that presented an entirely new way to make things more complicated. XFree86 became an OS in itself, including dynamic linker, PCI handling, vm86 emulator...
With Wayland, things are much simpler.
> , sysv init (no systemd)
There was bsdinit at the time. Sysvinit was considered bloated by the same types, who cannot consider systemd today.
> you had sane/not insanely bloated desktops like KDE2 or XFCE.
There were other topics, like switching from libc5 to glibc2. Again, unicode, localization, nss services, so much "unnecessary bloat".
Yes, you could map ISO... to ASCII to avoid 'cosas horribles de ver cæmo ⌷stas'. Most words can be read fine without the stress mark in Spanish, except for some verb conjugations where they look odd without them. But, reading n instead of 'ñ' gets tiring after a while.
Thank Plan9's gods for UTF-8.
On the rest, a separate comment it's better.
Also:
I use Hyperbola GNU/Linux. UTF-8. IceWM. Rox if bored, or for photo galleries with thumbnails, here a file manager makes sense. Metal2 theme with CDE icons. I liked the aesthetics from late 90's/early 2000's. I still use
gv -smartan
and mplayer2
But... X.org works. No 30-70h, 50-160v, you know what I mean. Sndio works perfectly, so does ALSA. No encoding issues on switching from English to Spanish making voodoo in order to guess which $ENCODING_OF_THE_DAY does use the Spanish Slashdot clone. Everything works universally. Unifont for the terminal it's a godsend.XFree86 in the early days required you to at least know the refresh rate for your monitor, if not to actually write a modeline which is damn near black magic for most people. This stuff also came with a warning that theoretically you could break your monitor. When you're 12 that stuff is terrifying.
SysV was extremely flaky and system specific. Every distro out there, especially the friendly looking ones like Mandrake bolted on a top of fancy stuff on top that added a whole new layer of complication. Stuff that worked with Debian didn't work on Red Hat.
OSS and ALSA were pure hell unless you had a fancy soundcard with hardware mixing. Dmix required magical incantations to get working, and wasn't reliable because a lot of stuff back then still tried to go through /dev/dsp -- which would break audio for everything else if you had the wrong hardware.
ASCII was probably an okay thing in America, but if you were anywhere else, internationalization was a very un-fun thing to deal with. And if you by chance needed to deal with two non-English languages, that was a constant annoyance.
Bloat is kinda relative. You can still use IceWM if you want to, pretty much every distro has every desktop imaginable.
X11: it sucked. Modelines.
ALSA: DMIX worked, fine.
XFCE: XFCE with XForms and the GPL'ed with GTK was fast as hell. XFFM was delightful to use.
ASCII: Wake up from the coma, please.
America is the whole world? ASCII doesn't even have the £ sign for fucks sake, so it wasn't even adequate for Anglosphere countries, let alone two billion Chinese and Indians.
I also hardly tinkered until I got into programming classes later on the high school, and then it wasn't tinkering, my time spent with Timex, Amiga and MS-DOS was about coding, demoscene and games, not fixing the OS.
I went to the library in '97 and borrowed the Linux Bible, with a CD-ROM copy of Yggdrasil Plug'n'Play Linux that I installed on my 486, and the new world that opened up to me of being able to modify, tune and customize the entire OS to my liking with no restrictions was magic.
Today, I work as a Linux sysadmin and I have fun at work. Other people of the same persuasion are the ones who maintain Linux distributions or contribute to the kernel today.
The point here is that if a kid finds it fun and creative to futz around with "fixing the OS" then let them -- not only is it its own reward, it might lead somewhere. Don't say "no, this isn't fun in my opinion and you shouldn't have to do it".
And in what concerns WebOS, Android and ChromeOS, if it is Linux kernel, BSD, Fuchsia or whatever powering Chrome and Android Runtime, I couldn't care less.
Not user friendly at all.
assuming you're not trolling, it's user-unfriendly because novices are used to changing settings in GUIs. changing settings in a bash script is a qualitative difference, and paradoxically leaves novices more helpless, despite being a more powerful tool in principle.
they don't know any of the syntax or semantics of bash, so they may as well be pasting something written in Kanji. they must put their trust in some random person on the internet who told them the incantation, that it isn't malicious or outdated or irrelevant. if it doesn't work, they have no idea what to do, or how to even begin to debug it, or how to undo it. they don't know if the change they made is permanent or if it will go away if they delete the line and reboot. they don't know about man pages, or the difference between .bashrc and .profile, or what the PATH environmental variable is, or what an environmental variable is full-stop, or what sudo means, or file permissions, symlinks, shebang lines, package managers, or any of the myriad incidental complexity which might crop up when you try to run some shell command from stackoverflow.
because often it isn't as simple as running that shell command. it turns out you need to run it with sudo, or apt install some missing command, or it uses some syntactic construct that doesn't work in your current shell, or a grep option that doesn't exist on your version, or you're in the wrong directory, or you need to activate some systemd service first, or it says to pip install something but actually you should use your system's package manager, or X or Y or Z ... experienced users run into little snags like this all the time and fix them without even thinking about it. do an experiment for me right now: go through your bash command history and find some command you used to solve some minor problem. then look at the commands before it for the failed attempts and workarounds and diagnostic steps you did. you probably forgot you even did those. then ask yourself if a total novice could have done them. the answer will be "no".
compare a GUI: a GUI settings dialog will have options labelled in English, and leans on well-understood semiotics of checkboxes, dropdown menus, sliders and so on. those constrain the possible types and values (compare with stringly typed shell commands), and it's clear how to undo them afterwards if necessary. they inform you of both the current state of the system, and how to change it (contrast: viewing the state of the system vs changing the state is two different terminal commands).
novices have a perfectly rational fear of screwing with things on the terminal.
This is a very valid point. When I first started with Linux, pretty terrified of screwing something up fundamentally with the terminal.
Most terminal commands are not particularly intuitive either. I'm technically very competent but before I learned how to code, I would have no way of knowing that "sudo" gives you admin privilege, or that "cat" shows the contents of a file.
For the average person, "sudo" or "chmod" are pure gibberish, and "cat" is an adorable pet.
Like this is part of the code for creating a mouse scrollwheel control script:
"if [ ! -f ~/.imwheelrc ] then cat >~/.imwheelrc<<EOF"
You can't be serious if you pretend that a non poweruser is supposed to understand what -f or cat, or E0F are supposed to mean.
In my experience, a GUI settings dialog normally will have options labelled in Brazilian Portuguese, which is even more friendly. The command line, on the other hand, is always in English (though its output is often in a mix of English and Brazilian Portuguese).
(Your experience may vary; people from smaller countries might have only a partial translation of the GUI, or even none at all.)
This might sound a bit harsh but Microsoft actively cultivated a type of user I would call "long time novice computer user" and combine that with the poor choices that were made regarding security design and you get results like the ninja updates Windows has these days.
As for hardware compatibility Windows has the big advantage that everything is tested on it. One can definitively minimize the risk of issues by just selecting appropriate hardware for linux.
There is no expectation that I'll grab a random laptop off eBay and install MacOS, or install Windows on a Switch.
Then you have Windows users complaining that they have some random hardware that the manufacturer refuses to support Linux, and are shocked that it doesn't work perfectly out the box.
After all Mac OS only runs on a few dedicated Apple computers and that's partly why it is a smoother experience overall. If Linux only had to support a few Laptop models it would have been easier to get it all working.
As of an hour ago, plugging a trrs headset into the jack on my laptop breaks audio until I go kick the daemon. Linux is a pain in the neck.
They work completely fine. I use them all the time and have been using them for about a decade.
The bug to which I refer has been open for over a year and is well replicated on my hardware and distro. I would fix it myself but I can’t be bothered so I use Bluetooth (in one of the rare cases were there’s an audio problem on Linux and the solution is Bluetooth).
Example: I booted a friend's Thinkpad t440p with an Ubuntu 22.04 pen drive to check that she was OK with it and that there were no issues. All went well (screen, touchpad, USB, printer, scanner) except resume from sleep: the pointer froze. An internet search returned the workaround from many years ago
sudo modprobe -r psmouse
sudo modprobe psmouse
It worked and my friend was OK to add it to systemd post resume script. Given the age of the workaround it will never be fixed so it's up to the user. Maybe the kernel or the distro should make some checks on the hardware and take care of it but I guess that there are thousands of those combinations. Lenovo is doing that work with Microsoft for their hw on Windows, they are not doing it with Canonical on Ubuntu nor they are sending patches to the kernel.thanks for posting the fix!
Man, there are so many of these. Not just in FOSS but software in general. What makes it annoying in FOSS is the fact that developers would rather rewrite everything in rust than fix many-years-old issues, even when someone has submitted a patch.
Could it be MS has stats from MS Store to actually see what users install (say I have WhatsApp from the Store, among several others, not mentioning Office). We don't have numbers from the telemetry, but they have, so we guess, but they may actually know. Not something unrealistic for me.
As side note, I find astonishing things, for good or bad, when looking out of my nerdy bubble.
Preloads are not there to make the service or experience better. Preloads are there, because someone paid for them to be there. So someone makes money on them, doesn't care exactly what they are, and is selling your attention and your time to get there.
So no popularity numbers needed, only a good offer.
Now laptops are a different matter.
I had a problem with an Asus, but that's because of an Nvidia embedded GPU that wasn't even supported under Windows, so it's not like this was a Linux issue. Just get a machine that supports Linux, you wouldn't complain that you can't install MacOS on your Inspiron and even with all the hacks it doesn't work right, or that Windows is struggling to boot on your Playstation.
And laptops are most client PCs sold these days, people barely buy desktops anymore:
https://www.canalys.com/newsroom/global-pc-market-Q4-2021
Linux is skating where the puck has been.
One of them, AMD-based, "only" had some issue with the USB hub to which the webcam and light sensor are connected. It otherwise worked OK. On the OOB Windows install which came with the PC from the factory, the backlight couldn't go up all the day and was a horribly dim affair. It was fixed around a year later. It would also randomly hang when waking up from sleep.
The second one, a full-Intel affair, was much more of a PITA. First off, the Windows installer didn't recognize the touchpad nor track point. It still doesn't, more than a year later! Then, once installed, there was some stupid issue with the display out via the HP dock. I'd have to do a ridiculous dance of plugging in the display via both HDMI and DP and unplugging and re-plugging the DP connector at just the right time. Then, almost a year later, Intel released a new driver that actually fixed it! But then, for a while, Windows Update wouldn't have any of that, and insisted on updating the driver to the older one with the bug. Good times.
Absolutely 0 issues under Linux since day one. The only "config file fiddling" I did was actually Xorg, but that's because I insisted on remapping CAPS to Hyper and using a mac-style US layout with the win and menu keys working as level 3 shift for easier French typing. How do you even do that under windows?
https://www.microsoft.com/en-us/download/details.aspx?id=102...
I've been using Linux and Windows for a long time.
A lot of Linux enthusiasts are frankly uninformed about Windows power functions.
I've managed to make this work by combining that and another app that fiddled something in the registry to move super to caps and remap super to alt-gr.
> A lot of Linux enthusiasts are frankly uninformed about Windows power functions.
Because they're basically undiscoverable and require hours of googling.
The first approach I'd found, using the remap function of PowerToys kinda worked. But it randomly stopped working and would behave as if I had the super key pressed all the time. Cue windows randomly moving around, etc.
https://github.com/randyrants/sharpkeys/releases
BIG WARNING if you do this! I've done it in the past and using other computers will just break your brain. Think working with someone else or helping relatives, etc.
> Because they're basically undiscoverable and require hours of googling.
Oh, so just like Linux stuff? :-p The double standards are real :-D
> The first approach I'd found, using the remap function of PowerToys kinda worked. But it randomly stopped working and would behave as if I had the super key pressed all the time. Cue windows randomly moving around, etc.
I've used SharpKeys and the Microsoft KLC tool in the past, after many, many failed attempts with other tools, they're quite reliable. Only a handful of apps and websites (WhatsApp web... for some reason ¯\_(ツ)_/¯ ) don't 100% work well with them.
> BIG WARNING if you do this! I've done it in the past and using other computers will just break your brain. Think working with someone else or helping relatives, etc.
What saves me is that my French colleagues use French layout keyboards, so I have to mentally switch anyway when I use theirs. Luckily, it's not that often.
> Oh, so just like Linux stuff? :-p The double standards are real :-D
I think the biggest issue with Windows is finding a reliable source for these things. For Linux, there's the arch wiki, which is wonderful even for people using other distros. For Windows, there are many sources which are just blogspam and basically say that you should reinstall some driver and reboot your pc. Also, fiddling with registry keys with opaque names that you found on ad-laden webpages always feels a bit off (I'm thinking about trying to remove the "shortcuts" in windows 10's explorer, for example).
I'm actually quite impressed with some things available on Windows, especially the lesser known ones, but find it extremely frustrating that they're so hard to find out about.
Windows is a very complex beast and frankly many of the good people move on, usually to Linux, since all the good IT work happens on Linux.
(Admittedly, I've done well by staying away from nvidia)
All I have to do now is rebuild the driver after an update. "No Biggie"
Seriously though, compatibility issues seem the exception to the rule nowadays. Getting wifi or display drivers working used to be...challenging, if not traumatizing. You could put that shit on your resume nowadays. "I set up X11 with native resolution and got WiFi working most of the time in 2003 without damaging hardware."
Almost nobody. Most manufacturers have come to the conclusion that if they're going to dick about with special proprietary drivers, they can expect to sell a handful of their product compared to one that is just normal.
No-one wants a webcam that uses a special super-sekrit magic driver that has to be downloaded from some sketchy website. They want to plug it in and wave to granny, or join their Teams call. Thus, the special super-sekrit proprietary crap got evolved out of existence.
- I can't connect my Sony Xperia 10 II mobile via USB cord to transfer files. Debian won't recognize it as a mass storage device.
- Can't connect to my wife's ancient Samsung ML-1640 laser printer.
Both of the above work in Ubuntu 20.04 LTS, but not Debian 11 XFCE.
The truth is things like that are not as common as they used to be. Everything with Xorg is plug-n-play, input and video devices are greatly standardized, etc. Not to mention, if your machine boots into Wayland, there simply isn't an Xorg configuration to worry about.
That having been said, that was my experience when I was a kid, and I do not regret it at all. On the contrary, it was the perfect time to become proficient with Linux at a deeper level. Different strokes.
Manjaro has caused me no more (and in some respects less) issues than Windows did. The biggest issue for me is finding equivalent software from what I had on Windows. In almost all cases, I've been successful.
Gaming is great so far. Same games.
> experts all over the internet are very condescending in general.
This is a dissapointing generalisation and not my experience. I've had nothing but support and help with any questions I have asked recently.
The Linux ecosystem is a different beast now and one I'd recommend to most people. It's not going to work for everybody but if your user case is not special, chances are you'll have a better time than the current Windows.
Linux just works, straight out of the box, with pretty much any sane hardware.
Have you ever tried to get anything as outré as a USB keyboard, or USB memory stick, or heaven help you, a USB serial port working in Windows?
The whole FTDI hoopla happened only because FTDI serial driver was the only one shipped with Windows, so only one that was really plug and play.
And if you plug it into a different socket, it has to go on the Internet to find the driver all over again.
Janky.
- IE with too many windows? BSOD
- Process stack being mad? BSOD
1. Running the many cycles of updates and reboots that invariably need to happen on a fresh install. Oh yeah, and one hard reset or power loss when Windows update hangs, as it does regularly, can be enough to irreparably corrupt the installation and force you to reinstall.
2. Finding the drivers that were missed by Windows update *without* being tricked into downloading malware.
3. Finding and installing software without being tricked to download malware by SEO spam. And without every application adding itself to startup or installing 3rd party spyware, slowing down boot time.
4. Finding and changing all the settings whose defaults are making the system slow, insecure, etc. Some of these settings automatically change themselves back after some time btw, unless you use regedit or other hacks.Not experienced that for a decade on Linux, but it happens every day for me on MacOS. Not sure why, but coming out of sleep, half the time one monitor will be at the wrong resolution and a third of the time the other monitor will be rotated 90 degrees.
I've resorted to leaving the displays setting window open so I can change them back when it happens. Really frustrating and the same monitors, HDMI cables and USB-C hub cause no issues on Linux.
Just in around 3 months, this is already the 2nd time that Windows 11 screwed up and I wanted to clean wipe it. I never imaged a triple hit before: a bad update fcked up the external display; then uninstall the update again fcked up the whole system; and at last system restore did not work. And that's on a damn surface pro 8.
On the other hand, another toy laptop with Fedora installed has running flawlessly for quite a few years, started from Fedora 30 to 37 without a single hiccup.
For Macs, never liked Apple products, so no comments.
Especially these days, I get trouble from only two places - 1) driver issues on laptops that aren't advertised as Linux-ready, 2) adding 3rd party apt repositories and hoping everything will update painlessly down the road. It's hard for me to think of Linux problems I've had in the last... 5+ years? that didn't stem from one of those two things.
I'm not saying they don't exist but every OS has its share of bugs, I think the days of Linux randomly exploding for random reasons are long behind us.
So even if exaggerated, I think your post is an argument and not a counterpoint wrt to the intended purpose. ;)
- Or keep trying to fix the environment + hardware compatibility issues and not do the actual work/study. Or keep editing some random xorg.conf file because his monitor's display suddenly became weird. Or try to fix some other random files since the sound driver doesn't work. He's 10. I'm 40 and still horrified to deal with those problems on a daily basis as my company requires me to work multiple platforms. Linux doesn't care for a regular non-geek user, and its experts all over the internet are very condescending in general.
It's a sad reality that no platform actually cares for what a general customer wants. Macs these days have a few times more problems than Windows. His best bet is probably to just stick to Windows and keep checking for any new auto-introduced problems.