Protokol telnet, yang dijelaskan dalam RFC 854 , termasuk cara untuk mengirim perintah dalam-band, yang terdiri dari karakter IAC , '\255'
, diikuti oleh beberapa byte lagi. Perintah-perintah ini dapat melakukan hal-hal seperti mengirim interupsi ke remote, tetapi biasanya mereka digunakan untuk mengirim opsi .
Pandangan terperinci pada pertukaran yang mengirim opsi jenis terminal dapat ditemukan di Microsoft Q231866 .
The ukuran jendela opsi yang dijelaskan dalam RFC 1073 . Klien pertama-tama mengirimkan kesediaannya untuk mengirim NAWS
opsi. Jika server membalas DO NAWS
, klien kemudian dapat mengirim NAWS
data opsi, yang terdiri dari dua nilai 16-bit.
Sesi contoh, pada terminal 47 baris 80 kolom:
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)
Protokol ssh dijelaskan dalam RFC 4254 . Ini terdiri dari aliran pesan. Salah satu pesan tersebut adalah "pty-req"
, yang meminta terminal palsu, dan parameternya termasuk tinggi dan lebar terminal.
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
Klien telnet dan ssh akan menangkap SIGWINCH
sinyal, jadi jika Anda mengubah ukuran jendela terminal selama sesi, mereka akan mengirim pesan yang sesuai ke server dengan ukuran baru. Ssh mengirim Pesan Perubahan Dimensi Jendela:
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
? Saya tidak dapat menemukan contohnya di mana pun.Saya curiga bahwa itu melalui sinyal
SIGWINCH
--- mungkin diturunkan pipa.Dari wikipedia :
Jika saya melakukan
zsh
:... dan saya mengubah ukuran terminal:
sumber
RFC 4254 Bagian 6.9 Nama pesan "perubahan jendela" dikirim dengan dimensi baru. Di sisi klien mungkin benar SIGWINCH asli tertangkap, tetapi itu dikirim melalui pesan yang saya percaya. https://www.ietf.org/rfc/rfc4254.txt
sumber