Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Mikael H

macrumors 6502a
Sep 3, 2014
864
538
the fact that Linux distributions - unlike other free systems - are made from different components from teams which don't talk much to each other have degrading effects on the integrity of your infrastructure tooling.
Have you tried using Windows? 😂

Also, Linux is - whatever you think of it - the de facto standard. Sure, stuff does get ported from Linux to other free (and non-free) systems with more concerted core OS development efforts, but even ports to something like FreeBSD usually show signs of being an afterthought at best. It's not a situation I like - I would prefer a healthier OS ecosystem - but it's what we have today.
 
Last edited:
  • Like
Reactions: Cape Dave

it wasnt me

macrumors regular
Apr 18, 2019
206
122
the internet, mostly
First of all it’s factually incorrect: since many years almost all common desktop distributions default to installing and booting into a GUI unless you explicitly choose not to.

They "boot into" the TTY which runs startx implicitly. That's not the same thing as having a GUI as a first-class citizen.

The TTY only part is a sane default for servers, though.

No, it's not. We're not in 1973 anymore.

Second, in 1991 there were about three systems that any regular human was likely to see which were GUI-first.

"A Mac", OS/2 and... which one? Unix V10 was not popular, and SGI was not for regular humans.

The XFree86 project gave GUI support to Linux in 1994

XFree86 - like X.org and Wayland - still need a working TTY. They're on the same level as Windows 3.11 - starting a GUI from the command line.

Third, despite its early roots, a good CLI like those included in most Linux distributions - and in macOS! - is extremely efficient if you know your way around it.

Just like good DOS versions.
 

Mikael H

macrumors 6502a
Sep 3, 2014
864
538
They "boot into" the TTY which runs startx implicitly. That's not the same thing as having a GUI as a first-class citizen.
Even though that's technically true, if you boot a modern Fedora or Ubuntu desktop on a modern computer you will never see a trace of a TTY without explicitly spelunking for it.

No, it's not. We're not in 1973 anymore.
All makers of currently common server operating systems have realized that bloat and large attack surfaces are bad, and are defaulting to dropping admins into a shell if they provide a user interface at all. Even in Windows you have to explicitly select the "Desktop Experience" choice during installation if you want to be able to do a lot more than open the Task Manager and Notepad graphically, and the choice to stick with a GUI rather than a TTY still makes Windows Core servers markedly less efficient than the common corresponding Linux distributions if you're paying for resource usage.

"A Mac", OS/2 and... which one? Unix V10 was not popular, and SGI was not for regular humans.
Amiga, Atari ST and the Mac. No non-nerd heard about OS/2 until they started giving Warp away for free with magazines some time after Microsoft screwed IBM over with '95...
 

it wasnt me

macrumors regular
Apr 18, 2019
206
122
the internet, mostly
if you boot a modern Fedora or Ubuntu desktop on a modern computer you will never see a trace of a TTY without explicitly spelunking for it.

Unless X/Wayland crashes... again. Or you... hmm... accidentally press one of the 7 key combinations to open another TTY.

All makers of currently common server operating systems have realized that bloat and large attack surfaces are bad, and are defaulting to dropping admins into a shell if they provide a user interface at all.

Plan 9 (with the first-class citizen GUI) compiles in less time than the Linux kernel. What, exactly, is "bloat"?

No non-nerd heard about OS/2 until they started giving Warp away for free

I disagree, given that no non-nerd had a PC until the mid-90s... :) but I forgot about the Amiga, sorry. AmigaOS is still running wild!
 

bradl

macrumors 603
Jun 16, 2008
5,936
17,428
They "boot into" the TTY which runs startx implicitly. That's not the same thing as having a GUI as a first-class citizen.

This really can't be said, as it is completely and totally up to the user as to which runlevel they want the OS to boot into. That said, when the OS boots automatically into runlevel 4 (see man 5 inittab or man 7 systemd.special) you will be going directly into X or whatever GUI you have set. No TTY required for that.

Additionally, when we're talking about Linux having better window management than MacOS, that also can be a bit of a misnomer because of how many window managers Linux can have/use. For example, these I'm just going to pull out of my head from using Linux from 1993 to today: twm, fvwm, fvwm95, Afterstep, WindowMaker, icewm, xfce, blackbox, and fluxbox.. and those are just for starters. Each one of them has their own resources for handling windows, and as such can vary from one to the other. Not every distribution of Linux will use the same window manager by default, so it is a stretch to say that Linux has better window management.

But having that choice is a major pro for Linux, because you are not limited to one single window manager to use. For years.. in fact, from 1994 up until I got back into Macs in 2011 my daily driver was Linux and Afterstep as my window manager.

BL.
 

it wasnt me

macrumors regular
Apr 18, 2019
206
122
the internet, mostly
That said, when the OS boots automatically into runlevel 4 (see man 5 inittab or man 7 systemd.special) you will be going directly into X or whatever GUI you have set.

systemd is a mistake. Anyway, no, runlevel 4 does not "directly go into X", all it does is implicitly run startx. Per default, runlevel 4 is "unused". Enjoy trying to find "the default behavior".

