Protokół Telnet, opisane w RFC 854 , sposób obejmuje wysyłanie komendy w pasma, składające się z charakterem IAC , '\255'
, a następnie przez kilka kolejnych bajtów. Polecenia te mogą wykonywać takie czynności, jak wysyłanie przerwania do pilota, ale zwykle służą do wysyłania opcji .
Szczegółowe spojrzenie na giełdę wysyłającą opcję typu terminala można znaleźć w Microsoft Q231866 .
Opcja rozmiaru okna jest opisana w RFC 1073 . Klient najpierw wysyła gotowość wysłania NAWS
opcji. Jeśli serwer odpowie DO NAWS
, klient może następnie wysłać NAWS
dane opcji, które składają się z dwóch 16-bitowych wartości.
Przykładowa sesja na terminalu kolumnowym z 47 wierszami 80:
telnet> set options
Will show option processing.
telnet> open localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SENT WILL NAWS
RCVD DO NAWS
SENT IAC SB NAWS 0 80 (80) 0 47 (47)
Protokół ssh jest opisany w RFC 4254 . Składa się ze strumienia wiadomości. Jedną z takich wiadomości jest"pty-req"
pseudo-terminal, a jego parametry obejmują wysokość i szerokość terminala.
byte SSH_MSG_CHANNEL_REQUEST
uint32 recipient channel
string "pty-req"
boolean want_reply
string TERM environment variable value (e.g., vt100)
uint32 terminal width, characters (e.g., 80)
uint32 terminal height, rows (e.g., 24)
uint32 terminal width, pixels (e.g., 640)
uint32 terminal height, pixels (e.g., 480)
string encoded terminal modes
Klienci telnet i ssh przechwycą SIGWINCH
sygnał, więc jeśli zmienisz rozmiar okna terminala podczas sesji, wyśle odpowiedni komunikat do serwera o nowym rozmiarze. Ssh wysyła komunikat zmiany wymiaru okna:
byte SSH_MSG_CHANNEL_REQUEST
uint32 recipient channel
string "window-change"
boolean FALSE
uint32 terminal width, columns
uint32 terminal height, rows
uint32 terminal width, pixels
uint32 terminal height, pixels
Window Dimension Change Message
? Nigdzie nie mogę znaleźć tego przykładu.