Hinweise zur Installation und Konfiguration


Modembetrieb unter QNX 4

Inhaltsverzeichnis

Eintragsstruktur

Modembetrieb unter QNX 4

Eintragstruktur

Die Einträge zu den einzelnen Punkten sind wie folgt gegliedert:

Motivation
Warum der Standardzustand auf Dauer nicht tragbar ist.

Abhilfe
Der prinzipielle Lösungsweg.

Durchführung
Die konkret notwendigen Befehle zur Lösung des Problems.

Fallen und Fußangeln
Unerwünschte Seiteneffekte und/oder notwendige Voraussetzungen.

Weitere Informationen
Wo nachgelesen werden kann, wie es sich im Detail verhält.

Modembetrieb unter QNX 4

Einleitung

Unter QNX4 ist der Betrieb eines Modems für verschiedene Anwendungsbereiche vorgesehen. Diese sind z.B. Daten-Fern-Übertragung, Zugriff auf entfernte QNX-Netze oder das Einloggen auf einem schwer zugänglichen oder weit entfernt stehenden QNX-Rechner.

Welchen speziellen Einsatzfall Sie auch haben mögen, eines ist immer gleich:
Das Modem und die Schnittstelle Ihres Computers müssen den Anforderungen entsprechend eingestellt werden.

Doch vor der Frage nach den Einstellungen hier eine kleine Aufstellung von Kriterien, die hilfreich sein können, um ein geeignetes Modem zu erwerben?

 

Es sollte darauf geachtet werden, daß das Modem Hayes-Kompatibel ist. Zur Geschwindigkeit ist zu sagen, je schneller, desto besser. Es sollte mindestens eine Geschwindigkeit von 14400 baud unterstützt werden. Besser ist 38400 baud oder 57600 baud.

Externe Geräte haben gegenüber den internen den Vorteil, daß sie leichter zwischen mehreren Rechnern ausgetauscht werden können. Dies ist allerdings bei Rechnern in einem QNX-Netz kein wichtiges Kriterium, da die Schnittstellen der anderen Rechner im Netz so verwendet werden können, als seien sie im Rechner installiert (vorausgesetzt die notwendigen Rechte sind vorhanden).

Geräte von Markenherstellern sind zwar etwas teurer als No-Name Produkte, aber im allgemeinen zuverlässiger und im Falle eines Defekts ist es leichter, eine Reperatur zu erhalten.

Gute Erfahrungen haben wir bei SWD mit den Modems des Herstellers Zyxel gemacht. Diese zeichnen sich durch Robustheit, Zuverlässigkeit und hohe Geschwindigkeit aus. Natürlich können auch beliebig andere Geräte eingesetzt werden.

 


Beispieleinstellung für ein US Robotics Modem

Als Beispiel wird nun eine Einstellung für ein Modem des Herstellers US Robotics aufgezeigt. Hierbei wird vorausgestezt, daß das Modem am Node 7 an die serielle Schnittstelle 2 angeschlossen ist.

# Node 7 mit USR Courier V.34

Zunächst sollte die alte Log-Datei gesichert werden.

cp -v /tmp/qtalk.log /tmp/qtalk.log.old

rm -v /tmp/qtalk.log

Danach werden die Schnittstellen-Optionen gesetzt:

stty baud=38400 +ihflow +ohflow +lkhflow

Weitere Parameter sind: bits=8 stopb=1 par=none (Standart Parameter) Kommunikationsprogramm qtalk mit verschiedenen Parametern für die serielle Schnittstelle aufrufen (wobei die unten angegebene Befehlszeile nicht getrennt werden soll):

nice --1 qtalk -m//7/dev/ser2,"ATS0=0 Q0 V1 X3 &C1&D2B0&B1\
&M0&H2&I2^M"-b38400 -tzmodem -Tqnx -l/tmp/qtalk.log

Nachdem Sie die Schnittstelle konfiguriert und qtalk gestartet haben, könnten Sie sich in einen QNX-Rechner einwählen.

Dieser muß dazu aber eingestellt worden sein und ebenfalls über ein Modem verfügen. Für eine mögliche Einstellung für den entfernten Rechner sind folgende Zeilen in die sysinit.node Datei aufzunehmen:

stty baud=38400 bits=8 stopb=1 par=none
tinit -c "modem -b38400 -L /dev/ser2" -T /dev/ser2 &

Wenn Sie sich nun in diesen Rechner einwählen, so erhalten Sie das login als ob Sie sich direkt vor dem Rechner befinden würden.

Soll eine Datei kopiert werden, so verwenden Sie dazu den Befehl qcp. Um eine Datei auf den entfernten Rechner zu kopieren, geben Sie den Parameter se (send) an. Um eine Datei zu empfangen, geben Sie re (receive) an.

