cc/td/doc/product/software/ssr83
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Configuring XRemote

Configuring XRemote

This chapter focuses on Cisco's support for the XRemote capabilities of Network Computing Devices, Inc. (NCD) X Window terminals. It covers the following information:

This chapter does not fully address the details of the X Window System and X-based computing environments. The following are suggested sources for more complete definitions and implementation descriptions:


Note XRemote protocol translation support is disabled on an IGS system whenever routing is enabled.

The X Window System

The X Window SystemTM, typically called X, is a network-based graphics window system developed at the Massachusetts Institute of Technology (MIT) in 1984 for workstations running UNIX. It was originally written in the C programming language; however, X is not tied to a specific operating environment, programming language, or hardware configuration.

Previous window systems were kernel-based and were thus closely linked to the operating system running on a workstation itself. They typically have run only on discrete systems, such as a single workstation. The X Window System is not part of any operating system, but instead is composed of application programs. Thus, X enables flexible, graphics-based network computing across a wide range of operating systems and hardware platforms.

X and the Client Server Model

The underlying architecture of the X Window System is based on a client server model. The system is split into two parts: display servers and clients. Display servers provide specific display capabilities and track user input; clients are application programs that perform specific tasks. These two parts can reside on the same computer, or can be separated over a network. In an X terminal environment, such as in NCD terminal implementations, the display server resides on the display station and the client resides on a host computer.

Because X employs this functional partitioning and is independent of both hardware and operating environment, X terminal users can access different types of computers to simultaneously access several applications and resources in a multivendor environment. A user at an X terminal can run and display a calendar program on a VAX, a spreadsheet program on a PC, and a compiler on workstation concurrently.

How XRemote Works

XRemote is a protocol developed specifically to optimize support for X over a serial communications link. Its compression and decompression algorithms are designed to handle bit-mapped displays and windowing systems.

There are two basic parts to XRemote:

The PROM-based elements consist of the X server and boot monitor. These are responsible for booting the display station, managing local processes, and handling communications with the host computer. The helper process allows the XRemote display station to communicate, through the protocol translator, with other hosts on the network. PROMs that implement these elements are available from NCD.

XRemote Support for Cisco's Protocol Translator

XRemote enables a user of an NCD network display station to run the X Window System via 9600 baud (and faster) modem connections with superior performance compared with conventional serial protocols, such as SLIP (Serial Line Internet Protocol). The NCD terminal must have a compatible XRemote PROM set installed.

Figure 1-1 illustrates XRemote network accessibility via Cisco protocol translators.

Cisco's implementation of XRemote is fully compatible with the NCD XRemote protocol. Remote access to fonts is provided using the Internet standard Trivial File Transfer Protocol (TFTP).

To make an XRemote connections via a protocol translator, you must use the "two-step translation method." Two-step translation is described in more detail in the chapter, "Using the Protocol Translator." Cisco protocol translators support translation from X.25/PAD to XRemote. To connect to an X-based host on a remote LAN through a protocol translator, first connect to the protocol translator via and X.25 PDN. From there, you can make an XRemote connection to the host using the XRemote facility described in this chapter.


Figure 1-1: Example XRemote Protocol Translation Illustration



Starting XRemote

XRemote can be invoked in one of two ways:

The following brief procedures outline steps required for starting up XRemote in several typical environments. When possible, it's generally suggested that the automated XDMCP process be used.

Automatic Session Start-up

If your host computer includes a server for XDMCP, such as the xdm program included in X11R4, you can use automatic session start-up to start up your XRemote session.

The EXEC command used to initiate XRemote using XDMCP is xremote xdm. This command has the following syntax:

xremote xdm hostname

This command causes an XDMCP session start-up request to be made to the computer specified (hostname). If a hostname is not specified, a broadcast message is sent to all hosts. The first host to respond by starting a session is used.

The protocol translator and X terminal stay in XRemote mode until either the display manager terminates the session, or a reset request is received from the X terminal.

Manual Session Start-up

If you are not using a host computer which supports XDMCP, you must use manual session startup. Manual session startup involves several steps:

Step 1: Enabling XRemote manually on the protocol translator port

Step 2: Connecting to the host computer

Step 3: Setting the location of the X display

Step 4: Starting up client application(s)

Step 5: Returning to the protocol translator EXEC prompt

Step 6: Enabling XRemote manually again on the protocol translator port

Enabling XRemote Manually

The EXEC command xremote prepares the protocol translator for your use of Xremote. The protocol translator replies with a message informing you of your X display location:

Xremote enabled; your display is darkstar:2018
Start your clients and type Xremote again

In the above message, the protocol translator informs you that your display is darkstar:2018. This information will be used in a following step.

Connecting to the host computer

Connect to the host computer using the telnet, lat, or rlogin commands, and log in normally.

Setting the Location of the X Display


Note  If you are using a version of Telnet (on the remote host) which supports the "X Display Location" option (RFC 1096), you may skip this step; proceed to "Starting Clients."

The next step is to inform the host computer of the location of your X display, which was provided to you by the protocol translator when you entered the xremote command above.

For most versions of the UNIX operating system, the X display location is set by using the setenv command to set the environment variable DISPLAY. Refer to the on-line, X(1) manual page for more information.

Example:
host_prompt% setenv DISPLAY darkstar:2018

On VAX/VMS, use the SET DISPLAY command. Refer to the VMS DCL Dictionary for more information.

Example:
$ SET DISPLAY/CREATE/NODE=DARKSTAR/SERVER=2018/TRANSPORT=[transport]

Note You must have installed either the TCP/IP transport from DEC, or a third-party TCP/IP transport. Contact your VAX/VMS system administrator for the appropriate LAT or TCP/IP transport name. If you use the LAT transport, use the terminal line number (that is, 22) instead of the display number 2018.

Starting Clients

At this point, you must start your client applications for your host operating system.

The protocol translator accepts the X connection attempt from the client application, and places the client into a dormant state.

Returning to the Protocol Translator EXEC Prompt

If it is possible to log off of the host computer and keep your X clients running in the background, you can do so now. This conserves resources on the host and protocol translator that would otherwise be inaccessible until you exited from XRemote state.

If not, you may simply escape back to the protocol translator prompt using the escape character (Ctrl ^, Shift-x).

Re-enabling XRemote Manually

Enter the command xremote to access XRemote mode. If the X client(s) connected successfully, the session will be put into XRemote mode, and the clients will be allowed to complete their startup.

If no clients were found, you will see the following message:

No X clients waiting - check that your display is darkstar:2018

Check your hosts to determine if an error was made when starting the session. The most likely cause is an improperly specified display location. Another possible cause is the host computer does not recognize the name of the protocol translator through which you are attempting to make a connection.

Session Termination

In manual operation, the protocol translator and X terminal remains in XRemote mode until either all clients disconnect or a reset request is received from the X terminal.

If a session terminates during startup, it may be because you invoked transient X clients which set some parameters and exit. There must always be one session connected or the connection will be reset.

Configuring XRemote

To make a host connection via NCD's XRemote feature and a Cisco protocol translator, you must complete some basic configuration steps.

Step 1: Configure the X-terminal and protocol translator for fonts to be used and other special parameters.

Step 2: Set up the NCD terminal's X Server, Network, and Serial Parameters. Refer to your NCD manual for specific details of configuring these parameters.

Font Selection

Depending on the fonts to be used on the terminal, you may need to specify the location of a font server. The NCD terminal contains a small set of built-in fonts in local ROM. It is recommended that these fonts be used, as loading fonts over a serial line can increase application start-up time. The default for an NCD terminal is to use built-in fonts.

Accessing Non-Resident Fonts

When an X terminal application requests a font which is not stored in the NCD ROM, the X terminal makes a request for a font file from the protocol translator. The protocol translator uses the trivial file transfer protocol (TFTP) to load the font from the font server, and then passes the font to the X terminal using the XRemote protocol. The process of loading fonts from the protocol translator to the X terminal can take 30 to 45 seconds, depending on the size of the font file.

An X server can display only the fonts it finds in the directories in its font path. The X server's default font path includes only the built-in fonts. To access fonts stored on a host, you must add the host's font directories to the X server's font path. To do this, use the UNIX command xset with the [fp+] argument to add fonts to the end of the server's font path.

For example, to allow your display station to access the 100 dpi (dots per inch) fonts found in the standard font directory, run the following command (at the host system prompt):

<host_prompt>% xset fp+ /usr/lib/x11/ncd/fonts/100dpi

For more information, refer to the NCDware XRemote User's Manual.

Protocol Translator Configuration

Using three global configuration commands, several protocol translator options can be set that identify font loaders (hosts), set buffersize, and specify the number of font loader retries. These system configuration commands are available only when the protocol translator privilege level has been enabled, allowing access to the configure command. Once you've accessed the system configuration facility, use the xremote tftp global configuration commands to modify these parameters. The only parameter that generally must be set is the font loader host identification (only if you intend to download fonts to the X terminal).

