A terminal emulator is a a computer application that emulates or behaves like a hardware terminal composed of at least a keyboard and monitor. Hardware terminals allow access to the data and software programs installed or stored on centralized computers, often referred to as mainframes. These specialized computers typically are servers equipped with large amounts of memory, high storage capacity and very fast, powerful processors to handle multiple requests from client computers. Instead of needing a physical monitor and keyboard for the express purpose of accessing the resources of a central computer, terminal emulators were developed to allow software to take the place of hardware.
Terminal application and TTY are terms used to refer to a terminal emulator. Although many people think of a terminal emulator as synonymous with a shell terminal, the command line or a text terminal, there are slight differences in these words. For example, a shell is an actual application itself and not just a window. It does not present a Graphical User Interface (GUI), but rather work on the command line is accomplished within a shell. Command line work is always in text mode and is absent of a GUI; technically, a terminal emulator can be graphical. When they are graphical, they are sometimes called terminal windows.
Hardware terminals, generally, are less intelligent than their emulator counterparts because of the complex programming employed to develop them. The ability to transmit data to a central computer and to display information from it on screen were available with hardware terminals, but emulators offer even more. They often are developed to allow users to automate tasks, send output of data to a printer and save data to a storage device.
There are many reasons why a terminal emulator is used on a personal computer (PC) to access resources on centralized computers, which could be local or remote. Physicians and other health care providers often need to access the results of laboratory tests for a patient. Those results typically are stored on the central computer of the laboratory, which can be accessed from PCs used by the health care provider if a terminal emulator is installed. Large companies with hundreds of employees often make use of terminal emulators installed on the PCs at the desks of their employees to allow them access to information and software that sometimes is available only on a central computer.
Linux and Unix administrators frequently use terminal emulators to access various computers such as a web or File Transfer Protocol (FTP) server. Experienced PC users of the Linux operating system for the desktop sometimes use terminal emulators to access the system beneath the GUI's because some operations can be carried out only on — or are best performed on — a command line. Basically, anyone who wishes to access data and use the resources of a centralized computer will need either a hardware terminal or a terminal emulator.