qtalk unterstützt von Haus aus nur das qcp Protokoll. Um aus einer Nicht-QNX Mailbox Dateien zu laden, ist dieses Protokoll nicht geeignet. Ein weit verbreitetes Protokoll ist z-Modem. Sie können sich einen Treiber für dieses Protokoll (TZ, SZ) per FTP herunterladen

Nachdem Sie qtalk um dieses Protokoll "erweitert" haben, ist es nun auch möglich unter QNX, mit qtalk Dateien aus einer Mailbox oder z.B. einen Windows Rechner herrunterzuladen.

 

QNX Installation & Configuration: Connecting Character Devices
Utilities A to M and N to Z

© 1999 by SW Datentechnik GmbH

Kurzanleitung zum Einsatz von TCP/IP unter QNX 4

 

Inhaltsverzeichnis

Eintragsstruktur


Anleitung 

 

Eintragstruktur

Die Einträge zu den einzelnen Punkten sind wie folgt gegliedert:

Motivation
Warum der Standardzustand auf Dauer nicht tragbar ist.

Abhilfe
Der prinzipielle Lösungsweg.

Durchführung
Die konkret notwendigen Befehle zur Lösung des Problems.

Fallen und Fußangeln
Unerwünschte Seiteneffekte und/oder notwendige Voraussetzungen.

Weitere Informationen
Wo nachgelesen werden kann, wie es sich im Detail verhält.

 

 

 

Anleitung

  Im folgenden soll eine Zusammenfassung für die Konfiguration von TCP/IP auf QNX4 Rechnern gegeben werden.
Motivation Mehrere QNX-Rechner sollen über ein Ethernet-Netzwerk, an dem auch mehrere Linux, DOS oder Windows-Rechner etc. angeschlossen sind, miteinander kommunizieren können.
Dazu eignet sich TCP/IP neben dem Internetzugriff auch besonders gut für eine plattformübergreifende Kommunikation im Intranet.
Dieses Anleitung soll Ihnen helfen, die QNX spezifischen Hürden zu überwinden.
Abhilfe Die Konfiguration von TCP/IP erfolgt über verschiedene Einträge in speziellen Konfigurationsdateien.
Durchführung Alle Rechner haben eine eindeutige Nummer erhalten, die für die QNX-Rechner auch die Knotennummer unter QNX ist. Auf den QNX-Rechner läuft QNX4 und TCP/IP ist installiert worden. Das Ethernet hat unter QNX die logische Nummer 2 (Option -l bei z.B. Net.ether1000). Die DOS-Rechner benötigen auch eine TCP/IP-Implementation, deren Konfiguration entsprechend zu der unten beschriebenen zu handhaben ist. Unter TCP/IP soll nur statisches Routing verwendet werden.

Anmerkung: Normalerweise muß unter QNX nur ein Rechner als TCP/IP-Host konfiguriert werden. Alle anderen QNX-Rechner können dann einfach über das QNX-Netz die Dienste des TCP/IP-Netzes nutzen. Um aber die Konfiguration zu testen, ist es sinnvoll, vorübergehend auf zumindest zwei QNX-Rechner TCP/IP zu konfigurieren.

Das Netz soll die Internet-Nummer 192.200.9 erhalten. Diese Nummer ist für Testzwecke reserviert und sollte geändert werden, wenn das Netz ans Internet angeschlossen werden soll. Die Host-Nummer der Rechner wird durch Anhängen der Knotennummer gebildet, z.B. 192.200.9.3 für Rechner 3. Das Netz soll den symbolischen Namen, z.B. "swd" haben. Die Namen der einzelnen Rechner (bzw. Interfaces) setzen sich aus "node" und der jeweiligen Knotennummer zusammen, z.B. "node3".

In der sysinit.node müssen folgende Zeilen eingefügt werden:

 

  • Starten des Prozesses, der die TCP/IP-Funktionen unterstützt. Argument ist der symbolische Name des Rechners im TCP/IP-Netz:

    Socket node$NODE &

     

  • Jetzt müssen alle Interfaces konfiguriert werden, die Zugang zu Netzwerkmedien bieten:

    ifconfig lo0 localhost up
    (virtuelles Interface für Testzwecke, gibt es auf jedem TCP/IP-Host.)

    ifconfig en2 node$NODE up
    (Konfiguration des Ethernet-Interfaces für logisches Netzwerk 2, hier nur Angabe des jeweiligen Namens.)

     

  • (optionelles) Starten eines Servers, der bei Eintreffen einer externen Anforderung nach einem bestimmten TCP/IP-Service den entsprechenden zuständigen Server startet:

    inetd &

     

Im Verzeichnis /etc müssen folgende Dateien modifiziert werden:

hosts:
Enthält die Zuordnung von Host-Name und Internet-Nummer. Hier ist folgender Inhalt notwendig:

node1 192.200.9.1
node2 192.200.9.2
node3 192.200.9.3
...

usw., bis zur höchsten Nummer, die verwendet wird.

networks:
Enthält die Zuordnung von Netzwerkname und Internet-Nummer:

swd 192.200.9

Änderungen in den Dateien resolv.conf, protocols und services sind eventuell auch vorzunehmen, wenn zusätzliche Funktionen aktiviert oder deaktiviert werden sollen.

Zum Testen der Konfiguration kann das Kommando ping verwendet werden, z.B. ping node3 sendet Nachrichten an den Rechner 3, der sie zurückschickt, falls die Konfiguration erfolgreich war.

 

Fallen & Fußangeln Für das Verwenden einiger TCP/IP-Dienste ist es notwendig, daß für alle dabei verwendeten Benutzer Passwörter vergeben worden sind.

 

Weitere Informationen TCP/IP; User's Guide
QNX Netzwerk:
QNX Operating System; Utilities: Netzwerktreiber Net.*
QNX Operating System; Installation & Configuration: Networking
sonstige Bücher:
TCP/IP Netzwerk Administration; Craig Hunt; O'Reilly/International Thompson Verlag

 

© 1999 by SW Datentechnik GmbH


Einrichtung eines Druckers unter QNX 4.x und Photon 1.12 oder höher

 

Inhaltsverzeichnis

Eintragsstruktur


Einleitung 
Konfiguration unter QNX 4.x 
Netzwerkdrucker 
Konfiguration für Photon 1.12 oder höher 

 

Eintragstruktur

Die Einträge zu den einzelnen Punkten sind wie folgt gegliedert:

Motivation
Warum der Standardzustand auf Dauer nicht tragbar ist.

Abhilfe
Der prinzipielle Lösungsweg.

Durchführung
Die konkret notwendigen Befehle zur Lösung des Problems.

Fallen und Fußangeln
Unerwünschte Seiteneffekte und/oder notwendige Voraussetzungen.

Weitere Informationen
Wo nachgelesen werden kann, wie es sich im Detail verhält.

 

 

 

Einleitung

Motivation

In dieser Anleitung soll gezeigt werden, wie ein Drucker unter QNX4 und unter Photon 1.12 eingerichtet wird. Mit höheren Versionen sollte das meiste auch funktionieren. Bei Bedarf ist in den entsprechenden Handbüchern nachzuschauen.

QNX4 unterstützt ein Ressourcensharing, d.h. daß prinzipiell jeder Knoten in einem Netzwerk auf die Ressourcen (Festplatte, Modem, Drucker etc.) eines anderen Knoten des Netzwerkes zugreifen kann. Da ein Drucker zur Zeit jeweils nur ein Druckauftrag bearbeiten kann, ist es in einem Netz sinnvoll, einen Druckmanager zu haben, der beliebig eingehende Druckaufträge geeignet verwaltet.

 

Abhilfe

QNX4 bietet die Möglichkeit einen Spooler einzurichten. Dieser Spooler legt die eingehenden Druckaufträge in temporären Dateien ab, und gibt sie der Reihe nach an den frei gewordenen Drucker aus. Zu diesem Zweck wird auf einem Rechner im Netz der Spooler eingerichtet.

 

 

Konfiguration unter QNX 4.x

Durchführung

Der Printspooler für das QNX-Netzwerk wird durch Ausführen des Printservers lpsrvr & gestartet. Dieses Utility sucht und liest als erstes die Datei /etc/config/lpsrvr.node#. Findet es diese Datei nicht, so verwendet es die Datei /etc/config/lpsrvr, die bei der Installation angelegt wird. Diese Datei erwartet einen Postscript Drucker an /dev/par (Achtung: QNX4 legt default /dev/par1 an).

 

In der Datei /etc/config/lpsrvr.node# wird festgelegt, wie eine Datei beim Drucken umgewandelt wird, und an welchen Drucker sie weitergeleitet wird. Die zu druckenden Dateien liegen in verschiedensten Formaten vor, z.B. ASCII oder Postscipt, und jedes Format muß für jeden Drucker aufbereitet werden, d.h. für jeden Drucker und jedes Format muß eine eigene Queue eingerichtet werden.

 

Die Umgebungsvariable LPDEST gibt den default (standard) Drucker an. Dieser Drucker wird automatisch benutzt, sobald kein anderer Drucker angegeben wird. Die Umgebungsvariable LPSRVR gibt den default Spooler an. Dieser Spooler wird automatisch benutzt, sobald kein anderer Spooler angegeben wird. Unter Photon lassen sich eigene Printspooler einrichten.

