Also, specialized programming libraries help to output the text in a way appropriate to the given display device and interface to it. Under Linux and other Unix-like systems, a program easily accommodates to any of the three cases because the same interface (namely, standard streams) controls the display and keyboard. This is the worst case, because software restrictions hinder the use of capabilities of a remote display device.
The communication capabilities usually become reduced to a serial line or its emulation, possibly with few ioctl()s as an out-of-band channel in such cases as Telnet and Secure Shell. Certain functions of an advanced text mode, such as an own font uploading, almost certainly become unavailable. This usually supports programs which expect a real text mode display, but may run considerably slower. Examples are xterm for X Window System and win32 console (in a window mode) for Microsoft Windows. If not deterred by the operating system, a smart program may exploit the full power of a hardware text mode. This is a normal condition for a locally running application on various types of personal computers and mobile devices.