Identifying Font Servers

Use the global configuration command xremote tftp host to add a specific font server as a source of fonts for the terminal (and the protocol translator). This command has the following syntax:

xremote tftp host [hostname]
no xremote tftp host [
hostname]

Each time a new host name is entered, the list on the protocol translator is updated. Font servers are queried in the order of their definition when the X terminal requests a font.

The command no xremote tftp host [hostname] removes a font server from the list maintained by the protocol translator.

Specifying Buffersize

Use the global configuration command xremote tftp buffersize to set the protocol translator buffer size for specific font requirements. This command has the following syntax.

xremote tftp buffersize [decimal value]
no xremote tftp buffersize

This xremote command sets the buffer size used for loading font files to a specified value (in decimal bytes). When the X terminal requests that a font file be loaded, the protocol translator must first load the font file into an internal buffer before passing it to the X terminal. The default value of 32768 is adequate for most font files, but the size can be increased as necessary for non-standard font files.

The buffer size may be set as low as 4096 bytes, and as large as the available memory on the protocol translator will allow.

The command no xremote tftp buffersize restores the buffer size to the default of 32768 bytes.

Determining Font Loader Retries

Use the global configuration command xremote tftp retries to specify the number of retries the font loader will attempt before declaring an error condition. This command has the following syntax:

xremote tftp retries [value]
no xremote tftp retries

The default value is 3. Under certain conditions, you may need to increase this number, particularly if the font server(s) is(are) known to be heavily loaded. Acceptable values range from 1 to 15.

The command no xremote tftp retries restores the retries number to the default of 3.

Making Modem Connections

The following brief discussion outlines recommendations for modem setup when using XRemote to access remote resources via a Cisco protocol translator.

Modem Requirements

In general, you can use any modem that provides acceptable performance for your application. The following guidelines apply to XRemote operation using a modem:

Monitoring XRemote Connections

You can use the EXEC command show xremote to list XRemote connections and monitor XRemote traffic through the protocol translator. The syntax for this command is as follows:

show xremote

This show command provides XRemote parameters applied to the entire system, as well as statistics that are pulled for all active XRemote connections. The following example illustrates screen output resulting from a show xremote command when XRemote is enabled on a protocol translator, and XRemote sessions are active.

Example:
ts_prompt>show xremote
Xremote server-wide parameters:
  Font buffersize:     72000              Font retries: 3
  Font memory errors:  0
Font load statistics for host 131.108.1.111:
  Bytes read:          2697239            Files read: 258
  Network errors:      4                  File errors: 0
Xremote statistics for tty2:
  Current clients:     9                  Total clients: 17
  Requesting client:   5                  Current request size: 0
  Replying client:     6                  Current reply size: 0
  XDM state:           10                 Next timeout: 172460
  Retransmit counter:  0                  Local UDP port: 53616
  Keepalive dormancy:  180                Session id: 94
  Unread input:        0                  Unwritten output: 0
  Input buffer size:   1024               Output buffer size: 108
  Protocol version:    2                  Line state: Connected
  Transmit packets:    50768              Receive packets: 49444
  Transmit errors:     0                  Receive errors: 37
  Retransmissions:     403                Receive out of sequence: 76
  Round trip time:     383                Retransmit interval: 766
  Transmit window:     7                  Receive window: 7
  Transmit next:       6                  Receive next: 3
  Transmit unacked:    6                  Receive unacked: 0
  Connection 0 - TCP connection from 131.108.1.55  [Display Manager]
    Client state:       CS_ACTIVE         Byte order: MSBfirst
    Unread input:       0                 Unwritten output: 0
    Input buffer size:  1024              Output buffer size: 1024
  Connection 1 - TCP connection from 131.108.1.55
    Client state:       CS_ACTIVE         Byte order: MSBfirst
    Unread input:       0                 Unwritten output: 0
    Input buffer size:  1024              Output buffer size: 1024
  Connection 2 - TCP connection from 131.108.1.55
    Client state:       CS_ACTIVE         Byte order: MSBfirst
    Unread input:       0                 Unwritten output: 0
    Input buffer size:  1024              Output buffer size: 1024

You can use the EXEC command show xremote line to list XRemote connections and monitor XRemote traffic for specific lines on a protocol translator. The syntax for this command is as follows:

show xremote line number