Um die Drucker-Utilities lp, lpc, lprm, lpq verwenden zu können, muß in diesem Fall die Variable LPSRVR auf den Spooler-Namen gesetzt sein, welcher mit diesen Utilities angesprochen werden soll.

Aufbau der Datei /etc/config/lpsrvr.node# für einen Drucker, der das PCL-Format (z.B. HP-Deskjet) verarbeiten kann und an /dev/par1 angeschlossen ist.

  • Defaultname für QNX Printspooler: /qnx/spooler
    []
    sp = /qnx/spooler
    cd = /tmp

  • Dokument im ASCII-Format
    [txt]
    ta = lpt1
    co = pr -h"$(fname)" $(spfile) > $(device)

  • Dokument im PCL-Format
    [pcl]
    ta = lpt1
    co = cat $(spfile) > $(device)

  • Name des Targets
    [-lpt1]
    dv = /dev/par1

In der ersten Zeile stehen leere, eckige Klammern. Ihnen folgt der Spooler-Name und der Verzeichnispfad für temporäre Dateien. Diese temporären Dateien werden nach Beendigung des Druckauftrages automatisch gelöscht. Diese beiden Angaben sind nicht zwingend notwendig. Mit diesen zwei bzw. drei Zeilen weiß der Print-Server, wo er die Print-Queue verwalten und wo er temporäre Dateien erzeugen darf. Darauf folgt in eckigen Klammern der Name einer Print-Queue, welche man nach dem Start des Print-Servers im Verzeichnis /dev/spool wiederfindet. Nachdem die Queue bekannt ist, wird definiert, wie eine Datei bearbeitet wird, um sie dem Drucker anzupassen. In der folgenden Zeile wird das Ziel der Ausgabe (ta = Target), der Drucker, festgelegt. Das Target selbst wird festgelegt durch den, mit einem vorangestellten Minuszeichen, in eckigen Klammern gefaßten, Namen und den folgenden Pfad des Devices, z.B. dv=/dev/par1. Alle Druckaufträge an lpt1 werden über das Device /dev/par1 geleitet werden.

Aufbau für einen Postscript Drucker, der an einen zweiten QNX4 Rechner angeschlossen ist, der sich im QNX-Netzwerk befindet:

  • Dokument im ASCII Format
    [txt2ps]
    ta=lpt2
    co=pr -h"$(fname)" $(spfile) | lps -F0 > $(device)


    (lps ist ein undokumentiertes Utility, welches eine Textdatei in eine Prostscriptdatei umwandelt.)

  • Dokument im Postscript Format und ACSII mit Steuerzeichen
    [ps]
    ta=lpt2
    co=cat $(fname) > $(device)

  • Der Name des Targets
    [-lpt2]
    dv=//2/dev/par1

Weitere Informationen QNX Operating System; Installation & Configuration: Print Spooling
QNX Operating System; Utilities A to M and N to Z
 

Netzwerkdrucker

Motivation

Will man nun aber einen Drucker unter verschiedenen Betriebssystemen benutzen, so muß dieser als Netzwerkdrucker eingerichtet werden, d.h. er wird nicht über eine parallele Schnittstelle sondern über TCP/IP und eine Netzwerkkarte angesprochen.

 

Abhilfe

Betrachten wir als Beispiel nun einen Lexmark Drucker. Das copy-out (co) einer Print-Queue kann nun nicht an ein Device gehen, denn der Drucker ist an eine Netzwerkkarte angeschlossen. Daher benötigt man für das 'co' ein kleines Script, welches die Datei spfile an den Drucker sendet. Aus diesem Grunde kann man kein Target und beim 'co' nicht einfach ein cat verwenden.

 

Durchführung

Die Datei lpsrvr sieht für unser Beispiel nun folgendermaßen aus:

 

  • Dokument im ASCII Format
    [txt]
    ta=null
    ci=lps -h -F0 $(fname) > $(spfile)
    co=send_lexmark '$(spfile)'

  • Dokument im Postscript Format und ACSII mit Steuerzeichen
    [ps]
    ta=null
    co=send_lexmark '$(spfile)'

  • Dokument unter Photon in Postscript Format
    [lex-photon]
    ta=null
    ci=/usr/photon/bin/Pp.ps < $(fname) > $(spfile)
    co=send_lexmark'$(spfile)'

  • Der Name des Targets
    [-null]
    dv=/dev/null

Es ist zu beachten, daß das Target sich entscheidend geändert hat. Damit die temporäre Datei spfile nicht im System liegen bleibt, wird sie in das Device /dev/null geschrieben. Vorher wird sie allerdings auch an das Script send_lexmark übergeben. Dieses Script sieht folgendermaßen aus:

tftp lexmark > /dev/null <<-THE_END binary put $1 /prt0 THE_END

 

In der ersten Zeile wird eine tftp Verbindung nach lexmark aufgebaut. Sämtliche Ausgaben der Verbindung werden nach /dev/null geschrieben, bis THE_END erreicht wird. Mit binary wird auf binäre Übertragung umgeschaltet. put schreibt die Datei, welche in $1 übergeben wurde, nach /prt0, was der Speicher des Druckers ist. Ist die Datei vollständig übertragen, erreicht man THE_END und die Verbindung wird beendet.

Weitere Informationen QNX Operating System; Installation & Configuration: Print Spooling
QNX Operating System; Utilities A to M and N to Z
TCP/IP; User's Guide: TCP/IP Utilites
 

Konfiguration für Photon 1.12 oder höher

Durchführung

Zunächst wird die Datei /usr/photon/print/printers angelegt. Hierfür existiert eine Beispieldatei im Verzeichnis /usr/photon/print. Also kopiert man die Datei printers_samples nachprinters und ändert die Angaben gemäß der vorhandenen Drucker. Alle nicht verwendeten Beispiele werden aus ihr entfernt. Diese Datei muß auf jedem Rechner existieren, auf dem unter Photon gedruckt werden soll. Ein symbolischer Link reicht hier nicht aus!

Wenn sie mehrere Drucker und Arbeitsplätze im Haus haben, können sie für jeden Arbeitsplatz eine Menge von Druckern (Einträgen in der Datei) zusammenstellen, die von dem Arbeitsplatz aus benutzt werden dürfen. In der Datei werden neben den Properties (Eigenschaften) der Drucker auch die Standardeinstellungen festgelegt. Wichtiger jedoch ist die Definition des Device, wobei der absolute Pfad zur Queue angegeben wird, z.B.:

Device = //node#/dev/spool/ps.phs

Dabei gibt node# wieder die Knotennummer des Rechners an, auf dem der Printspooler bzw. der Photonprintspooler läuft.

Werden zwei Printspooler verwendet, so muß die Umgebungsvariable LPSRVR gesetzt werden, damit die standard Print-Utilities lp, lpc, lprm, lpq benutzt werden können. Dies geschieht am besten in der /etc/config/sysinit.#node oder der /etc/profile. Dort erhält die Variable den Namen des Printspoolers. Ferner kann dort auch eine default Druckerqueue mit der Variable LPDEST definiert werden. Nun kann man unter Photon mit dem Menü 'Setup Printer' den/die Drucker installieren, mit denen man arbeiten möchte. Dies geschieht mit wenigen Mausklicks, z.B. mit der rechten Maustaste auf den Hintergrund klicken, Setup Printers wählen, Drucker auswählen, Install anklicken, Save. Das gleiche erreicht man im Helpviewer über Print | Install. Dann wird die Datei//node#/etc/config/lpsrvr.node# geändert bzw. angelegt. Dabei bezeichnet node# die Knotennummer des Rechners, auf dem der Printspooler läuft bzw. laufen soll. Es genügt also, wenn es diese Datei nur einmal im gesamten Netz gibt. Im Verzeichnis /usr/photon/print gibt es die Beispieldatei lpsrvr.photon. Die einzelnen Teile dieser Datei haben wir bereits oben besprochen.
Sie können auch einen separaten Printspooler nur für Photon Druckaufträge verwenden. Dafür wird die Datei //node#/etc/config/lpsrvr.photon angelegt. Um den Printspooler nur für Photon zu starten, verwendet man den Befehl:

lpsrvr -f/etc/config/lpsrvr.photon &.

Der so gestartete zweite Printspooler arbeitet konfliktfrei neben dem ersten Printspooler, sofern der erste Printspooler keine Queues enthält, die auch unter Photon arbeiten sollen. Damit aber gedruckt werden kann, muß entweder ein Photonprintspooler gestartet werden oder im Printspooler müssen Photon Print-Queues eingerichtet werden. Schauen wir uns zum Schluß einfach mal die Einträge an, welche über den Spoolernamen und die Targets hinausgehen:

  • Dokument unter Photon in PCL Format
    [phpcl]
    ta=lpt1
    ci=/usr/photon/bin/Pp.pcl < $(fname) > $(spfile)
    co=cat $(spfile) > $(device)

  • Dokument unter Photon in Postscript Format
    [phps]
    ta=lpt2
    ci=/usr/photon/bin/Pp.ps < $(fname) > $(spfile)
    co=cat $(spfile) > $(device)

Weitere Informationen QNX Operating System; Installation & Configuration: Print Spooling
QNX Operating System; Utilities A to M and N to Z
Photon microGUI; Installation & Configuration: Printing Support

 

