home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Edition 1: Linux / CD1.iso / doc / HOWTO / mini / NCD-X-Terminal < prev    next >
Text File  |  1998-10-14  |  19KB  |  661 lines

  1.   NCD X terminal mini HOWTO
  2.   Ian Hodge, ihodge at nortel.ca
  3.   v1.01, 9 August 1998
  4.  
  5.   This document describes how to connect an NCD X terminal to a UNIX
  6.   host
  7.   ______________________________________________________________________
  8.  
  9.   Table of Contents
  10.  
  11.  
  12.   1. Copyright
  13.  
  14.   2. Introduction
  15.  
  16.      2.1 Summary of steps
  17.  
  18.   3. Requirements
  19.  
  20.      3.1 The X terminal
  21.      3.2 Physical Connection
  22.      3.3 NCD X server software
  23.  
  24.   4. Configuring the UNIX Host
  25.  
  26.      4.1 TFTP and BootP
  27.  
  28.   5. Configuring the NCD X terminal Boot Process
  29.  
  30.      5.1 Boot Monitor command syntax
  31.      5.2 Boot Monitor Setup Menu
  32.      5.3 X Terminal Configuration Files
  33.      5.4 Logging on to the host
  34.  
  35.   6. Fonts and the X terminal
  36.  
  37.      6.1 The font server
  38.  
  39.   7. Miscellaneous
  40.  
  41.      7.1 Reference
  42.      7.2 Equipment used in the preparation of this document
  43.      7.3 Acknowledgments
  44.      7.4 Outstanding Issues
  45.      7.5 Feedback
  46.  
  47.  
  48.   ______________________________________________________________________
  49.  
  50.   1.  Copyright
  51.  
  52.   The NCD X terminal mini HOWTO is copyright (C) 1998 by Ian Hodge.
  53.   Linux HOWTO documents may be reproduced and distributed in whole or in
  54.   part, in any medium physical or electronic, as long as this copyright
  55.   notice is retained on all copies.
  56.  
  57.  
  58.   2.  Introduction
  59.  
  60.   This document describes how an X terminal manufactured by NCD (Network
  61.   Computing Devices) can be connected to and booted from a UNIX host
  62.   using BootP (boot protocol). Many terminals are also capable of
  63.   booting with RARP, NFS or locally from a PCMCIA card or over a serial
  64.   link (either directly or with a modem).
  65.  
  66.  
  67.   Although the material in this document was prepared based on
  68.   experience with a single model of X terminal, much of the information
  69.   applies to other models and other X terminals generally. There is also
  70.   an Linux X terminal mini HOWTO document (declared obsolete by HOWTO
  71.   maintainers at the time of writing and therefore possibly not
  72.   available in all Linux distributions) which overlaps material from
  73.   this document. That document covers X terminal information more
  74.   generally.
  75.  
  76.  
  77.   2.1.  Summary of steps
  78.  
  79.   The process of connecting an X terminal to a UNIX network can be
  80.   summarized in the following steps:
  81.  
  82.  
  83.   ╖  Physically connect the X terminal to the network.
  84.  
  85.   ╖  Configure the UNIX host you are going to boot from.
  86.  
  87.   ╖  Configure the X terminal boot procedure.
  88.  
  89.   ╖  Boot the X terminal.
  90.  
  91.   ╖  Log in to the network.
  92.  
  93.  
  94.  
  95.   3.  Requirements
  96.  
  97.   3.1.  The X terminal
  98.  
  99.   An X terminal is a device which communicates and displays over a
  100.   network using a distributed network window system known as X.
  101.   Typically, the terminal's X software, known as the X server, is
  102.   retrieved from the network at boot time. Programs other then the X
  103.   server software are not run locally on the X terminal (with some
  104.   exceptions); instead, the X terminal displays programs running on
  105.   other hosts on the network. The X terminal, therefore, is a type of
  106.   network computer which uses the X protocol to access network
  107.   resources.
  108.  
  109.  
  110.   3.2.  Physical Connection
  111.  
  112.   The NCD X terminal (model Xncd19r was used in preparation of this
  113.   document) has an RJ-45 (twisted pair) connector for use with 10baseT
  114.   Ethernet. A hub is required to link more than two Ethernet devices
  115.   using twisted pair. If the X terminal and its host are the only
  116.   devices in the network, they may be connected with a 'null' cable
  117.   which is described in the Linux Ethernet HOWTO document.
  118.  
  119.  
  120.   3.3.  NCD X server software
  121.  
  122.   The terminal's X server software file is available from the
  123.   manufacturer and presumably is provided with the terminal upon initial
  124.   purchase. This file will reside on the boot host where it can be
  125.   accessed by the X terminal when it boots. This file is specific to the
  126.   terminal type but independent of boot host. The terminal can boot from
  127.   any host which supports the boot communication protocol (explained
  128.   later). In addition to X server, the X software may also include
  129.   applications, like a window manager, which can run locally on the X
  130.   terminal itself.
  131.  
  132.  
  133.   4.  Configuring the UNIX Host
  134.  
  135.   At boot time, the X terminal retrieves files (including its X server
  136.   software) from a remote host on the network. After the terminal boots,
  137.   the X server software will control input, display, local clients and X
  138.   protocol communication. The X server software is executed on the X
  139.   terminal and therefore does not have to be software compatible with
  140.   the host on which it resides.
  141.  
  142.  
  143.   4.1.  TFTP and BootP
  144.  
  145.   Together, tftp (trivial file transfer protocol) and BootP (boot
  146.   protocol server) are used on the remote host to allow the X terminal
  147.   to retrieve its X server software and configuration files over the
  148.   network. Both services are typically started by inetd (Internet
  149.   Daemon).
  150.  
  151.  
  152.   After the X terminal is powered up, if it is configured to boot from
  153.   the network, it will send out a broadcast message using BootP (TCP/IP
  154.   bootstrap protocol). This boot message will contain the X terminal's
  155.   hardware (Ethernet) address which is used by the boot host to respond
  156.   to the boot request.
  157.  
  158.   When a boot request is received by the remote host, inetd (listening
  159.   on a port designated in /etc/services) starts the BootP daemon
  160.   specified in /etc/inetd.conf.
  161.  
  162.   In file inetd.conf, create or uncomment lines that refer to TFTP and
  163.   BootP. The final argument of the tftpd entry in the example below is
  164.   the path of the directory containing the files required by the X
  165.   terminal. Although directory names are not mandatory, for security
  166.   reasons they should always be present as tftp access will then be
  167.   restricted to files in specified directories.
  168.  
  169.   >From a sample file /etc/inetd.conf:
  170.  
  171.   # tftp service is provided primarily for booting.  Most sites
  172.   # run this only on machines acting as "boot servers".
  173.   tftp   dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd /usr/X11/lib/X11/ncd/
  174.   bootps dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.bootpd
  175.  
  176.  
  177.  
  178.  
  179.   Upon activation, the BootP server daemon on the host will then read
  180.   its database file /etc/bootptab. An entry for the X terminal must be
  181.   placed in this file. Each entry contains a set of tags separated with
  182.   ':' characters. The host name must be the very first tag in an entry.
  183.  
  184.   Useful bootptab tags:
  185.  
  186.      ip Address of the X terminal (eg 10.0.0.1).
  187.  
  188.  
  189.      sm Subnet mask (eg 255.0.0.0). To understand the use of the subnet
  190.         mask and other IP networking principles, consult the Linux NET-3
  191.         (networking) HOWTO document.
  192.  
  193.  
  194.      gw IP Address of gateway (eg 10.0.0.1).
  195.  
  196.      ht Hardware type - Ethernet in this example.
  197.  
  198.  
  199.      ha Hardware address of X terminal (6 byte Ethernet address)
  200.  
  201.         According to the bootptab UNIX man page, the 'ha' tag must be
  202.         preceded by the 'ht' tag. The X terminal's Ethernet address is
  203.         displayed when the terminal is first powered on. The address
  204.         appears as a series of 6 double digit hex numbers separated by
  205.         colons (e.g. 00:00:A7:12:26:19).
  206.  
  207.  
  208.      tc Table continuation or label of another entry in the BootP
  209.         database. See the example below.
  210.  
  211.  
  212.      ds IP address of domain name server (eg 10.0.0.3). Not required if
  213.         DNS is not used for hostname resolution.
  214.  
  215.  
  216.      bf Name of X terminal boot file (Usually the terminal model is used
  217.         as the X server file name eg Xncd19r).
  218.  
  219.  
  220.   The following is an example of the Boot protocol server database file,
  221.   /etc/bootptab. The character '\' is used to escape the end-of-line
  222.   character.
  223.  
  224.  
  225.   # This is a general entry (here given the name default)
  226.   # with information common to all BootP clients
  227.   default:hd=/usr/X11/lib/X11/ncd/:\
  228.           ds=10.0.0.3:\
  229.           sm=255.0.0.0:\
  230.           gw=10.0.0.1:\
  231.  
  232.   # X terminal entry with hostname myxterm
  233.   # Notice the tc tag reference to the entry default
  234.   myxterm:ht=ethernet:\
  235.           ha=0x0000a7122619:\
  236.           ip=10.0.0.2:\
  237.           tc=default:\
  238.           bf=Xncd19r:
  239.  
  240.  
  241.  
  242.  
  243.   When a matching entry for the hardware address in the boot request is
  244.   found in the bootptab file, a response is sent by bootpd with the
  245.   corresponding IP address from the matching entry. File transfer can
  246.   then take place over IP using TFTP.
  247.  
  248.   A hostname can be assigned to the X terminal by creating an entry on
  249.   the boot host in the file /etc/hosts. This file is used to map
  250.   hostnames to IP addresses. In the this example, the X terminal
  251.   (address 10.0.0.2) has been assigned the hostname 'myxterm'.
  252.  
  253.  
  254.   10.0.0.1        linuxhost       # The boot host
  255.   10.0.0.2        myxterm         # X terminal
  256.  
  257.  
  258.  
  259.  
  260.   5.  Configuring the NCD X terminal Boot Process
  261.  
  262.   After being powered up, the X terminal attempts to boot. This is the
  263.   process where the X software is loaded into memory and executed. If
  264.   the X terminal cannot boot, the Boot Monitor prompt '>' will appear.
  265.   The Boot Monitor is firmware found in terminal PROMs (programmable
  266.   read-only memory). With the basic Boot Monitor interface, it is
  267.   possible to configure the terminal to boot and retrieve its X server
  268.   software from the host. Use
  269.  
  270.  
  271.   Configuration parameters set with the boot monitor are stored in NVRAM
  272.   (Non-volatile Random-Access Memory) and are retained when the terminal
  273.   is powered down.
  274.  
  275.  
  276.   >From the boot monitor, the 'bt' command or a menu system can be used
  277.   to boot the terminal. Functionality of the two methods largely
  278.   overlaps but the menu provides control over more boot parameters.
  279.  
  280.  
  281.   5.1.  Boot Monitor command syntax
  282.  
  283.   >bt file terminal_IP host_IP gateway_IP subnet_mask
  284.  
  285.  
  286.  
  287.      file
  288.         The name of the file retrieved from the remote host containing
  289.         the X server software used by the X terminal to boot (eg
  290.         "Xncd19r"). Check that this file name is the same as the file
  291.         name is found in the X terminal entry in the bootptab file on
  292.         the host (explained in the previous section).
  293.  
  294.  
  295.      terminal_IP
  296.         The IP address assigned to the X terminal (eg 10.0.0.2). Again,
  297.         this IP address should be the same as the address assigned in
  298.         the X terminal entry of the bootptab file on the host.
  299.  
  300.  
  301.      host_IP
  302.         The IP address of the boot host (eg 10.0.0.1).
  303.  
  304.  
  305.      gateway
  306.         The IP address of the subnet gateway (eg 10.0.0.1)
  307.  
  308.  
  309.      subnet_mask
  310.         The subnet mask, specified as a decimal IP address or as a
  311.         hexadecimal number (eg 255.0.0.0 or ff000000).
  312.  
  313.  
  314.   5.2.  Boot Monitor Setup Menu
  315.  
  316.   The setup menus are accessed by pressing the 'Setup' key or typing
  317.   'se' from the boot monitor '>' prompt.
  318.  
  319.  
  320.      Get IP Addresses From
  321.         The IP address of the X terminal should be obtained from boot
  322.         monitor configuration stored in NVRAM. Only select IP address
  323.         from the remote host.
  324.  
  325.  
  326.      Terminal IP Address
  327.         The IP address assigned to the X terminal (eg 10.0.0.2). This is
  328.         the same as 'terminal_IP' parameter above.
  329.  
  330.  
  331.      First Boot Host IP Address
  332.         The IP address of the boot host (eg 10.0.0.1). This is the same
  333.         as 'host_IP' parameter above.
  334.  
  335.  
  336.      Gateway IP Address
  337.         The IP address of the subnet gateway. This is the same as
  338.         'gateway' parameter above.
  339.  
  340.  
  341.      Subnet Mask
  342.         The subnet mask, specified as a decimal IP address. This is the
  343.         same as the 'subnet_mask' parameter above.
  344.  
  345.  
  346.      Broadcast IP Address
  347.         The IP address used to broadcast to the subnet. (eg
  348.         10.255.255.255)
  349.  
  350.  
  351.      Boot File
  352.         The name of the file retrieved from the remote host containing
  353.         the X server software used by the X terminal to boot (eg
  354.         "Xncd19r"). This is the same as 'file' parameter described
  355.         above.
  356.  
  357.  
  358.      TFTP Boot Directory
  359.         The name of the directory on the host which contains the boot
  360.         file (eg "/usr/X11/lib/X11/ncd/" or "/tftpboot/").
  361.  
  362.  
  363.      Config file
  364.         The name of the X terminal configuration file on the remote host
  365.         (See below).
  366.  
  367.  
  368.      UNIX Config Directory
  369.         Name of the directory containing X terminal configuration files
  370.         (eg "/usr/X11/lib/X11/ncd/").
  371.  
  372.  
  373.      TFTP Order, NFS Order, Local Order
  374.         Assign '1' to the preferred method for booting. Assign '1' to
  375.         TFTP when booting from a host using BootP.
  376.  
  377.  
  378.   5.3.  X Terminal Configuration Files
  379.  
  380.   During the boot process, the X terminal will attempt to transfer and
  381.   load files from the boot host. These files are not required for the X
  382.   terminal to boot successfully. If a file is not found, the terminal
  383.   will use default settings.
  384.  
  385.   Configuration Files transferred to the X terminal at boot time:
  386.  
  387.   ╖  X terminal configuration file (eg ncd.conf) used to retain terminal
  388.      settings.
  389.  
  390.   ╖  Color file (eg rgb.txt).
  391.  
  392.   ╖  X key symbol database (eg XKeysymDB).
  393.  
  394.   ╖  Font directory files (eg font.dir, font.alias).
  395.  
  396.  
  397.   After a successful boot, the X terminal console window with a menu bar
  398.   should appear. The terminal setup key toggles display of this console
  399.   window. From the console window 'setup' pull-down menu, terminal
  400.   characteristics can be viewed, altered and saved on the boot host in
  401.   the configuration file which can be used in future sessions.
  402.  
  403.   If TFTP is being used to transfer files from the boot host, then file
  404.   permission must be world readable. Similarly, to save a configuration
  405.   file to the boot host, the file must already exist and with world
  406.   write permission enabled. If secure TFTP is used (this is recommended
  407.   for security reasons), then file access is possible only through
  408.   specified directories.
  409.  
  410.  
  411.   5.4.  Logging on to the host
  412.  
  413.   >From the X terminal console window menu bar, select the 'terminals'
  414.   pull-down menu and choose 'New Telnet...'. When the telnet window
  415.   appears, insert the address of a network host in the service entry and
  416.   click including a window manager, can be started from the telnet
  417.   window.
  418.  
  419.  
  420.   6.  Fonts and the X terminal
  421.  
  422.   The X terminal comes with a small set of fonts. In the X terminal
  423.   setup menus and configuration files, these fonts are referred to as
  424.   fonts are desirable. Fonts can be added by specifying font paths in X
  425.   terminal console setup menus, configuration files or by using the xset
  426.   command.
  427.  
  428.  
  429.   Once the X server software is running on the X terminal, the font path
  430.   can modified or queried with the command xset.
  431.  
  432.   To query the X server:
  433.  
  434.   xset -q
  435.  
  436.  
  437.   To add a font entry:
  438.  
  439.   xset +fp <path>
  440.  
  441.  
  442.   To remove a font entry:
  443.  
  444.   xset -fp <path>
  445.  
  446.  
  447.  
  448.  
  449.   6.1.  The font server
  450.  
  451.   The font server (xfs) runs on a network host and retrieves fonts for
  452.   the X terminal and other network clients. The font server improves
  453.   font retrieval time and provides its clients access to more fonts then
  454.   would otherwise be possible with tftp. Font server software is part of
  455.   many Linux distributions and has also been incorporated into X
  456.   consortium software available from ftp.x.org <ftp://ftp.x.org>.
  457.  
  458.   To indicate the use of a font server, a tcp service entry is used
  459.   instead of a font path in the X terminal's host resident configuration
  460.   file or console setup menu.
  461.  
  462.  
  463.   Format of tcp service entry:
  464.  
  465.   tcp/<IP address of font server>:<port used by font server>
  466.  
  467.  
  468.  
  469.   Example:
  470.  
  471.   tcp/10.0.0.1:7100
  472.  
  473.  
  474.  
  475.  
  476.   An example of an entry in the X terminal configuration file found on
  477.   the boot host:
  478.  
  479.  
  480.   xserver-default-font-path = {
  481.           { "tcp/10.0.0.1:7100" }
  482.           { "built-ins" }
  483.   }
  484.  
  485.  
  486.  
  487.   The xset command with the tcp service entry can used to add the font
  488.   server to the path:
  489.  
  490.  
  491.   xset +fp tcp/10.0.0.1:7100
  492.  
  493.  
  494.  
  495.  
  496.   WARNING: Certain versions of NCDware require the font server entry to
  497.   be listed first before X terminal 'built-in' fonts. This is contrary
  498.   to the NCD documentation "System Administrator's Guide for UNIX
  499.   Systems".  Experiment with the order of the font path and verify it
  500.   with the
  501.  
  502.  
  503.   On the font server host, the server is started at boot time from the
  504.   rc.local startup script. The font server (xfs) is started with the
  505.   following command:
  506.  
  507.  
  508.   xfs -config <config file path> -port <font server port number>
  509.  
  510.  
  511.  
  512.   The standard font server port is 7100.
  513.  
  514.   Example:
  515.  
  516.  
  517.   xfs -config /usr/X11/lib/X11/fs/config -port 7100
  518.  
  519.  
  520.  
  521.  
  522.   Example font server configuration file:
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.   # font server configuration file
  530.   # $XConsortium: config.cpp,v 1.7 91/08/22 11:39:59 rws Exp $
  531.   clone-self = on
  532.   use-syslog = on
  533.   catalog = /usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/Speedo/,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/
  534.   error-file = /usr/X11R6/lib/X11/fs/fs-errors
  535.   # in decipoints
  536.   default-point-size = 120
  537.   default-resolutions = 75,75,100,100
  538.  
  539.  
  540.  
  541.  
  542.   7.  Miscellaneous
  543.  
  544.   7.1.  Reference
  545.  
  546.   Unix man pages: bootpd(8), tftpd(8), bootptab(5), xdm(1x), xfs(1),
  547.   fsinfo(1), xset(1), inetd(8)
  548.  
  549.   Linux Ethernet HOWTO document, Linux Net-3 (Networking) HOWTO document
  550.  
  551.   NCD Techtips Archive <ftp://ftp.ncd.com/pub/ncd/Archive/NCD-
  552.   Articles/index.html>
  553.  
  554.   NCD Techtips Archive Mirror at CERN <http://wsspinfo.cern.ch/file/NCD-
  555.   Articles/>
  556.  
  557.   NCDware System Administrator's Guide for UNIX Systems
  558.  
  559.  
  560.   7.2.  Equipment used in the preparation of this document
  561.  
  562.   X terminal: NCD model NCD19r with 19 monochrome monitor 1280x1024 8M
  563.   RAM
  564.  
  565.   X server software: NCDware  V3.2.CV 19r_s
  566.  
  567.   Remote Host: IBM Cyrix 686 P150+ running Slackware (Linux kernel
  568.   version 2.0.31)
  569.  
  570.   Remote Host: IBM Cyrix M2 200 MMX running Red Hat 5.0 (Linux kernel
  571.   version 2.0.32)
  572.  
  573.   Network Card: 10 base T Ethernet card (ne 2000 clone) and 8 port hub
  574.  
  575.   Font server version 2 release number 6300
  576.  
  577.  
  578.   7.3.  Acknowledgments
  579.  
  580.   I would like to thank Michael de Lind van Wijngaarden, Jamal Hadi-
  581.   Salim and Dwight Hodge for assistance in the preparation of this
  582.   document.
  583.  
  584.   7.4.  Outstanding Issues
  585.  
  586.  
  587.   ╖  Is it possible or wise to start the font server using inetd?
  588.  
  589.   ╖  If the remote host running the font server is powered down but
  590.      later comes up again, with the font server active, the X terminal
  591.      may fail to retrieve its fonts. The font path entry has to be re-
  592.      entered with the console menu or xset. Why?
  593.  
  594.  
  595.   ╖  The date of the error file designated in the font server config
  596.      file is changed when xfs is in use but the file is always empty.
  597.  
  598.   ╖  Are there host based diagnostics for the font server?
  599.  
  600.   ╖  Are the procedures for other models of X terminals roughly similar?
  601.  
  602.   ╖  What about XDM?
  603.  
  604.   ╖  What is the procedure to boot the X terminal using NFS (Network
  605.      File System) or RARP (Reverse Address Resolution Protocol)?
  606.  
  607.   ╖  The following messages appear in the X terminal Console. I am
  608.      suspicious that they come from xfree86 extensions to X which are
  609.      not part of the X terminal server. Can someone confirm or deny
  610.      this?
  611.  
  612.      %XSERVER-I-NEWCLIENT, host "localhost" connected with blank authorization
  613.      %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "BIG-REQUESTS"
  614.      %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "XKEYBOARD"
  615.      %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "XFree86-Misc"
  616.  
  617.  
  618.  
  619.  
  620.   7.5.  Feedback
  621.  
  622.   Please write to ihodge at nortel.ca with any comments, suggestions or
  623.   contributions.
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.