Linux NCD X Terminal mini-HOWTO

Hendrik Scholz (hendrik@scholz.net) v1.0, 30. Juli 2000

Diese Anleitung beschreibt, wie man ein NCD X-Terminal von einem Linux-Rechner aus bootet und konfiguriert.

Inhaltsverzeichnis

1 Einführung 2 1.1 Neue Versionen dieses Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Weiterführende Seiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Eigenschaften von Terminals 3 2.1 Seriell oder X? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 X-Server und X-Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Terminal-Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.4 X-Server-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.5 Der Bootvorgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Linux-Konfiguration 4

3.1 TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.2 Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.3 GDM-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1.4 Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Terminal-Konfiguration 5 4.1 Bootprompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2 Session-Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3 Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5 Font-Server 6 5.1 Font-Server installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2 Terminal-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

6 Tipps & Tricks 7 6.1 telnet-Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 6.2 Alte Konfiguration löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1 Einführung

1.1 Neue Versionen dieses Dokuments

Die jeweils neuste Version dieser HOWTO ist auf dem WWW Server des Deutschen Linux HOWTO Projekts unter folgender Adresse zu finden:

     http://www.tu-harburg.de/dlhp/

1.2 Feedback

Wenn Sie irgendwelche Fragen oder Kommentare zu diesem Dokument haben, erreichen Sie mich unter den folgenden Adressen:

   • Internet: hendrik@scholz.net
   • Zerberus: hscholz@KRISKI.ZER
   • AMPRNet: dg2ls@db0fho.ampr.org
   • Homepage: http://www.toppoint.de/˜ hscholz

• Snail-Mail:

Hendrik Scholz

Elsa-Brandström-Str. 9 D-24223 Raisdorf

1.3 Copyright

Dieses Dokument ist urheberrechtlich geschützt. Das Copyright liegt bei Hendrik Scholz.

Das Dokument darf gemäß der GNU General Public License verbreitet werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright-Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer Publikation in Papierform ist das Deutsche Linux HOWTO Projekt hierüber zu informieren.

1.4 Weiterführende Seiten

Es gibt ein paar Seiten im Netz, welche die Nutzung der Terminals nach der Installation beschreiben. Dies sind meist Seiten von Universitäten für die lokalen Terminals.

Das englische NCD-X-Terminal mini-HOWTO gibt einen netten Überblick:

     http://www.linuxdoc.org/HOWTO/mini/NCD-X-Terminal.html

Eine kurze Beschreibung, wie man sein Terminal konfigurieren kann, gibt es hier:

     http://vega.ing.iac.es/˜ cfg/pub_notes/NCD-pref.html

2 Eigenschaften von Terminals

2.1 Seriell oder X?

Die beiden Arten von Terminals unterscheiden sich in Ihrem Anschluss. Serielle Terminals wie z.B. das bekannte VT100 oder das VT102 werden über eine serielle Schnittstelle an einen Host-Rechner angeschlossen.

X-Terminals sind per Netzwerkkabel mit einem LAN verbunden. Über ein Menü im X-Terminal kann man einen Rechner im LAN suchen, der eine X-Session hostet.

2.2 X-Server und X-Client

Das X-Terminal ist eigentlich nur ein X-Server. Ein X-Server ist ein Monitor, der es X-Clients erlaubt, den Monitor zur Ausgabe zu nutzen. X-Server und X-Clients können auch lokal an einem Rechner über das Loopback-Interface verbunden werden.

2.3 Terminal-Software

Die Software für das Terminal sollten Sie auf einer CD mitgeliefert bekommen haben. Falls Sie, wie ich, das Terminal günstig gekauft oder geschenkt bekommen haben, dann haben Sie wahrscheinlich keine Software.

Die Software ist eine Art Kernel, der beim Booten geladen werden muss. Ich habe die Software per ftpsearch und Google auf zwei Seiten gefunden:

     ftp.ii.uib.no/pub/misc/magnus/martin/
     http://jabba2.virtualave.net/