© 1999 by SW Datentechnik GmbH

 

Leitfaden zum Überwinden der ersten Hürden nach der Installation
des X Window Systems unter QNX 4

 

Inhaltsverzeichnis

Eintragsstruktur

Einleitung

  • Konfigurationsmöglichkeiten
Generelles
  • Links
  • Maus
  • Shell mit History und Befehleditiermöglichkeit
  • Hotkeyexit deaktivieren
Maßgeschneidertes
  • Eigene Menüs
  • Deutsche Tastaturbelegung
  • Lesbarer xterm-Font bei hoher Bildschirmauflösung
 

Eintragstruktur

Die Einträge zu den einzelnen Punkten sind wie folgt gegliedert:

Motivation
Warum der Standardzustand auf Dauer nicht tragbar ist.

Abhilfe
Der prinzipielle Lösungsweg.

Durchführung
Die konkret notwendigen Befehle zur Lösung des Problems.

Fallen und Fußangeln
Unerwünschte Seiteneffekte und/oder notwendige Voraussetzungen.

Weitere Informationen
Wo nachgelesen werden kann, wie es sich im Detail verhält.

Bevor die eigentlichen Maßnahmen geschildert werden, folgt hier noch eine kurze Darstellung der Konfigurationsmöglichkeiten unter X. Sie bildet die Grundlage für viele der im weiteren Verlauf beschriebenen Lösungsverfahren und sollte daher nicht übersprungen werden.

 

Einleitung

 

Nach der Installation des X Windows Systems liegt ein zwar lauffähiges jedoch noch recht rohes X vor dem Benutzer. Dieser Leitfaden soll dabei helfen, möglichst schnell einen "arbeitsfähigen" Zustand zu erreichen. Zunächst werden im Abschnitt "Generelles" die Schritte abgehandelt, die notwendig sind, um ein rudimentäres Arbeiten überhaupt zu erlauben. Im Abschnitt "Maßgeschneidertes" werden Maßnahmen vorgestellt, die eine Anpassung an die speziellen Bedürfnisse der Benutzer gestatten.

Bevor die eigentlichen Maßnahmen geschildert werden, folgt hier noch eine kurze Darstellung der Konfigurationsmöglichkeiten unter X. Sie bildet die Grundlage für viele der im weiteren Verlauf beschriebenen Lösungsverfahren und sollte daher nicht übersprungen werden.

 

Konfigurationsmöglichkeiten

 

Alle Einstellungen, die über die aktuelle Sitzung hinaus Gültigkeit haben sollen, werden am besten in eine Konfigurationsdatei eingetragen. Diese Dateien werden beim Starten von Programmen ausgeführt bzw. aufgerufen und sorgen dafür, daß das Programm sich von Anfang so verhält, wie der Benutzer es wünscht.

Es gibt drei Arten, auf die Programme konfiguriert werden können:

    • Command-line Optionen. Diese Methode unterscheidet sich nicht von der unter QNX üblichen Methode. Die Optionen werden mit einem Spiegelstrich hinter dem Befehlsnamen angegeben. Um z.B. ein xterm mit einem Scrollbar und dem Titel "Terminal 1" zu versehen, kann geschrieben werden:

xterm -sb -name "Terminal 1"

 

  • Startup-Scripts. Die auszuführenden Befehle bzw. die Konfigurationsdaten werden in einem Startup-Script festgelegt, das beim Aufruf eines Programms ausgeführt wird. Die Startup-Scripts-Dateinamen beginnen mit einem Punkt und Enden auf rc und enthalten dazwischen den Namen des Programms, bei dessen Start sie aufgerufen werden; so wird z.B. beim Start von xinit (letzter Befehl in startx) das Startup-Script .xinitrc ausgeführt.

    Viele Startup-Scripts sind in Standardversionen vorhanden, die in Verzeichnissen unter /usr/X11/lib/ liegen, und die leicht abweichende Namen tragen. Diese Scripts werden ausgeführt, solange der Benutzer in seinem $HOME -Verzeichnis kein entsprechendes Script angelegt hat. Möchte man also vom Standard abweichende Einstellungen vornehmen muß man zunächst diese Standardversionen finden, in das eigene $HOME-Verzeichnis kopieren, umbenennen und kann dann dieses Startup-Script editieren. Dies sind die Namen einiger wichtiger Startup-Scripts:

    Programm Standard-Script Eigenes Script
    twm /usr/X11/lib/twm/system.twmrc .twmrc
    mwm /usr/X11/lib/system.mwmrc .mwmrc
    xinit /usr/X11/lib/xinit/xinitrc .xinitrc
  • Ressourcen. Fast alle Programme, die unter X laufen (sogenannte Clients) können bis ins Detail über Ressourcen modifiziert werden. Ohne hier ins Detail gehen zu wollen, sei gesagt, daß für jedes Element der Oberfläche (Knopf, Textfeld, Rahmen, etc.) sein Verhalten und Aussehen spezifiziert werden kann. Vom Standard abweichende Ressourcen werden in der Datei .Xdefaults festgelegt, die von jedem Client bei seinem Start gelesen wird. Um z.B. xtetris mit dem Label "Nicht spielen!" (statt "XTETRIS 2.5") zu versehen, muß folgende Zeile in .Xdefaults eingefügt werden:

     

     

