Next Previous Contents

# Text-Terminal-HOWTO

## David S. Lawyer mailto:dave@lafn.org

v1.40 December 2006

This document explains what text terminals are, how they work, how to install and configure them, and provides some info on how to repair them. If you don't have a terminal manual, it may be of help. While it was originally written for real terminals on a Linux system, much of it is also applicable to terminal emulation and may be helpful for non-Linux systems.

## 1. Introduction

- 1.1 Copyright, Trademarks, Disclaimer, & Credits
- 1.2 Future Plans: You Can Help
- 1.3 New Versions of this HOWTO
- 1.4 Related HOWTOs, etc.
- 1.5 Terminology Used in this Document
- 1.6 What is a Terminal ?
- 1.7 What is a Text-Terminal ?

## 2. Types of Terminals

- 2.1 Dumb Terminals
- 2.2 Text Terminals
- 2.3 Graphic GUI Capabilities of Text Terminals

## 3. Thin Clients Terminals

- 3.1 Introduction
- 3.2 MS Window terminals
- 3.3 Emulation on a PC

## 4. Quick Install

## 5. Why Use a Terminal ?

- 5.1 Intro to Why Use a Terminal
- 5.2 Lower Hardware Costs ?
- 5.3 Control of Software
- 5.4 Hardware Upgrades
- 5.5 Other Advantages of Terminals
- 5.6 Major Disadvantages of Terminals
- 5.7 Are Text Terminals Obsolete ?

## 6. Overview of How Terminals Work (in Linux)

- 6.1 Device Names
- 6.2 Login/Logout
- 6.3 Half/Full Duplex
- 6.4 Terminal Memory
- 6.5 Commands for the Terminal
- 6.6 Lack of Standardization Solved by Terminfo
- 6.7 The Interface
- 6.8 Emulation
- 6.9 The Console

## 7. Terminal Special Files such as /dev/tty

- 7.1 Serial Port Terminals
- 7.2 Pseudo Terminals
- 7.3 The Controlling Terminal /dev/tty
- 7.4 /dev/ttyIN "Terminals"
- 7.5 The Console: ttyN or vc/N
- 7.6 Creating a Device with "mknod"

## 8. Some Details on How Terminals Work

- 8.1 Terminal Memory Details
- 8.2 Early Terminals
- 8.3 Escape Sequences and Control Codes (intro)
- 8.4 Display Attributes & Magic Cookies

## 9. Special Features of Some Terminals

- 9.1 Color
- 9.2 Multiple Sessions
- 9.3 Printer/Auxiliary Port
- 9.4 Pages
- 9.5 Character-Sets
- 9.6 Fonts
- 9.7 Keyboards & Special Keys
- 9.8 Mouse

## 10. Terminal Emulation (including the Console)

- 10.1 Intro to Terminal Emulation
- 10.2 Don't Try to Use TERM Variable for Emulation
- 10.3 Serial Communication (Dialing) programs
- 10.4 Testing Terminal Emulation
- 10.5 The Linux Console
- 10.6 Emulation Software

## 11. Flow Control (Handshaking)

- 11.1 Why Is Flow Control Needed ?
- 11.2 Padding
- 11.3 Overrunning a Serial Port
- 11.4 Stop Sending
- 11.5 Keyboard Lock
- 11.6 Resume Sending
- 11.7 Hardware Flow Control (RTS/CTS etc.)
- 11.8 Is Hardware Flow Control Done by Hardware ?
- 11.9 Obsolete ?? ETX/ACK or ENQ/ACK Flow Control

## 12. Physical Connection

- 12.1 Introduction
- 12.2 Multiport I/O Cards (Adapters)
- 12.3 Direct Serial Cable Connection.
- 12.4 Modem Connection
- 12.5 Telnet and ssh
- 12.6 Terminal Server Connection
- 12.7 Connector and Adapter Types
- 12.8 Making or Modifying a Cable

## 13. Set-Up (Configure) in General

- 13.1 Intro to Set-Up
- 13.2 Terminal Set-Up (Configure) Overview
- 13.3 Computer Set-Up (Configure) Overview
- 13.4 Many Options
- 13.5 Communication Interface Options
- 13.6 Quick Attempt

## 14. Terminal Set-Up (Configure) Details