2.4 X-Server-Dateien

Auf den Servern finden Sie verschiedene X-Server. Ihr Terminal wird nur mit dem richtigen X-Server starten.

• Xncd19c: 19 Zoll Farb-Terminal

• Xncd19: 19 Zoll s/w-Terminal

• Xncd19r: 19 Zoll s/w-Terminal

• Xncd17c: 17 Zoll Farb-Terminal

Über die anderen Server kann ich leider nichts sagen. Merken Sie sich Namen Ihres X-Servers.

2.5 Der Bootvorgang

Das Terminal selbst hat keinen Speicher, um den X-Server dauerhaft zu speichern. Die X-Server-Software wird deshalb während des Bootvorgangs per TFTP (trivial file transfer protocol) von einem Host-Rechner geladen. Bevor die Software geladen werden kann, muss allerdings das Netzwerk konfiguriert sein.

Es gibt zwei Methoden, um das TCP/IP-Netzwerk zu konfigurieren:

• NVRAM: In einer Art BIOS wird die Konfiguration im Terminal gespeichert.

• BOOTP: Die IP-Adressen und die Netzmaske des LANs wird von einem Unix-Host per BOOT-Protocol vergeben. BOOTP ist meiner Meinung nach für ein einzelnes X-Terminal Overkill, da es eine zusätzliche Sicherheitslücke darstellt.

Hier ein Bootvorgang im kurzen Schritten:

• Das Terminal wird angeschaltet und testet den Speicher und die Netzwerkkarte.

• Aus dem NVRAM wird die Konfiguration gelesen und das Terminal holt sich per TFTP vom angegebenen Host-Rechner die X-Server-Software.

• Der X-Server startet und es erscheint ein XDMCP-Login-Chooser, der alle Rechner anzeigt, die ein Login erlauben.

• Nach der Auswahl eines Rechners erscheint der normale XDM/GDM des Rechners, als wenn man lokal an dem Rechner arbeiten würde.

3 Linux-Konfiguration

3.1 TFTP

Der TFTP-Server muss zuerst installiert und konfiguriert werden, weil er nicht zur Standard-Software gehört.

3.1.1 Installation

Debian ermöglicht die Installation mit dem Befehl:

     apt-get install tftpd

SuSE-User könnem im Yast das TFTP-Paket auswählen und installieren. RedHat und andere RPMbasierende Distributionen haben auch Pakete, die sich per

     rpm -Uvh paket.rpm

installieren lassen.

3.1.2 Konfiguration

Der TFTP-Daemon wird per inetd gestartet. Damit der inetd seine Konfigurationsdatei neu einliest, muss ihm mit kill ein Signal geschickt werden:

     killall -HUP inetd

Das Verzeichnis /tftpboot ist das Root-Verzeichnis des TFTP-Daemons. Hier müssen die X-Server-Dateien und ggf. auch Schriftarten abgelegt werden.

3.1.3 GDM-Konfiguration

Ihr Linux-Rechner muss das Login für das X-Terminal erlauben. Falls Sie den GDM nutzen, können Sie in der Datei /etc/X11/gdm/gdm.conf den Login per XDMCP erlauben.

In der Konfigurationsdatei muss der Key »Enable« im Abschnitt »xdmcp« auf »1« stehen.

     [xdmcp]
     Enable=1

Starten Sie den GDM anschliessend neu.

3.1.4 Fonts

Ihr Terminal benötigt Fonts. Diese bekommt es der Einfachheit halber auch per TFTP. Dazu entpacken Sie einfach die Datei ncd.tar in dem Verzeichnis /tftpboot. Es entsteht dabei eine Verzeichnis-Struktur.

4 Terminal-Konfiguration

Das Terminal weiss nicht, welche Software es wie und vor allem von wo holen soll. Deshalb booten wir das Terminal zuerst einmal von Hand.

4.1 Bootprompt