when we're talking about Linux having better window management than MacOS

I don't. I wish macOS had CDE.

The point I was trying to make is that Linux handles GUIs by running a desktop environment over X over a TTY. Modern systems do not do that. I already stated that this was outdated in the 80s... 40 years ago.
 

bradl

macrumors 603
Jun 16, 2008
5,936
17,428
systemd is a mistake. Anyway, no, runlevel 4 does not "directly go into X", all it does is implicitly run startx. Per default, runlevel 4 is "unused". Enjoy trying to find "the default behavior".

Again, this is all distribution specific. And yes, for distributions that use inittab, runlevel 4 starts X. From my distro of choice (Slackware):

Code:
#
# inittab    This file describes how the INIT process should set up
#        the system in a certain run-level.
#
# Version:    @(#)inittab        2.04    17/05/93    MvS
#                                       2.10    02/10/95        PV
#                                       3.00    02/06/1999      PV
#                                       4.00    04/10/2002      PV
#
# Author:    Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified by:    Patrick J. Volkerding, <volkerdi@slackware.com>
#

# These are the default runlevels in Slackware:
#   0 = halt
#   1 = single user mode
#   2 = unused (but configured the same as runlevel 3)
#   3 = multiuser mode (default Slackware runlevel)
#   4 = X11 with KDM/GDM/XDM (session managers)
#   5 = unused (but configured the same as runlevel 3)
#   6 = reboot

It's been this way from 1999 going forward, as prior to that, runlevel 5 started X by default when the OS boots. Additionally, all RHEL distros prior to version 7 (RHEL, Fedora, CentOS, etc.) all used runlevel 4 as the runlevel to start X on boot, as systemd wasn't introduced to those distributions until RHEL7/CentOS 7.

I don't. I wish macOS had CDE.

The point I was trying to make is that Linux handles GUIs by running a desktop environment over X over a TTY. Modern systems do not do that. I already stated that this was outdated in the 80s... 40 years ago.

Again, not true. with using a runlevel, a desktop environment gets run after the session manager starts; in this case, it could be KDM (for KDE), GDM (for GNOME), or XDM (for X). Those session managers handle the login for the users; also, the session managers are started from the startup scripts (/etc/rc). In the case of using INIT, that comes from /etc/rc.d/rc.4, which is run when the default runlevel is set at 4.

O'Reilly and Associates came out with a book about this way back in the day (1993/1994), which still applies to this day:


This is different than just simply running a desktop environment; this is from running an entire session manager which spawns the desktop environment. That session manager is not started from a TTY.

BL.
 

it wasnt me

macrumors regular
Apr 18, 2019
206
122
the internet, mostly
Again, this is all distribution specific.

"Undefined behavior". Have you ever written C code? Just wondering ... :) because "a specific implementation of the arbitrary standard shows this behavior" is a void stance.

all RHEL distros prior to version 7 (RHEL, Fedora, CentOS, etc.)

Which is a minority of the niche OS that is Linux.

with using a runlevel, a desktop environment gets run after the session manager starts

Please enlighten me: How exactly is "the session manager" (for simplicity reasons, let's assume it does not exist: how exactly is LightDM) "started", assuming the TTY does not exist? As far as I'm aware, "the startup scripts" are fed into the TTY in the background.
 
Last edited:

Mikael H

macrumors 6502a
Sep 3, 2014
864
538
Sorry, took some time to get around to replying.

Plan 9 (with the first-class citizen GUI) compiles in less time than the Linux kernel. What, exactly, is "bloat"?
Bloat, of course, is stuff that is unnecessary for the task at hand. In real life, it's a point on a scale, not an absolute. Windows with the Desktop Experience is less lean than a Windows Core installation, is less lean than most common Linux servers, are less lean than specialized environments designed to be run as single-purpose containers, are less lean than systems that haven't seen significant development since machines were anemic compared to what's available today, are less lean than running optimized code directly on a general-purpose CPU, is less lean than a purpose-designed circuit.
In each step up you gain bloat, but you also gain stuff that some people call quality of life improvements. At some point any person will subjectively consider additional improvements moot and call them unnecessary bloat. Where this point falls is subjective and context specific.

The point I was trying to make is that Linux handles GUIs by running a desktop environment over X over a TTY. Modern systems do not do that. I already stated that this was outdated in the 80s... 40 years ago.
The point you were trying to make is, I think, not even technically correct. With the introduction of kernel mode setting in ~2008, Linux was able to - not always configured that way, but able to - be used as a fully graphical interface with no trace of old text modes after the kernel had fully loaded. If you choose to use TTYs in this mode, they too are presented by a frame buffer. GDM or other display managers you may choose in modern Linux environments run as services, and while it's true they invoke Wayland or XOrg as part of their execution, I fail to see the conceptual difference to what your beloved Plan 9 does at bootup on a PC. Were Plan 9, GEM/TOS, AmigaOS/Workbench, etc, earlier than Linux in implementing a fully graphical interface? Sure. But as usual, Linux gives you a choice. It's usually not the most - nor the least, for that matter - elegant choice, but it's rarely a bad one.

Which is a minority of the niche OS that is Linux.
Pot, meet kettle. Only the pot is mostly of academic value and you never see it in real life, while basically the entire world runs on the kettle.
 

it wasnt me

macrumors regular
Apr 18, 2019
206
122
the internet, mostly
The point you were trying to make is, I think, not even technically correct.

You might be correct on this observation. I'm not quite sure either. (If you're right: sorry.)

