Das in RFC 854 beschriebene Telnet-Protokoll enthält eine Methode zum Senden von In-Band-Befehlen, die aus dem IAC-Zeichen und '\255'
mehreren weiteren Bytes bestehen. Diese Befehle können beispielsweise einen Interrupt an die Fernbedienung senden, werden jedoch normalerweise zum Senden von Optionen verwendet .
Einen detaillierten Überblick über eine Vermittlungsstelle, die die Option " Terminaltyp" sendet , finden Sie in Microsoft Q231866 .
Die Fenstergrößenoption wird in beschrieben RFC 1073 beschrieben . Der Kunde sendet zunächst seine Bereitschaft, eine NAWS
Option zu senden . Wenn der Server antwortet DO NAWS
, kann der Client die Optionsdaten senden NAWS
, die aus zwei 16-Bit-Werten bestehen.
Beispielsitzung auf einem Terminal mit 47 Zeilen und 80 Spalten:
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)
Das SSH-Protokoll ist in RFC 4254 beschrieben . Es besteht aus einem Strom von Nachrichten. Eine solche Nachricht ist"pty-req"
, die ein Pseudoterminal anfordert, und deren Parameter die Terminalhöhe und -breite umfassen.
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
Die Telnet- und SSH-Clients SIGWINCH
empfangen das Signal. Wenn Sie also die Größe eines Terminalfensters während einer Sitzung ändern, senden sie eine entsprechende Nachricht mit der neuen Größe an den Server. Ssh sendet die Window Dimension Change Message:
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
? Ich kann nirgendwo ein Beispiel dafür finden.Ich vermute, dass es über das Signal
SIGWINCH
--- wahrscheinlich die Pfeife runter geliefert wird.Aus Wikipedia :
Wenn ich ein (in
zsh
) mache :... und ich ändere die Terminalgröße:
quelle
RFC 4254 Abschnitt 6.9 Der Nachrichtenname "window-change" wird mit den neuen Dimensionen gesendet. Auf der Client-Seite mag es wahr sein, dass der ursprüngliche SIGWINCH abgefangen wurde, aber er wird meiner Meinung nach über diese Nachricht gesendet. https://www.ietf.org/rfc/rfc4254.txt
quelle