Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
server:terminal [2014/03/07 17:34] – [Configuration] digital man | server:terminal [2019/06/08 15:17] – Document the terminal server key bindings digital man |
---|
====== Terminal Server ====== | ====== Terminal Server ====== |
The Synchronet Terminal Server is responsible for providing that "old school" BBS user interface over dial-up modems and classic Internet console protocols (e.g. Telnet). | The Synchronet //Terminal Server// is responsible for providing that "old school" BBS user interface over dial-up modems and classic Internet console protocols (e.g. Telnet). |
| |
===== Features ===== | ===== Features ===== |
| |
* Supports ANSI X3.64 (color and monochrome), [[wp>Remote_imaging_protocol|RIP]], and dumb terminals | * Supports ANSI X3.64 (color and monochrome), PETSCII, [[wp>Remote_imaging_protocol|RIP]], and dumb terminals |
* Supports [[wp>ASCII|US-ASCII]] and [[wp>Code_page_437|CP437]] (a.k.a. IBM Extended ASCII) character sets | * Supports [[wp>ASCII|US-ASCII]], [[wp>Code_page_437|CP437]] (a.k.a. IBM Extended ASCII) and CBM/[[wp>PETSCII]] character sets |
* Supported Protocols: [[#Telnet]], [[#RLogin]], and [[#SSH]] | * Supported Protocols: [[#Telnet]], [[#RLogin]], and [[#SSH]] |
| |
* Optionally configured (on Windows) via [[monitor:SBBSCTRL]]:Telnet->Configure dialog | * Optionally configured (on Windows) via [[monitor:SBBSCTRL]]:Telnet->Configure dialog |
* Configured behavior may be over-ridden via ''[[monitor:sbbscon|sbbs]]'' command-line arguments | * Configured behavior may be over-ridden via ''[[monitor:sbbscon|sbbs]]'' command-line arguments |
| |
| ===== Key Bindings ===== |
| |
| ==== Global Ctrl-Keys ==== |
| |
| These control-key combinations has special purpose at almost any-time while using the Terminal Server: |
| |
| ^ Ctrl-Key ^ Description ^ |
| | Ctrl-K | Display a Ctrl-key Menu | |
| | Ctrl-C | Stop the current process / listing / operation | |
| | Ctrl-O | Toggle auto-pause prompt temporarily | |
| | Ctrl-Z | Toggle raw input/output mode | |
| | Ctrl-U | List users online | |
| | Ctrl-P | Page for chat or send instant-message or telegram to users | |
| | Ctrl-T | Display current time information | |
| |
| ==== Line Input ==== |
| |
| Additional control-key combinations have special behavior during line (text string) input: |
| |
| ^ Ctrl-Key ^ Description ^ |
| | Ctrl-N | Move to next word in line | |
| | Ctrl-\ | Move to previous word in line | |
| | Ctrl-D | Delete word to the right | |
| | Ctrl-W | Delete word to the left | |
| | Ctrl-Y | Delete from the cursor to the end of the line | |
| | Ctrl-X | Delete the entire current line | |
| | Ctrl-L | Center the line and complete input | |
| | Ctrl-Z | Undo (revert edited line) | |
| | Ctrl-R | Redraw current line | |
| | Ctrl-A | Insert an attribute code (when allowed) | |
| | Ctrl-G | Insert a beep character (when allowed) | |
| |
| ==== Extended Keys ==== |
| |
| The Synchronet Terminal Server endeavors to support most extended-keys (e.g. home, end, arrow-keys, etc.) on most terminals while simultaneously supporting Ctrl-Key equivalents for all terminals. |
| |
| ^ Extended Key ^ Ctrl-Key ^ ANSI((ANSI X3.64/ECMA-048 escape sequence)) ^ Other((e.g. VT-220 or XTerm escape sequence)) ^ Description (typical use) ^ |
| | Home | Ctrl-B | \e[H | \e[1~ | Move cursor to beginning of line or top of page/list/document | |
| | End | Ctrl-E | \e[K and \e[F | \e[4~ | Move cursor to end of line or bottom of page/list/document | |
| | Up-arrow | Ctrl-tilde | \e[A | | Move cursor up one line or recall previous history item | |
| | Down-arrow | Ctrl-J | \e[B | | Move cursor down one line or recall next history item | |
| | Left-arrow | Ctrl-] | \e[D | | Move cursor to the left | |
| | Right-arrow | Ctrl-F | \e[C | | Move cursor to the right | |
| | Page-up | Ctrl-P | \e[V | \e[5~ | Move cursor up one page | |
| | Page-down | Ctrl-N | \e[U | \e[6~ | Move cursor up one page | |
| | Insert | Ctrl-V | \e[@ | \e[2~ | Toggle insert/overwrite text mode | |
| | Delete | Ctrl-? | | \e[3~ | Delete character under cursor (delete-right), also Ctrl-Backspace | |
| |
| |
===== Telnet ===== | ===== Telnet ===== |
| |
[[wp>Telnet]] clients are supported, by default, on the standard Telnet TCP port: 23. | [[wp>Telnet]] clients (a.k.a. [[resource:term|terminal programs]]) are supported, by default, on the standard Telnet TCP port: 23. |
| |
| The Synchronet Terminal Server will negotiate Telnet options with the client (enforcing echo and non-line-at-a-time modes), perform ''IAC'' (character 255) escaping, and CR/LF->CR and CR/NUL->CR translation (when not in //binary mode//). |
| |
| ===== SSH ===== |
| [[wp>Secure Shell]] version 2 clients are supported, by default, on the standard SSH TCP port: 22. |
| |
| SSHv2 support provided by [[dev:dependencies#cryptlib]]. |
| |
===== RLogin ===== | ===== RLogin ===== |
* [[person:digital man]] removed and deprecated the ''USE_2ND_RLOGIN'' option (and related [[monitor:sbbscon|sbbs]] command-line option and [[monitor:sbbsctrl]] checkbox) as this is now the **only** behavior supported by the Synchronet [[server:Terminal]] Server: the first string received from the RLogin client (''client-user-name'') **may** be a password, the second string received (''server-user-name'') **must** be a valid user ID (alias). | * [[person:digital man]] removed and deprecated the ''USE_2ND_RLOGIN'' option (and related [[monitor:sbbscon|sbbs]] command-line option and [[monitor:sbbsctrl]] checkbox) as this is now the **only** behavior supported by the Synchronet [[server:Terminal]] Server: the first string received from the RLogin client (''client-user-name'') **may** be a password, the second string received (''server-user-name'') **must** be a valid user ID (alias). |
* [[person:digital man]] changed the ''bbs.rlogin_gate'' function to accept 3 optional arguments: ''client-user-name'', ''server-user-name'', and ''terminal'', in the order specified by the RFC 1282. | * [[person:digital man]] changed the ''bbs.rlogin_gate'' function to accept 3 optional arguments: ''client-user-name'', ''server-user-name'', and ''terminal'', in the order specified by the RFC 1282. |
===== SSH ===== | |
[[wp>Secure Shell]] version 2 clients are supported, by default, on the standard SSH TCP port: 22. | |
| |
SSHv2 support provided by [[dev:dependencies#cryptlib]]. | |
| |
===== JavaScript ===== | ===== JavaScript ===== |