.xtetris.Frame.TitleBar.label: Nicht spielen!

 

 

Generelles

 

Links

Motivation Das komplett installierte X Window System benötigt unter QNX4 390 MB Plattenplatz. Auf jedem Rechner, an dem ernsthaft mit X gearbeitet werden soll, muß dieser Plattenplatz zur Verfügung gestellt werden, obgleich meistens nur ein geringer Teil der installierten Dateien dauerhaft benötigt wird.

 

Abhilfe Falls nicht extrem vielen X-Programmen und -Daten gearbeitet werden muß (viele Aufrufe bzw. lesende und schreibende Zugriffe), dann bietet sich eine Installation über Links an. Die Dateien werden vom Rechner, auf dem X normal installiert wurde (A) gelesen und auf dem Rechner, auf dem nur Links vorhanden sind (B) ausgeführt. A wird also nur hinsichtlich zusätzlicher Lese- und Schreibzugriffe belastet, nicht aber hinsichtlich eigentlicher Prozessorzeit.
Durchführung Alle X-relevanten Verzeichnisse müssen per Link auf dem Zielrechner (B) angelegt werden.

Dieses sind:

/usr/X11
/usr/lib/X11
/usr/bin/X11
/usr/gnu
/usr/man/manl
/usr/man/mann
/usr/lib/terminfo/x

Der Befehl zum Anlegen des Links für /usr/X11 sähe wie folgt aus:

ln -s //A/usr/X11 //B/usr/X11

Um diese Arbeit zu erleichtern, wurde das Shellscript linkX erstellt. Der Aufruf lautet

linkX A

Um die Links wieder zu entfernen (z.B. um X11 komplett auf B zu installieren oder Links auf einen anderen Rechner anzulegen) muß für alle X-relevanten Verzeichnisse(s.o.) z.B. folgender Befehl ausgeführt werden:

rm //B/usr/X11

Um auch diese Arbeit zu erleichtern, wurde das Shellscript unlinkX erstellt. Der Aufruf lautet

unlinkX

Fallen & Fußangeln Der Rechner A muß für B stets über das Netz sichtbar sein, um mit X arbeiten zu können.
Weitere Informationen QNX Utilities Reference: ln, rm
 

Maus

Motivation X ist für die Arbeit mit dreiknöpfigen Mäusen ausgelegt. Viele Funktionen sind nur über die mittlere Maustaste ausführ- bzw. ansprechbar. So erfolgt z.B.

 

  • ein Text-"Paste" von Client zu Client (xterm, Editor, Anwendung mit Eingabefeldern) durch Drücken auf die mittlere Maustaste
  • direktes Scrolling durch Ziehen am Scrollbar mit der mittleren Maustaste
  • das Aufblenden des Optionsmenüs im xterm nur beim gleichzeitigen Drücken auf  und die mittlere Maustaste
Abhilfe Der Maustreiber Mouse muß so gestartet werden, daß er die dritte Maustaste erkennt.

 

Durchführung In der Datei /etc/config/sysinit.Knotennummer muß der Befehl zum Starten des Maustreibers Mouse so geändert werden, daß - je nach Maustyp - entweder die MouseMan von Logitech (mman) oder die PS/2-Maus mit 3 Knöpfen (ps2+) unterstützt wird. Die anderen Optionen sollten beibehalten werden.

Bsp.:

Die Zeile

Mouse msoft

wird umgewandelt in

Mouse mman

Fallen & Fußangeln Einige QNX-Anwendungen kommen mit drei Knöpfen nicht klar. In diesem Fall muß der Maustreiber terminiert (slay Mouse) und mit den Parametern für eine zweiknöpfige Maus neugestartet werden. Z.B.:

 

slay mouse

Mouse msoft

Weitere Informationen QNX Utilities Reference: Mouse, slay

QNX User's Guide: system initialization file

 

Shell mit History und Befehleditiermöglichkeit

Motivation Um in einer Shell angenehm arbeiten zu können, sind die Funktionen, die in einer normalen QNX-Shell geboten werden sehr hilfreich:
  • In einer Befehlszeile kann der Cursor nach links und rechts bewegt werden
  • Die letzten Befehle können durch Druck auf die Tasten ­ und ¯ traversiert werden.