The variable number is a decimal value representing the virtual terminal lines available on a protocol translator. The following example illustrates screen output resulting from a show xremote line command when XRemote is enabled on a protocol translator, and XRemote sessions are active. Only information specific to an individual terminal line is provided.

Example:
chaos#show xremote line 3
Xremote statistics for tty3:
  Current clients:     11                 Total clients: 19
  Requesting client:   10                 Current request size: 0
  Replying client:     10                 Current reply size: 0
  XDM state:           10                 Next timeout: 173304
  Retransmit counter:  0                  Local UDP port: 28384
  Keepalive dormancy:  180                Session id: 29
  Unread input:        0                  Unwritten output: 0
  Input buffer size:   1024               Output buffer size: 108
  Protocol version:    2                  Line state: Connected
  Transmit packets:    28875              Receive packets: 18644
  Transmit errors:     0                  Receive errors: 13
  Retransmissions:     53                 Receive out of sequence: 41
  Round trip time:     384                Retransmit interval: 768
  Transmit window:     7                  Receive window: 7
  Transmit next:       2                  Receive next: 7
  Transmit unacked:    2                  Receive unacked: 0
  Connection 0 - TCP connection from 131.108.1.27  [Display Manager]
    Client state:       CS_ACTIVE         Byte order: MSBfirst
    Unread input:       0                 Unwritten output: 0
    Input buffer size:  1024              Output buffer size: 1024
  Connection 1 - TCP connection from 131.108.1.27
    Client state:       CS_ACTIVE         Byte order: MSBfirst
    Unread input:       0                 Unwritten output: 0
    Input buffer size:  1024              Output buffer size: 1024
  Connection 2 - TCP connection from 131.108.1.27
    Client state:       CS_ACTIVE         Byte order: MSBfirst
    Unread input:       0                 Unwritten output: 0
    Input buffer size:  1024              Output buffer size: 1024
                                                                             

Debugging XRemote

Although several privileged EXEC debugging commands are provided with the Cisco XRemote implementation, they are generally used for internal Cisco technical support purposes. The following is a listing of these debug commands. For each debug command, there is a corresponding undebug command to disable the reports.

debug xremote-bytestream-flow

The debug xremote-bytestream-flow command enables logging of XRemote bytestream state machine flow.

debug xremote-bytestream-protocol

The debug xremote-bytestream-protocol command enables logging of XRemote bytestream protocol packets.

debug xremote-deltas

The debug xremote-deltas command enables logging of XRemote delta compression information.

debug xremote-files

The debug xremote-files command enables logging of XRemote file access.

debug xremote-flow

The debug xremote-flow command enables logging of XRemote client flow.

debug xremote-replies

The debug xremote-replies command enables logging of XRemote replies.

debug xremote-requests

The debug xremote-requests command enables logging of XRemote requests.

debug xremote-packet

The debug xremote-packet command enables logging of XRemote packets.

debug xremote-xdm

The debug xremote-xdm command enables logging of XRemote XDMCP protocol and state machine events.

XRemote Global Command Summary

The following XRemote global configuration commands specify system-wide parameters for XRemote support.

[no]xremote tftp buffersize [decimal value]

Sets the protocol translator buffer size for specific font requirements.

This xremote command sets the buffer size used for loading font files to a specified value (in decimal). When the X terminal requests that a font file be loaded, the protocol translator must first load the font file into an internal buffer before passing it to the X terminal. The default value of 32768 is adequate for most font files, but the size can be increased as necessary for non-standard font files.

The buffer size may be set as low as 4096 bytes, and as large as the available memory on the protocol translator will allow.

The command no xremote tftp buffersize restores the buffer size to the default of 32768 bytes.

[no] xremote tftp host [hostname]

Adds a specific font server as a source of fonts for the terminal (and the protocol translator). Each time a new host name is entered, the list on the protocol translator is updated. Font servers are queried in the order of their definition when the X terminal requests a font.

The command no xremote tftp host [hostname] removes a font server from the list maintained by the protocol translator.

[no]xremote tftp retries value

Specifies the number of retries the font loader will attempt before declaring an error condition. The argument value is an integer.

The default value is 3. Under certain conditions, you may need to increase this number, particularly if the font server(s) is(are) known to be heavily loaded. Acceptable values range from 1 to 15.

The command no xremote tftp retries restores the retries number to the default of 3.

hometocprevnextglossaryfeedbacksearchhelp
Copyright 1989-1997 © Cisco Systems Inc.