Nach dem Einschalten des Terminals versucht das Terminal vermutlich, einen TFTP-Server zu finden. Wir brechen diese Ausgabe mit »ESC« ab.

     Boot Monitor V2.4.1
     Testing code memory     8.0Mbytes
     Testing data memory    12.0Mbytes
     Network controller passed 00:00:A7:12:DB:8F
     TFTP load <ESC> to abort

Die MAC-Adresse oder der Speicherausbau varieren natürlich, so dass Sie vielleicht andere Werte haben.

Nach dem zweimaligen Drücken der »ESC«-Taste sehen Sie den Prompt:

     TFTP booting aborted
     Network Computing Devices NCD88k 8-bit Color Boot Monitor
     >

Das Fragezeichen bringt eine Hilfe zum Vorschein, welche die Befehle auflistet. Wir nutzen den Befehl BT um das Terminal via TFTP zu booten

     > BT Xncd19c 10.1.1.10 10.1.1.1 10.1.1.1 255.255.255.0

• BT : Befehl zum Booten per TFTP

• Xncd19c : Name des X-Servers (19Farbversion)

• 10.1.1.10 : IP-Adresse des Terminals

• 10.1.1.1 : IP-Adresse des TFTP-Servers

• 10.1.1.1 : IP-Adresse des Default-Gateways

• 255.255.255.0 : Netzmaske

Sie können das Default-Gateway und die Netzmaske weglassen, wenn Ihr TFTP-Server sich im LAN befindet.

     > BT Xncd19c 10.1.1.10 10.1.1.1 10.1.1.1 255.255.255.0
     Using IP address - 010.001.001.010
     Using Subnet Mask - 255.255.255.000
     Using host 010.001.001.001 file 'Xncd19c' ...

Der Download des X-Servers hat begonnen. Sie sehen immer mehr Punkte und nach ca. 4 Zeilen erscheit der Session-Manager.

4.2 Session-Manager

Nun ist es endlich soweit: Sie können Sich auf einem anderen Rechner einloggen.

Sie sollten den »Login Chooser« sehen. Je nach der Netzwerkkonfiguration sehen Sie sogar schon Rechner in der Liste. Es wird pro Host eine Zeile mit Hostname und zusätzlichen Informationen angezeigt. Linux-Hosts zeigen die Kernelversion an. Solaris-Maschinen zeigen den Load mit den bekannten drei Werten.

Wenn Sie sich auf einem aufgelisteten Rechner einloggen möchten, ist nur noch ein Doppelklick nötig. Falls der Rechner noch nicht aufgelistet wird, müssen Sie dessen IP-Adresse in der Hostzeile eingeben.

Nach kurzer Zeit erscheint der grafische Login-Bildschirm des ausgewählten Rechners.

4.3 Konfiguration

Am oberen linken Bildschirmrand ist ein Programm zu sehen, mit dessen Hilfe Sie viele Einstellungen vornehmen können. Die »System Preferences« und »User Preferences« enthalten alle wichtigen Einstellungen zum Terminal. Die »Statistics« zeigen Ihnen die Speicherauslastung und allgemeine Informationen über Softwareversionen und Netzwerk-Statistiken.

5 Font-Server

Das Terminal verfügt über die angesprochenen Fonts. Diese reichen oft nicht aus oder man möchte andere zusätzliche Fonts nutzen. Ein Font-Server auf einem Unix-Rechner kann diese Fonts zur Verfügung stellen.

5.1 Font-Server installieren

Ihr Linux-Rechner hat für seinen lokalen X-Server sehr viele Fonts, die wir auch dem Terminal zur Verfügung stellen möchten.

Der xfs-xtt lässt sich bei Debian per

     apt-get install xfs-xtt

installieren.

Andere Distributionen haben ebenfalls Pakete, die man leicht installieren kann.

5.2 Terminal-Konfiguration

