Terminal "emulators"

Why in the fuck does the *nix command line interface require it to literally emulate an ancient terminal? Shouldn't there be a better, native way of doing this by now?
I mean word processors don't literally emulate typewriters.

Attached: digital_vt100-7349.jpg (1248x1012, 228K)

Other urls found in this thread:

youtube.com/watch?v=XvDZLjaCJuw
en.wikipedia.org/wiki/Kmscon
en.wikipedia.org/wiki/ANSI_escape_code
en.wikipedia.org/wiki/Win32_console
twitter.com/NSFWRedditGif

because it's a pile of legacy crap, same as windows only that they break the api and backwards compatibility in userland every 6 months while the underlying trash such as terminal emulation shit will never change because muh POSIX autism

ctrl + alt + f2 there real terminal not an emulator, enjoy.

Isn't it still a virtual terminal device and not a real one?

It's the *Nix way. Take shit from 1970 and worship it, never make breaking changes and only do small incremental updates.
On the one hand, it chucks on like a humvee.
On the other hand, it guzzles like a humvee.

I'm genuinely starting to think about making a distribution that will break compatibility. A one-time cut in order to update the entire fucking thing.
But first comes my first project. I wanna make the first step away from MS kikery, which means giving myself an environment that is on par with Windows' UX. It will take a while.


However, the terminal emulator concept isn't all that bad. I enjoy being able to use alt+ctrl+FX in order to go behind the GUI if it ever dies or if I need to locally administrate something where the user is restricted.
I once had a case where the desktop environment was just a black screen. Ctrl+Alt+F12 saved my ass.

Linux is not a single user system and having VTs does not equate with emulators that you open in X.

But aren't those still successive layers of emulation?
So X terminal emulator wraps a VT which is where the emulation of an actual terminal device goes on?
I could be completely wrong in my understanding here, so any correction would be appreciated.
Is there a better way to do terminals?

Even then, the old terminal machines were emulating teletype machines. FFS we're still emulating printing machines

>never make breaking changes
Do you live under a rock?

No, because my house was engineered for stability in mind so it doesn't fall down every week.

Engineering means taking into account existing infrastructure and backward compatibility.

Go invent the replacement for terminals and maybe you'll learn a thing or two about the real world.

Well, let's back up a bit.

I don't understand the point of the question of the op. As I understand, terminals, with the aid of command interpreters, are text based interfaces between the OS and the user. The user can interact with the OS and data by entering text commands - likewise, the OS can communicate what's happening via text.

Are you questioning why text is chosen as the defacto communication method?

Attached: gestures.jpg (271x186, 9K)

What the fuck should we use then? Direct computer-brain connection to the computer? Is this bait?

This vid goes into the general concepts of a UNIX system:youtube.com/watch?v=XvDZLjaCJuw

It's relevant to understand the video to understand why and how *nix operates. Text and file representation of devices, peripherals, plaintext data, and possibly other things are extremely important to knowing how *nix ticks the ways it does. Virtual consoles/terminals and emulators are cornerstones of the *nix operating system.

No, I am not questioning text as a communication method. I am questioning the fact that the only way it can be done so far in the history of these OSes is through LITERALLY emulating a VT100.
see: The OS shouldn't have to emulate a legacy piece of hardware in order to facilitate the simple concept of typing commands into a box and having the computer interpret and execute said commands.

>he doesn't know

>he doesn't have Intel Inside
lmao brainlllllllllllllllllleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

ee
eet

The best method was found early on. You keep saying we need to move on, but to what? And why?

>why is there VT100 emulation still
Ah. I did a bit of Googling and VT100 terminal emulation is associated with ANSI-only text encoding if I got the gist.

en.wikipedia.org/wiki/Kmscon

Here's a Wiki article that talks about an alternative to the VT100 emulation, which supports UTF-8.

That sounds more like what I'm thinking about. Too bad it got canceled/assimilated into systemd/both

>ANSI text encoding
My bad. That's not a thing.

Another article that may help:

en.wikipedia.org/wiki/ANSI_escape_code

tl;dr VT100 had a lot of influence on terminal emulators and it may not be going away soon.

>Shouldn't there be a better, native way of doing this by now?
What does that even mean? What is the "better, native way" of handling a plaintext command shell? Some convoluted proprietary/platform-specific garbage baked into the fucking kernel that performs exactly the same function while being less maintainable and portable?

