Remix.run Logo
unpopularopp 3 days ago

I'm probably the extreme minority on HN (0.00001%) but I pretty much never used any CLI applications. Just never really needed them. But recently at work (we use Macs) I had some tasks which need the Terminal.app so I kinda tried to dig in and learn some stuff but whenever I feel I already know something (more or less) there is always some new stuff entering the picture next day. Shell, console, terminal... now a terminal _emulator_ :insert exploding galaxy brain meme:

JdeBP 3 days ago | parent | next [-]

They are all terminal emulators. You have probably, as one who has never used the command line, never touched an actual terminal.

fluoridation 3 days ago | parent [-]

A shell is not a terminal emulator. It's a program that does text I/O (perhaps with a terminal, perhaps not) and implements basic system functionality like executing programs and often scripting.

MangoToupe 3 days ago | parent [-]

Most people interact with a shell through a terminal emulator, though. The alternative is something like emacs's eshell. Or an actual "terminal" which hasn't been even available for purchase for many decades.

fluoridation 3 days ago | parent [-]

Not always. The shell may be facing a serial interface, or it could be spawned by a program and have no user interface at all.

MangoToupe 3 days ago | parent [-]

I probably wouldn't describe either as a human interacting with a shell, but nevertheless point taken.

fluoridation 3 days ago | parent [-]

I wouldn't either, which I why I didn't include that interaction in the definition I gave. A shell just implements basic system functionality, it doesn't necessarily function as a UI.

sorrythanks 3 days ago | parent | prev | next [-]

"console", "terminal" and "terminal emulator" all refer to the same thing. "shell" is the read-eval-print-loop interface you use to work in the terminal.

JdeBP 3 days ago | parent [-]

Please don't confuse the novices. A console is either a special kernel device or a UI subsystem; a terminal is a physical piece of kit; and a terminal emulator is an application that runs on a general purpose computer that emulates one of the aforementioned pieces of kit.

* https://jdebp.uk/FGA/tui-console-and-terminal-paradigms.html

* https://jdebp.uk/Softwares/nosh/guide/commands/freebsd-conso...

* https://jdebp.uk/Softwares/nosh/guide/commands/linux-console...

* https://jdebp.uk/Softwares/nosh/guide/commands/linux-vt.xml

* https://blog.bruchez.name/posts/televideo-912-terminal-1/

fluoridation 3 days ago | parent | next [-]

You're assigning a rigidity to these terms that they simply don't have. A "console", in the oldest sense of the term, is any place where a user interfaces with a computer, or more broadly with any kind of machine.

>Borrowed from French console (“bracket”, noun), from consoler (“to console, to comfort”, verb). Sense of “bracket” either due to a bracket alleviating the load, or due to brackets being decorated with the Christian figure of a consolateur (“consoler”), itself perhaps a pun on the first sense (alleviating load). Originally used for the bracket itself, then for wall-mounted tables (mounted with a bracket), then for free-standing tables placed against a wall. Use for control system dates at least to 1880s for an “organ console”; use for electrical or electronic control systems dates at least to 1930s in radio, television, and system control, particularly as “mixer console” or “control console”, attached to an equipment rack.

A "terminal" is a text-only console. For a long time, "terminal" and "console" were synonymous. By metaphor, in the same way that a "desktop" is not a desktop, referring to a terminal emulator as a console is perfectly acceptable, and everyone will understand what is meant.

JdeBP 3 days ago | parent [-]

On the contrary, I've quite explicitly pointed out that a console is one of several things, in contrast to the false claim that these are all just the same thing. Go back and read the FGA.

A console is not even necessarily the same abstraction as a terminal, let alone always synonymous with a terminal emulator, and "referring to a terminal emulator as a console" is not only not perfectly acceptable, it is downright erroneous on all of the platforms on which Kitty runs including the platform used by unpopularopp where XNU's console is very specifically a serial or video special kernel device. You are confusing the novices, too.

fluoridation 3 days ago | parent [-]

>"referring to a terminal emulator as a console" is not only not perfectly acceptable

To clarify, you don't like it.

>it is downright erroneous on all of the platforms on which Kitty runs

You make it sound like saying something "erroneous" (which of course I don't agree it is) is some kind of magic spell that does something. "Kitty is a console." What, what did that do?

>You are confusing the novices, too.

Uh huh. Literally no one is confused by these terms, you're just disagreeing with the usages. Say to someone "open up an xterm console" and I guarantee you they will understand that you want them to start an instance of xterm, not that you're having a stroke.

>XNU's console is very specifically a serial or video special kernel device.

If a system uses a word to refer to something specific, that doesn't co-opt the meaning of the word. An "XNU console" and a "console" in the broad sense are distinguishable concepts.

kstrauser 3 days ago | parent | prev | next [-]

Technically true, but I’ve never heard anyone say “open a terminal emulator and type…”

JdeBP 3 days ago | parent | next [-]

You've only been within earshot of slipshod people. (-: And you are typing below a headline that calls the thing a terminal emulator, so you cannot really say that you've never encountered one referred to as such.

M95D 3 days ago | parent | prev [-]

Because people say "open a command prompt". That can be a terminal emulator, a kernel console on screen+keyboard, a terminal via serial port console, or a ssh connection, and usually it doesn't matter which.

JdeBP 3 days ago | parent [-]

At least Microsoft finally stopped making people think (on Windows NT, no less) that these were "DOS prompts", though, which used to be a very common misnomer.

* https://jdebp.uk/FGA/a-cli-is-not-a-dos-prompt.html

You'll rarely find them actually called "command prompt" on the operating systems that Kitty runs on, though, including the operating system that unpopularopp uses. That's largely a Microsoft-ism, and one that has in fact been quietly eroding in the Microsoft world for years since the advent of PowerShell and Microsoft Terminal, with people now more and more writing and talking about opening "PowerShell" or "Terminal" rather than opening "command prompt".

On the operating systems that Kitty runs on, they're called terminal emulators, especially in their own doco and blurbs (as with Kitty, here), and when it comes to desktop menus usually (in contrast to the Microsoft Windows "command prompt" shortcut) have their actual names (Konsole, XTerm, UXTerm, RXVT Unicode, and so on being listed under their names, with GNOME Terminal and its derivatives and Apple's Terminal being somewhat exceptional rather than the rule).

odie5533 3 days ago | parent | prev | next [-]

If your only examples of terminals are in museums, I'm taking over the word.

almostgotcaught 2 days ago | parent | prev [-]

> Please don't confuse the novices

<Proceeds to dump a bunch of irrelevant minutia and links>

Lol my man I don't think you're the right person to be taking advice from on how to not confuse people.

skydhash 3 days ago | parent | prev | next [-]

Long story short: Terminals were the result of moving teleprinting stuff from paper to the screen. The shell is program that accept commands and execute the relevant program and I’m pretty sure console was the whole apparatus.

But now we moved the whole protocol to a program (an emilator) instead, and console refers to the initial boot environment, the attached display, keyboard pair (because you can still use another computer as the interface for control).

But the protocol is fairly old and some stuff clashes with current paradigms for using a computers.

lxe 3 days ago | parent | prev | next [-]

I've been using a terminal extensively for over twenty years. However, I was never able to get to the whole Vim and mouse-less keyboard only setup. If you can live your life to the fullest without using the terminal, I kind of envy you.

unsungNovelty 3 days ago | parent | prev [-]

Checkout clis like ranger (fm), Calcurse, bpytop/btop/htop/top, neovim, taskwarrior...

They are all cool. Probably missing crores of other clis that are cool.