Defeats the purpose of the shell. The shell is for CLI interaction.

No. A shell is any user interface. Windows shell is explorer.exe and it used to be possible to change that via a config line in a system INI file.

SSH protocol also isn’t just for CLI work. It supports file transport (eg SFTP), TCP/IP forwarding and even SOCKS HTTP proxying.

You also used to be able to run GUI applications over SSH via X11.

You have a very loose definition of a shell that conflicts with about 40 years of history.

I don't have a dog in this fight, and anyway dogfighting is bad, but the intro to the Wikipedia article[0] reads:

> An operating system shell is a computer program that provides relatively broad and direct access to the system on which it runs. The term shell refers to how it is a relatively thin layer around an operating system.

> Most shells are command-line interface (CLI) programs. Some graphical user interfaces (GUI) also include shells.

The last line I think supports the notion that the term "shell" at least implies a CLI, but I can understand both positions.

---

0. https://en.wikipedia.org/wiki/Shell_(computing)

Edit: I'm shite at formatting on HN

The earliest versions of MacOS, all the way up through 9, had a ROM call at 0xA9F4 which was labeled `_exitToShell`. In the days before pre-emptive multitasking, this instruction's job was to force the current application to close and return the user to the MacOS desktop (the Finder). The "shell" in this context being the desktop user interface.

Just FYI.

I wondered if this would be controversial. It all depends where you grew up.

> Cairo, like Chicago, had a new shell (Microsoft’s favorite word for the user interface for launching programs and managing files) and a new file system

https://hardcoresoftware.learningbyshipping.com/p/020-innova...

When I worked at Microsoft 2010 - 2014, the word "shell" was still used in this way. I decided to say "graphical shell", to make it clearer.

Not really no. I’ve been using shells and authoring new ones for around 40 years across a variety of platforms. The term has always been pretty loosely defined because as technology evolved the term “shell” was borrowed. So like I said, a shell can refer to a graphical core just as much as a text-based one. You can get web shells too.

The original intent was that a shell is a thin wrapper on top of the OS to expose the hosts capabilities. But that hasn’t been an apt description for most of those 40 years.

Appeal to authority.

[deleted]

command line shell vs graphical shell. My first experience with a graphical shell was dosshell[1]. For a while we called the Windows 3.1 interface "the shell". I guess the terminology has changed since that time.

[1] https://en.wikipedia.org/wiki/DOS_Shell