This question already has an answer here:
I am trying to understand the concept of virtual terminals in unix and I am not able to figure out the need of terminal emulator and concept of virtual consoles clearly.
I was going through a video lecture on youtube and the lecturer says that now a days we do not have a terminal as we have full fledged setup of monitor, keyboard and mouse. Why we can not consider them as terminal ? According to the definition of a terminal, it is a set of hardware used to communicate with processes. Then why the author says that we do not have terminals now a days ?
Why do we need terminal emulator ? Lecturer says that the terminal emulator sits between "x window system server" and the processes talk to the output devices using terminal emulator. But in case of GUI processes talk directly to "x window system server" which in term communicates with device drivers for stdin/stdout. But why do we need terminal emulator in case processes are capable to talking to "x window server" directly. Is it the case that for "x window server" does not support CLI and for command line interaction, terminal emulator acts as an adapter between process and "x window server" ?
I went through the answer below and some other resources and here is what I got. Display can work in both character mode as well as APA mode. When we use command line interface, the system expects terminal character device files for I/O. Now when we are already running a GUI which means we have display in non character mode, and we open up a CLI, that session expects a terminal character file to communicate, which is not there. So, we need terminal emulators which creates pseudo terminal character files and also communicates with x-window-server and acts like an adapter.
Kernel also have some device specific actual terminal character files which come into play when we connect it to any display using text mode. When we are using GUI there is no need of terminal character files.
Is the correct or I have got it wrong ?