- 14.1 Send Escape Sequences to the Terminal
- 14.2 Older Terminals Set-Up
- 14.3 Getting Into Set-Up (Configuration) Mode
- 14.4 Communication Options
- 14.5 Saving the Set-up
- 14.6 Set-Up Options/Parameters
- 14.7 Emulation {Personality} {{Terminal Modes}}
- 14.8 Display Options
- 14.9 Page Related Options
- 14.10 Reporting and Answerback
- 14.11 Keyboard Options
- 14.12 Meaning of Received Control Codes
- 14.13 Where New Text Goes
- 14.14 Function Keys
- 14.15 Block Mode Options
- 14.16 Locks
- 14.17 Screen Saver {Scrn Saver}
- 14.18 Printer

## 15. Computer Set-Up (Configure) Details

- 15.1 Getty (used in /etc/inittab)
- 15.2 Stty & Setserial
- 15.3 Setserial
- 15.4 Stty
- 15.5 Terminfo & Termcap (brief)
- 15.6 Setting TERM and TERMINFO
- 15.7 Rarely Needed /etc/ttytype File
- 15.8 Login Restrictions
- 15.9 Run Command Only If TERM=my_term_type
- 15.10 Character Mapping: mapchan

## 16. Terminfo and Termcap (detailed)

- 16.1 Intro to Terminfo
- 16.2 Terminfo Database
- 16.3 Bugs in Existing Terminfo Files (and Hardware)
- 16.4 Modifying Terminfo Files
- 16.5 Init String
- 16.6 TERM Variable
- 16.7 Terminfo/Termcap Documents

## 17. Using the Terminal

- 17.1 Intro to Using the Terminal
- 17.2 Starting Up the Terminal
- 17.3 Terminal (Serial) Device Driver
- 17.4 Problems with Editors
- 17.5 Bugs in Bash
- 17.6 Color ls Corruption
- 17.7 Display Freezes (hung terminal)
- 17.8 Corrupted Terminal Interface
- 17.9 Special (Control) Characters
- 17.10 Viewing Latin1 Files on a non-Latin1 terminal
- 17.11 Eliminating Overstriking in Files
- 17.12 Inspecting the Interface
- 17.13 Changing the Terminal Settings
- 17.14 Multiple Sessions
- 17.15 Logging Out
- 17.16 Chatting between Terminals, Spying
- 17.17 Sharing the Serial Port
- 17.18 Browsers for Text-Terminals

## 18. Special Uses for a Terminal

- 18.1 Make a Serial Terminal the Console
- 18.2 Run Linux without a Monitor
- 18.3 Use a Keyboardless Terminal as the Monitor

## 19. Trouble-Shooting

- 19.1 Terminal Was Working OK
- 19.2 Terminal Newly Installed
- 19.3 Is the Terminal OK ?
- 19.4 Missing Text
- 19.5 All Keys Work Erratically; Must Hit a Key a Few Times
- 19.6 ... respawning too fast: disabled for 5 minutes
- 19.7 Fails Just After Login
- 19.8 Can't Login
- 19.9 Garbled Login Prompt
- 19.10 No Login Prompt
- 19.11 Displays Foreign/Weird Characters/Symbols
- 19.12 Displays Escape Sequences
- 19.13 Slow: pauses of several seconds between bursts of characters
- 19.14 Terminal doesn't scroll
- 19.15 Serial Monitoring/Diagnostics
- 19.16 Local Mode
- 19.17 Serial Electrical Test Equipment

## 20. Repair & Diagnose

- 20.1 Repair Books & Websites
- 20.2 Safety
- 20.3 Appearance of Display
- 20.4 Diagnose
- 20.5 Detective work
- 20.6 Error Messages on the Screen
- 20.7 Capacitors
- 20.8 Keyboards

## 21. Appendix A: General

- 21.1 List of Linux Terminal Commands
- 21.2 The Internet and Books
- 21.3 Non-Linux OSs

## 22. Appendix B: Escape Sequence Commands Terminology

- 22.1 Esc Sequence Lists
- 22.2 8-bit Control Codes
- 22.3 Printer Esc
- 22.4 Reports
- 22.5 Cursor Movements
- 22.6 Pages (definition)

## 23. Appendix C: Serial Communications on EIA-232 (RS-232)

- 23.1 Intro to Serial Communication
- 23.2 Voltages
- 23.3 Parity Explained
- 23.4 Forming a Byte (Framing)
- 23.5 Limitations of EIA-232
- 23.6 Synchronization & Synchronous
- 23.7 Block Mode
- 23.8 EIA-232 (RS-232) Books
- 23.9 Serial Software

## 24. Appendix D: Notes by Brand/Model

- 24.1 Adds
- 24.2 CIT
- 24.3 IBM Terminals
- 24.4 Teletypes
- 24.5 VT (originally DEC, now Boundless)
- 24.6 Links
- 24.7 Qume
- 24.8 Wyse Terminals

Next Previous Contents