With the introduction of kernel mode setting in ~2008, Linux was able to - not always configured that way, but able to - be used as a fully graphical interface with no trace of old text modes after the kernel had fully loaded.

(I intentionally highlighted a part of this reasoning.)

As far as I know, and please correct me, there still always is a text-only mode in Linuxland, and essential administration tools require you to open "a TTY" in all distributions, right?

basically the entire world runs on the kettle.

This estimate is clearly exaggerated.
 

Mikael H

macrumors 6502a
Sep 3, 2014
864
538
As far as I know, and please correct me, there still always is a text-only mode in Linuxland, and essential administration tools require you to open "a TTY" in all distributions, right?
How do you define essential admin tools? In my work, basically everything is code and I consider bash, Ansible, Terraform, PowerShell, etc, essential, since without them I can’t guarantee that the next deployment will work exactly as the last deployment or that a documented procedure will be followed exactly by one of my fellow bags of meat with teeth.

None of that is done via a literal TTY device, though (that word has a specific meaning). Mostly I’ll be sitting in a macOS or Linux - or even Windows, if they pay me enough - GUI with a number of terminal windows open at the highest comfortable resolution, working away on the things to solve for the day, locally or via a secure shell.

Even in macOS I usually write much of my code in a terminal based editor, vim, since it too lets me “program” my edits to a degree I haven’t bothered to learn in other tools.

That said, I run Fedora on my gaming computer, and with compatible hardware and the kind of use cases regular humans have I would never have to drop into a shell. As you mentioned, if the display server would barf horribly I might end up in a TTY - a different and unrelated virtual terminal (specific meaning again) to the one presenting the GUI - and that might let me rescue the situation a bit better than, say, a blue screen of death would. But that’s definitely not a normal or expected situation in a modern Linux environment on good hardware.

This estimate is clearly exaggerated.
Linux runs on a single-digit percentage of desktop and laptop computers - more if you count ChromeOS - but fares significantly better in the data center, and especially in terms of web services and infrastructure/appliances.
Phones today run Linux (but similar to ChromeBooks generally not GNU) or iOS, with a slight bias toward iOS in richer areas - which on the other hand are in the minority.
And outside of these fields, if it contains a computer it’s not a bad bet to guess it runs Linux.
 

it wasnt me

macrumors regular
Apr 18, 2019
206
122
the internet, mostly
a number of terminal windows

Which are, regardless of how they are implemented, glorified VT100 emulators, which is the core of my *problem* with Linux and other presumedly "modern" operating systems.

Linux runs on a single-digit percentage of desktop and laptop computers

Yup. Niche.

fares significantly better in the data center, and especially in terms of web services and infrastructure/appliances.

Maybe - I don't have the numbers. Netflix and WhatsApp route(d?) through FreeBSD last time I checked, so > 50% of the "modern internet" traffic are not served on Linux.

Phones today run Linux (but similar to ChromeBooks generally not GNU) or iOS, with a slight bias toward iOS in richer areas - which on the other hand are in the minority.

It depends. I think Android and iOS have roughly the same global market share.

And outside of these fields, if it contains a computer it’s not a bad bet to guess it runs Linux.

PlayStations run a modified version of FreeBSD, motherboards usually run Minix. Hard to find reliable numbers here.
 

Mikael H

macrumors 6502a
Sep 3, 2014
864
538
Which are, regardless of how they are implemented, glorified VT100 emulators, which is the core of my *problem* with Linux and other presumedly "modern" operating systems.
Explain to me why you have a problem with the most powerful tool in all operating systems including Plan 9 - after all it is one of the first things that are praised in the Wikipedia article on that OS. 🙂

The main reason I love Macs is that they are really nice Unix workstations: you have a nice and well-thought-through GUI for everyday tasks (though the designer team seems hell-bent on making it slightly less nice every year, in some ways), and you get all the Unixy goodness of being able to tell your computer exactly how to help you get stuff done rather than doing it manually by yourself all the time.

Maybe - I don't have the numbers. Netflix and WhatsApp route(d?) through FreeBSD last time I checked, so > 50% of the "modern internet" traffic are not served on Linux.



It depends. I think Android and iOS have roughly the same global market share.



PlayStations run a modified version of FreeBSD, motherboards usually run Minix. Hard to find reliable numbers here.
Yes there are other operating systems (and though I would like it to be different, FreeBSD is still just a statistical blip in the entire server market), but my point still stands: praising Plan 9 and then calling Linux a niche system is a bit strong. 😆
 
  • Like
Reactions: wyrdness
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.