Im »NCD User Services« Fenster unter X gibt es die Option »Setup -> Setup Parameters«. Im neu erscheinenden Menü gibt es einen Punkt »Fonts«. Hier kann man zu die Liste der Default-Paths erweitern und den Font-Server eintragen:

     built-ins
     tcp/10.1.1.1:7100
     /usr/lib/ncd/fonts/pcf/75dpi
     /usr/lib/ncd/fonts/pcf/dw75dpi
     /usr/lib/ncd/fonts/pcf/100dpi
     /usr/lib/ncd/fonts/pcf/dw100dpi

»10.1.1.1« ist in diesem Beispiel die IP-Adresse des Font-Servers, die angepasst werden muss. Der Button »Auto Save File« in der unteren linken Ecke des Fensters muss markiert sein. Um die Konfiguration zu speichern, einfach auf »Apply« drücken und die neunen Fonts ausprobieren.

6 Tipps & Tricks

6.1 telnet-Ports

Wenn mal einfach mal ein Portscan des Terminals macht, sieht man schnell, dass einige Ports offen sind:

     nmap terminal
     Port       State       Service
     87/tcp     open        priv-term-l
     514/tcp    open        shell
     5978/tcp   open        ncd-diag-tcp
     5979/tcp   open        ncd-conf-tcp
     5998/tcp   open        ncd-diag
     5999/tcp   open        ncd-conf
     6000/tcp   open        X11

Interessant sind hier die 5900er Ports. 5978 und 5998 haben die gleiche Funktion, ebenso wie 5979 und 5999. Port 6000 ist der X-Server selbst, wie er auch auf anderen Unicen existiert. Die Funktion von Port 87 ist mir unbekannt. Eine Telnet-Verbindung zu Port 5998 (oder 5978) zeigt die Statusmeldungen des Terminals.

     Ethernet address: 00:00:A7:12:DB:8F
     NCD88K 8-bit Color PEX V3.0.EF beta #21053 10/29/92 downloaded
     Copyright 1988-1992 Network Computing Devices, Inc.
     BSD TCP/IP Copyright 1980, 1982-83, 1985-88 Regents of the University of California
     TSSnet Copyright 1987-1991 Thursby Software Systems, Inc.
     TSSlat Copyright 1990-1992 Thursby Software Systems, Inc.
     DECwindows is a trademark of Digital Equipment Corporation
     X Window System is a trademark of the Massachusetts Institute of Technology
     %CONFIGD-I-IPADDR, IP address for this unit: 10.1.1.10
     %CONFIGD-I-NCDNETADDR, NCDnet address for this unit: 0.0
     %CONFIGD-I-READ, reading config file: /usr/lib/X11/ncd/configs/0000A712DB8F

Anschliessend folgen Meldungen über den Font-Server und Verbindungen von anderen Rechnern. Dieser Port ist sehr interessant für die Fehlersuche.

Port 5999 (und 5979) ermöglicht die Fernadministration des Terminals. Allerdings muss dazu in der User Services Console die Konfiguration freigeschaltet werden.

6.2 Alte Konfiguration löschen

Falls Sie das Terminal gebraucht erstanden haben, ist wahrscheinlich noch eine Konfiguration im NVRAM vorhanden. Diese können Sie vom Bootprompt aus löschen. Drücken Sie dazu beim Booten zweimal »ESC«, bis Sie den Bootprompt sehen. Mit dem Befehl nv gelangen Sie ins NVRAM-Utility. Beachten Sie den veränderten Prompt.

     > nv
     ->> help
     NVRAM Utility
     C [adr] - change location adr
     D [start] [end] - display contents
     Q - return to monitor
     L - load defaults X server
     M - load defaults MWT
     R - reload NVRAM values
     S - save new values
     ->>

Mit dem Befehl l wird die Default-Konfiguration geladen. Der Befehl s speichert die Konfiguratio ab (mit y bestätigen). q verlässt das NVRAM-Menu und rs rebootet schliesslich das Terminal.