Its because Linux is unixoid and Unix was/is a general purpose MULTI USER operating system. Of course you have to pretend to use a teletype. And if you like a GUI you have to emulate one.
This has literally nothing to do with 'Muh legacy'

Cant it run Arch and have a loli wallpaper though?

>Of course you have to pretend to use a teletype
why?
Why does the concept of
>have user type shit into a box
>have computer run that shit
>output the results into the box
require an emulated teletype?

>I am questioning the fact that the only way it can be done so far in the history of these OSes is through LITERALLY emulating a VT100.
no wonder your posts are so dumb, you don't even understand what you're complaining about
few if any widely used modern terminal emulators are strictly VT100 emulators, the VT100 is simply a base on which most modern terminal emulators build off of, adding additional features such as things introduced with later VT series terminals, unicode, graphics and whatever else the developer felt was useful to their users
there's no reason to change this base, it doesn't hold anything back or make life more difficult, in fact replacing it with some garbage "native" solution would only make it less versatile, and why do you hate things that are useful?
because what the fuck do you think a teletype is, retard? do you think these programs are physically simulating the electro-mechanical systems or something? it's all about the fundamental concept, which doesn't change no matter how sleek and pretty the plastic looks.

It's just a jury rigged command interpreter. The "emulator" thing is just a name and some very odd old standards.

A clean break would be a script interpreter that holds commands to standards such that all commands have sane rules re regex, parameters, etc

A lot of terminal emulators don't even emulate vt100, lots of them also adds different stuff like image or graph display so idk about what are you complaining OP.

>I'm genuinely starting to think about making a distribution that will break compatibility.
I think even Rob Pike did a talk years ago about the pointlessness of system research, because all new systems either go for unix compatibility first or they die because no one's interested in it.

>what's a TTY
>Ctrl+alt+F2

Who hurt you user

Because multiple users/terminals sucking on one box requires a multi user CPU scheduling.

The terminal connected to mainframe system just happens internally in one box nowadays.

Feel free to connect an actual hardware terminal to your PC if it bothers you so much having it in one box as an emulated version. Might get the 70s vibe.

How does the Powershell terminal window work? Does that emulate a terminal hardware like a VT100 or what?

Attached: powershell2-commands.png (997x642, 43K)

en.wikipedia.org/wiki/Win32_console

Most people simply don't care for novelty for novelty's sake especially when it just gets in the way and makes you more limited overall by imprinting you onto a non-standard paradigm that may be superseded or abandoned at any time.

Most "system research" may produce interesting or elegant systems, but most of the time they end up solving problems that were never problems to begin with, and in cases where they contributed something generally useful, it's more beneficial to just integrate it into what already exists and enjoy the best of everything.

Windows' console history stems from DOS which didn't support multi users or multi user tty's. You had a desktop, it ran DOS, you could only do one thing a time. Multi Users at the same time only becamea thing during NT 3.1 but by then the paradigm had no need for TTY.
Linux is UNIX-like which was developed far earlier for TTY and supported multi users with multiple terminals connected to a mainframe.
Comparing Win32_console and Linux TTY is like comparing an Elephant with an Elephant Seal. Two completely different animals.

No, the VTs and X11/Wayland talk to the same part of the OS, they are not stacked on top of each other, thankfully.

>>Linux is UNIX-like which was developed far earlier for TTY and supported multi users with multiple terminals connected to a mainframe.
it isn't a matter of Unix being older that made it that way, the DEC minicomputers it was originally developed for were far more advanced and "modern" than any shitty 8088 DOS box could ever hope to be, and you could hang a terminal off of those systems too if you really wanted to, there were even a number of multiuser DOS products out there, though they were far from common and Microsoft themselves never bothered with that market

but PCs never really had to deal with terminals because like any other single-user personal computer they always had one integrated on-board with its own set of standards and means of operation completely different from what was going on in high-end systems with, as you pretty much said, completely different requirements and expectations

ill make teh logo xD

>never make breaking changes and only do small incremental updates
This is true for basically anything decent that's in widespread use. GUI frameworks and DEs break backward compatibility all the time, which is probably why everyone just learns to do everything on the terminal. Backwards compatibility is a fucking important feature.

If you were to somehow force through a new design and get it adopted, two things would happen. First, you would discover a bunch of flaws with the new design and moan because it's now too late to fix them. Second, someone would make an "old-school unix terminal" application for your environment and it would quickly become more popular than your thing

Programs were designed around terminals. Hardware changes, operating system changes, environment for those programs does not.