RFC 1096 PROPOSED STANDARD TELNET · X WINDOW

Telnet X display location option

A Telnet option that lets a client tell the remote host where the user's X display is.

On rfc-editor.org ↗
PUBLISHED
March 1989
AUTHORS
G.A. Marcy
STREAM
Legacy
OPTION NAME
X-DISPLAY-LOCATION (XDISPLOC)
OPTION CODE
35
SEND CODE
1
IS CODE
0
DEFAULT
WON'T / DON'T
DOI
10.17487/RFC1096

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                           G. Marcy
Request for Comments: 1096                    Carnegie Mellon University
                                                              March 1989


                    Telnet X Display Location Option

Status of This Memo

   This RFC specifies a standard for the Internet community.  Hosts on
   the Internet that transmit the X display location within the Telnet
   protocol are expected to adopt and implement this standard.
   Distribution of this memo is unlimited.

   This standard is modelled on RFC 1079 [1], the telnet terminal speed
   option.  Much of the text of this document is copied from that RFC.

Motivation

   When a user is running the Telnet client under the X window system,
   it is useful for the remote Telnet to know the X display location of
   that client.  For example, the user might wish to start other X
   applications from the remote host using the same display location as
   the Telnet client.  The purpose of this option is to make this
   information available through telnet connections.

1. Command Name and Code

      X-DISPLAY-LOCATION (XDISPLOC)

      Code = 35

2. Command Meanings

      IAC WILL X-DISPLAY-LOCATION

         Sender is willing to send the X display location in a
         subsequent sub-negotiation.

      IAC WON'T X-DISPLAY-LOCATION

         Sender refuses to send the X display location.

      IAC DO X-DISPLAY-LOCATION

         Sender is willing to receive the X display location in a
         subsequent sub-negotiation.

      IAC DON'T X-DISPLAY-LOCATION

         Sender refuses to accept the X display location.

      IAC SB X-DISPLAY-LOCATION SEND IAC SE

         Sender requests receiver to transmit his (the receiver's) X
         display location.  The code for SEND is 1.  (See below.)

      IAC SB X-DISPLAY-LOCATION IS ... IAC SE

         Sender is stating his X display location.  The code for IS is
         0.  (See below.)

3. Default

      WON'T X-DISPLAY-LOCATION

         The X display location will not be exchanged.

      DON'T X-DISPLAY-LOCATION

         The X display location will not be exchanged.

4. Description of the Option

   WILL and DO are used only to obtain and grant permission for future
   discussion.  The actual exchange of status information occurs within
   option subcommands (IAC SB X-DISPLAY-LOCATION...).

   Once the two hosts have exchanged a WILL and a DO, the sender of the
   DO X-DISPLAY-LOCATION is free to request the X display location.
   Only the sender of the DO may send requests (IAC SB X-DISPLAY-
   LOCATION SEND IAC SE) and only the sender of the WILL may transmit
   actual X display location (within an IAC SB X-DISPLAY-LOCATION IS ...
   IAC SE command).  The X display location may not be sent
   spontaneously, but only in response to a request.

   The X display location is an NVT ASCII string.  This string follows
   the normal Unix convention used for the DISPLAY environment variable,
   e.g.,

         <host>:<dispnum>[.<screennum>]

   No extraneous characters such as spaces may be included.

      The following is an example of use of the option:

         Host1: IAC DO X-DISPLAY-LOCATION

         Host2: IAC WILL X-DISPLAY-LOCATION

      (Host1 is now free to request status information at any time.)

         Host1: IAC SB X-DISPLAY-LOCATION SEND IAC SE

         Host2: IAC SB X-DISPLAY-LOCATION IS "SRI-NIC.ARPA:0.0" IAC SE

      (This command is 22 octets.)

5. Implementation Suggestions

   Since the X display location may not contain a hostname on the client
   host, i.e., ":0" or "unix:0.0", the Telnet client will need to modify
   the location appropriately before sending it on to the remote Telnet.

Reference

   [1]  Hedrick, C., "Telnet Terminal Speed Option", RFC 1079,
        Rutgers University, December, 1988.

Author's Address:

   Glenn A. Marcy
   Carnegie Mellon University
   School of Computer Science
   Pittsburgh, PA 15213-3890

   Phone: (412) 268-7669

   Email: Glenn.Marcy@CS.CMU.EDU

AI ELI5

On this page
PROBLEMA remote Telnet host does not know the X display location of the user's Telnet client, so it cannot start other X applications on the same display.
MECHANISMThe X-DISPLAY-LOCATION option (code 35) lets the side that sent DO ask with a SEND subcommand, and the side that sent WILL reply with an IS subcommand holding the display string.
WHY IT MATTERSThe display location is an NVT ASCII string in the usual DISPLAY form, sent only on request, and the memo expects hosts that transmit it to adopt this standard.

§1Why Share the Display Location

When a user runs the Telnet client under the X window system, the remote Telnet benefits from knowing that client's X display location. The user might want to start other X applications from the remote host on the same display. This option makes that information available through Telnet connections.

It is modelled on the terminal speed option in RFC 1079, and much of its text is copied from that RFC.

If you start a program far away, it needs to know which screen to show up on. This option tells it.

§2Commands and Negotiation

The option is named X-DISPLAY-LOCATION (XDISPLOC) and has code 35. The usual WILL, WON'T, DO and DON'T commands are used. WILL and DO only obtain and grant permission. The default is WON'T and DON'T, so the location is not exchanged unless both sides agree.

After a WILL and a DO, the side that sent DO may ask for the location with IAC SB X-DISPLAY-LOCATION SEND IAC SE (SEND is code 1). Only the sender of the WILL may answer with IAC SB X-DISPLAY-LOCATION IS ... IAC SE (IS is code 0). The location may not be sent spontaneously, only in response to a request.

First both sides agree they will talk about it. Then one asks, "where is your screen?" and the other answers. Nobody blurts it out unasked.

EXAMPLE FROM RFC 1096
Host1Host2
  1. IAC DO X-DISPLAY-LOCATION
  2. IAC WILL X-DISPLAY-LOCATION
  3. IAC SB X-DISPLAY-LOCATION SEND IAC SE
  4. IAC SB X-DISPLAY-LOCATION IS "SRI-NIC.ARPA:0.0" IAC SE

§3The Location String

The location is an NVT ASCII string in the normal Unix DISPLAY convention: <host>:<dispnum>[.<screennum>]. No extraneous characters, such as spaces, may be included.

The RFC's example has Host2 answer with "SRI-NIC.ARPA:0.0", a command of 22 octets. It also notes that a local location such as :0 or unix:0.0 lacks a hostname, so the Telnet client must modify it appropriately before sending it on.

The answer is a short line of text like an address: which computer, which display, and which screen.

§4References