Diese Funktionalität ist in einem xterm nicht standardmäßig vorhanden.

 

Abhilfe Dem einem xterm zugrundeliegende Terminal muß mitgeteilt werden, daß es sich wie ein X-Terminal verhalten soll. Damit dies für alle xterms gilt, sollte diese Einstellung möglichst zentral durchgeführt werden; am besten beim Starten von X.

 

Durchführung In die .xinitrc müssen vor dem Aufruf des Windowmanagers (mwmtwm, etc.) die folgenden Zeilen eingefügt werden:

 

 

# terminal settings
TERM=xterm
stty load
stty +edit

 

Weitere Informationen QNX Utilities Reference: stty
 

Hotkeyexit deaktivieren

Motivation Durch gleichzeitiges Drücken auf die Tasten  und  kann X ohne Sicherheitsabfrage verlassen werden. Dieses kann unbeabsichtigt zu ärgerlichen Situationen und Datenverlust führen.

 

Abhilfe Mit configX kann der Hotkeyexit deaktiviert werden.
Durchführung configX aufrufen und im Menü " Options" den Menüpunkt "HotKeyExit" auswählen, so daß das dazugehörige Kästchen nicht mehr ausgefüllt erscheint. Das Programm mit "Save and Quit" aus dem Menü "File" verlassen.
Weitere Informationen QNX X Window System Installation & User's Guide: Using configX
 

Maßgeschneidertes

 

Eigene Menüs

Motivation Häufig benutzte Anwendungen müssen stets auf Neue von Hand aus einer Shell heraus gestartet werden. Nach Deaktivierung des Hotkeyexits kann X nur noch durch slay mwm verlassen werden.

 

Abhilfe In der .mwmrc können eigene Menüs und andere aussehensrelevante Dinge des Motif-Window-Managers festgelegt werden.

 

Durchführung Um X über das "Root Menu" (rechte Maustaste außerhalb eines Clients gedrückt gehalten) zu verlassen, muß hinter der Zeile

 

"Restart..." f.restart

 

in der Definition von DefaultRootMenu eingefügt werden:

 

"Quit..." f.quit_mwm

 

Um ein Menü mit häufig benutzten Anwendungen (z.B. xtermezfmxman) auf die linke Maustaste zu legen, müssen folgende Zeilen eingefügt werden:

In der Definition von DefaultButtonBindings

 

root f.menu ApplicationMenu

 

Irgendwo außerhalb einer existierende Definition

           Menu ApplicationMenu
            {
             "Application Menu" f.title
             "Terminal" f.exec "xterm &"
             "Ezfm" f.exec "xqsh -e /usr/bin/ezfm &"
             "Manual" f.exec "../../usr/X11/bin/xman -notopbox
             &"
            }
         
Weitere Informationen X Window System User's Guide (Motif Edition): Customizing mwm
 

Deutsche Tastaturbelegung

Motivation Standardmäßig geht X von einer amerikanischen Tastaturbelegung aus. Umlaute und andere Deutschland-spezifische Tastenumlegungen ( getauscht mit , etc.) werden nicht berücksichtigt.
Abhilfe Die Abbildung von Tasten (keycodes) auf Zeichen oder Funktionen (keysyms) wird in modmap-Dateien festgelegt. X muß mitgeteilt werden, daß die deutsche modmap benutzt werden soll.
Durchführung Um die Standardtastaturbelegung zu übergehen, muß eine eigene .Xmodmap angelegt werden. Da eine deutsche modmap bereits existiert, genügt es, die .Xmodmap als Link auf die deutsche modmap anzulegen:ln -s /usr/X11/lib/xinit/Germany.modmap $HOME/.Xmodmap
Fallen & Fußangeln Die Germany.modmap ist fehlerhaft, wird aber von QNX in bälde korrigiert werden.

 

Weitere Informationen X Window System User's Guide: Setup clients: xmodmap
 

Lesbarer xterm-Font bei hoher Bildschirmauflösung

Motivation Bei Wahl einer hohen Bildschirmauflösung (wie sie zum sinnvollen Arbeiten oft notwendig ist) ist auf einigen Monitoren die Kantenschärfe und damit auch die Lesbarkeit der Texte im xterm extrem heruntergesetzt.
Abhilfe Für das xterm muß ein fetter Standardzeichensatz gewählt werden.
Durchführung In die .Xdefaults muß eingefügt werden:

 

.xterm.vt100.font: -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-1

 

Weitere Informationen X Window System User's Guide: Setting Resources, Font Specification

 

© 1999 by SW Datentechnik GmbH