Linux NCD X Terminal mini-HOWTO <author>Hendrik Scholz (<tt>hendrik@scholz.net</tt>) <date>v1.0, 30. Juli 2000 <abstract> Diese Anleitung beschreibt, wie man ein NCD X-Terminal von einem Linux-Rechner aus bootet und konfiguriert. </abstract> <toc> <sect>Einführung <p> <sect1>Neue Versionen dieses Dokuments <p> Die jeweils neuste Version dieser HOWTO ist auf dem WWW Server des Deutschen Linux HOWTO Projekts unter folgender Adresse zu finden: <tscreen> <htmlurl url="http://www.tu-harburg.de/dlhp/" name="http://www.tu-harburg.de/dlhp/"> </tscreen> <sect1>Feedback <p> Wenn Sie irgendwelche Fragen oder Kommentare zu diesem Dokument haben, erreichen Sie mich unter den folgenden Adressen: <itemize> <item><bf>Internet:</bf> <tt><htmlurl url="mailto:hendrik@scholz.net" name="hendrik@scholz.net"></tt> <item><bf>Zerberus:</bf> <tt>hscholz@KRISKI.ZER</tt> <item><bf>AMPRNet:</bf> <tt><htmlurl url="mailto:dg2ls@db0fho.ampr.org" name="dg2ls@db0fho.ampr.org"></tt> <item><bf>Homepage:</bf> <tt> <htmlurl url="http://www.toppoint.de/˜hscholz" name="http://www.toppoint.de/˜hscholz"></tt> <item><bf>Snail-Mail:</bf> <quote>Hendrik Scholz<newline> Elsa-Brandström-Str. 9<newline> D-24223 Raisdorf </quote> </itemize> <sect1>Copyright <p> Dieses Dokument ist urheberrechtlich geschützt. Das Copyright liegt bei Hendrik Scholz. Das Dokument darf gemäß der GNU <em><htmlurl name="General Public License" url="DE-GPL.html"></em> 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. <sect1>Weiterführende Seiten <p> 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: <tscreen><htmlurl url="http://www.linuxdoc.org/HOWTO/mini/NCD-X-Terminal.html" name="http://www.linuxdoc.org/HOWTO/mini/NCD-X-Terminal.html"></tscreen> Eine kurze Beschreibung, wie man sein Terminal konfigurieren kann, gibt es hier: <tscreen><htmlurl url="http://vega.ing.iac.es/˜cfg/pub_notes/NCD-pref.html" name="http://vega.ing.iac.es/˜cfg/pub_notes/NCD-pref.html"></tscreen> <sect>Eigenschaften von Terminals <p> <sect1>Seriell oder X? <p> 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. <sect1>X-Server und X-Client <p> 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. <sect1>Terminal-Software <p> 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 <tt>ftpsearch</tt> und <tt>Google</tt> auf zwei Seiten gefunden: <tscreen><htmlurl url="ftp://ftp.ii.uib.no/pub/misc/magnus/martin/" name="ftp.ii.uib.no/pub/misc/magnus/martin/"></tscreen> <tscreen><htmlurl url="http://jabba2.virtualave.net/" name="http://jabba2.virtualave.net/"></tscreen> <sect1>X-Server-Dateien <p> Auf den Servern finden Sie verschiedene X-Server. Ihr Terminal wird nur mit dem richtigen X-Server starten. <itemize> <item><bf>Xncd19c:</bf> 19 Zoll Farb-Terminal <item><bf>Xncd19:</bf> 19 Zoll s/w-Terminal <item><bf>Xncd19r:</bf> 19 Zoll s/w-Terminal <item><bf>Xncd17c:</bf> 17 Zoll Farb-Terminal </itemize> Über die anderen Server kann ich leider nichts sagen. Merken Sie sich Namen Ihres X-Servers. <sect1>Der Bootvorgang <p> 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: <itemize> <item><bf>NVRAM:</bf> In einer Art BIOS wird die Konfiguration im Terminal gespeichert. <item><bf>BOOTP:</bf> 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. </itemize> <bf>Hier ein Bootvorgang im kurzen Schritten:</bf> <itemize> <item>Das Terminal wird angeschaltet und testet den Speicher und die Netzwerkkarte. <item>Aus dem NVRAM wird die Konfiguration gelesen und das Terminal holt sich per TFTP vom angegebenen Host-Rechner die X-Server-Software. <item>Der X-Server startet und es erscheint ein XDMCP-Login-Chooser, der alle Rechner anzeigt, die ein Login erlauben. <item>Nach der Auswahl eines Rechners erscheint der normale XDM/GDM des Rechners, als wenn man lokal an dem Rechner arbeiten würde. </itemize> <sect>Linux-Konfiguration <p> <sect1>TFTP <p> Der TFTP-Server muss zuerst installiert und konfiguriert werden, weil er nicht zur Standard-Software gehört. <sect2>Installation <p> Debian ermöglicht die Installation mit dem Befehl: <tscreen>apt-get install tftpd</tscreen> SuSE-User könnem im Yast das TFTP-Paket auswählen und installieren. RedHat und andere RPM-basierende Distributionen haben auch Pakete, die sich per <tscreen>rpm -Uvh paket.rpm</tscreen> installieren lassen. <sect2>Konfiguration <p> Der TFTP-Daemon wird per <tt/inetd/ gestartet. Damit der <tt>inetd</tt> seine Konfigurationsdatei neu einliest, muss ihm mit <tt>kill</tt> ein Signal geschickt werden: <tscreen>killall -HUP inetd</tscreen> Das Verzeichnis <tt>/tftpboot</tt> ist das Root-Verzeichnis des TFTP-Daemons. Hier müssen die X-Server-Dateien und ggf. auch Schriftarten abgelegt werden. <sect2>GDM-Konfiguration <p> Ihr Linux-Rechner muss das Login für das X-Terminal erlauben. Falls Sie den GDM nutzen, können Sie in der Datei <tt>/etc/X11/gdm/gdm.conf</tt> den Login per XDMCP erlauben. In der Konfigurationsdatei muss der Key »Enable« im Abschnitt »xdmcp« auf »1« stehen. <tscreen><verb> [xdmcp] Enable=1 </verb></tscreen> Starten Sie den GDM anschliessend neu. <sect2>Fonts <p> Ihr Terminal benötigt Fonts. Diese bekommt es der Einfachheit halber auch per TFTP. Dazu entpacken Sie einfach die Datei <tt>ncd.tar</tt> in dem Verzeichnis <tt>/tftpboot</tt>. Es entsteht dabei eine Verzeichnis-Struktur. <sect>Terminal-Konfiguration <p> Das Terminal weiss nicht, welche Software es wie und vor allem von wo holen soll. Deshalb booten wir das Terminal zuerst einmal von Hand. <sect1>Bootprompt <p> Nach dem Einschalten des Terminals versucht das Terminal vermutlich, einen TFTP-Server zu finden. Wir brechen diese Ausgabe mit »ESC« ab. <tscreen><verb> 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 </verb></tscreen> 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: <tscreen><verb> TFTP booting aborted Network Computing Devices NCD88k 8-bit Color Boot Monitor > </verb></tscreen> Das Fragezeichen bringt eine Hilfe zum Vorschein, welche die Befehle auflistet. Wir nutzen den Befehl <tt>BT</tt> um das Terminal via TFTP zu booten <tscreen> > BT Xncd19c 10.1.1.10 10.1.1.1 10.1.1.1 255.255.255.0 </tscreen> <itemize> <item><bf>BT :</bf> Befehl zum Booten per TFTP <item><bf>Xncd19c :</bf> Name des X-Servers (19" Farbversion) <item><bf>10.1.1.10 :</bf> IP-Adresse des Terminals <item><bf>10.1.1.1 :</bf> IP-Adresse des TFTP-Servers <item><bf>10.1.1.1 :</bf> IP-Adresse des Default-Gateways <item><bf>255.255.255.0 :</bf> Netzmaske </itemize> Sie können das Default-Gateway und die Netzmaske weglassen, wenn Ihr TFTP-Server sich im LAN befindet. <tscreen><verb> > 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' ... </verb></tscreen> Der Download des X-Servers hat begonnen. Sie sehen immer mehr Punkte und nach ca. 4 Zeilen erscheit der Session-Manager. <sect1>Session-Manager <p> 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. <sect1>Konfiguration <p> 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. <sect>Font-Server <p> 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. <sect1>Font-Server installieren <p> 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 <tt>xfs-xtt</tt> lässt sich bei Debian per <tscreen> apt-get install xfs-xtt </tscreen> installieren. Andere Distributionen haben ebenfalls Pakete, die man leicht installieren kann. <sect1>Terminal-Konfiguration <p> 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: <tscreen><verb> 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 </verb></tscreen> »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. <sect>Tipps & Tricks <p> <sect1>telnet-Ports <p> Wenn mal einfach mal ein Portscan des Terminals macht, sieht man schnell, dass einige Ports offen sind: <tscreen><verb> 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 </verb></tscreen> 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. <tscreen><verb> 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 </verb></tscreen> 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. <sect1>Alte Konfiguration löschen <p> 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 <tt>nv</tt> gelangen Sie ins NVRAM-Utility. Beachten Sie den veränderten Prompt. <tscreen><verb> > 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 ->> </verb></tscreen> Mit dem Befehl <tt>l</tt> wird die Default-Konfiguration geladen. Der Befehl <tt>s</tt> speichert die Konfiguratio ab (mit <tt>y</tt> bestätigen). <tt>q</tt> verlässt das NVRAM-Menu und <tt>rs</tt> rebootet schliesslich das Terminal. </article>