Konfigurationssprache | Optionen Konfiguration des XmetaX-Proxys

# Konfigurationssprache

Wenn der XmetaX-Proxy startet, liest er Konfigurationsanweisungen von der Kommandozeile oder aus Konfigurationsdateien (Konfigurationsdatei).

## Syntax der Anweisungen

Eine Konfiguration besteht aus einer Reihe von Anweisungen, die einigen allgemeinen Regeln folgen:

Worte werden durch beliebige Leerzeichen getrennt. Die Zeilenstruktur ist irrelevant.

Soll ein Wort Leerzeichen enthalten, muß es mit doppelten Anführungszeichen " umgeben werden. Die besondere Bedeutung des Anführungszeichens wird mit einem vorangestellten, rückwärtigen Schrägstrich \ aufgehoben.

Bei Schlüsselworten ist die Groß-/Kleinschreibung nicht signifikant: connectTimeout und ConnecttimeOut bedeuten dasselbe.

Schlüsselworte sind nicht reserviert.

Die meisten Konfigurationsanweisungen bestehen aus dem Namen des zu setzenden Parameters und seinem neuen Wert. Dabei kann der Name mit oder ohne direkt anschließendem Doppelpunkt : geschrieben werden.

Viele Anweisungen gelten nur im Kontext einer Meta-Screen- oder Screen-Definition und werden hier Sub-Anweisungen genannt. Sie sind durch eine entsprechende metaScreen- (Meta-Screen), screen- oder window-Anweisung (Screen) einzuleiten.

Werden gleichnamige Parameter mehrfach angegeben, gilt die letzte Anweisung, mit Ausnahme der serverCommand-Anweisung, die alle Parameter zusammenfügt.

Die Auswertung der Parameter erfolgt erst nachdem alle Konfigurationsanweisungen gelesen wurden. Dies ist insbesondere bei relativen Positionsangaben von Bedeutung.

Die einzelnen Konfigurationsanweisungen werden in den folgenden Abschnitten mit Hilfe einer formalen Syntax beschrieben, die die folgenden Elemente enthält:

Schlüsselworte haben besondere Bedeutungen.

variable_Eingaben hängen von der Konfiguration ab.

Alternative_1|Alternative_2: Alternativen werden durch einen vertikalen Strich getrennt.

[optional]: Optionale Parameter werden von eckigen Klammern umgeben.

Parameter...: Wiederholungen (ein- oder mehrmals) werden mit einer Ellipsis gekennzeichnet.

{Element}: Geschweifte Klammern dienen der Gruppierung.

## Voreingestellte Konfiguration

Wird das xmetax-Programm ohne Argumente aufgerufen, gilt die voreingestellte Konfiguration. Die folgenden Zeilen zeigen fast alle Konfigurationsanweisungen mit ihren Voreinstellungen:

    connection :0.0
    serverNice 0
    authorization none
    accessControl on
    serverAuthorization none
    xdmcpMode off
    workarounds none
    options none
    bell on
    syncScreenSavers off
    disableSlaveInput off
    vendorString none
    vendorReleaseNumber none
    glxVendorString none
    nice 0
    numberOfThreads 4
    logDestination /var/opt/XSOXmetaX/logs/xmetax-Benutzername-0.html
    logTypes none

    metaScreen .0
        width 0
        height 0
        keepWindowsVisible 0

    screen :1.0
        display :1.0
        ofMetaScreen .0
        connectTimeout 20
        failsafeTimeout 0
        priority 0 0
        clipX 0
        clipY 0
        clipWidth 0
        clipHeight 0
        displayX 0
        displayY 0
        displayWidth 0
        displayHeight 0
        borderWidth -1
        followPointerX 0
        followPointerY 0
        followPointerMode continuous
        followPointerRestrict none
        pointer on
            allowEnter on
            sampleRate 0
            sync off
                wrapX off
                wrapY of
                zoom 1
        input on
            clickTransfer off
        keyboardMapping none
        emulateVisual none
        tags atom color font glx image

## Kommentare

Kommentare beginnen mit einem Doppelkreuz # und reichen bis zum Zeilenende.

Beginnt ein Kommentar — nach Überlesen von Leerzeichen — am Zeilenanfang, wird er dem zuletzt definierten Screen (Screen) oder Meta-Screen (Meta-Screen) zugeordnet. Beim Schreiben einer Konfigurationsdatei gibt das Konfigurationsprogramm diese Kommentarzeilen zwischen der entsprechenden screen- oder window-Anweisung oder metaScreen-Anweisung und den folgenden Sub-Anweisungen aus.

Die einleitenden Kommentarzeilen zu Beginn einer Konfigurationsdatei vor der ersten Definition eines Screens oder eines Meta-Screens bleiben erhalten.

Alle anderen Kommentare werden überlesen und vom Konfigurationsprogramm nicht gespeichert.

## Variablen

Auf die Environment-Variablen kann wie in einer Shell zugegriffen werden, zum Beispiel:

    serverCommand $OPENWINHOME/bin/X :1

Die Syntax für Zuweisungen unterscheidet sich jedoch:

    set Variablenname Wert

etwa:

    set XAUTHORITY $HOME/xmetax.xauthority

Ein Variablenname beginnt mit einem Buchstaben (dazu zählt auch der Unterstrich _) gefolgt von Buchstaben oder Ziffern. In besonderen Fällen werden zur Abgrenzung geschweifte Klammern verwendet:

    set server1 remote:1.
    screen ${server1}0

Die in der Konfiguration gesetzten Variablen werden in das Environment übernommen und können zum Beispiel vom X Window Server gelesen werden.

## Listen

Einige Anweisungen erwarten als Argument eine Liste von einzelnen Elementen in der Form:

    {[+|-]item}...

Das optionale Vorzeichen betimmt, ob ein Element eingeschlossen wird oder nicht: beginnt eine Spezifikationen mit dem Minuszeichen -, wird die entsprechende Komponente aus der konfigurierten Menge von Elementen entfernt, anderenfalls zur Menge hinzugefügt. Die Ausgangsmenge hängt ab von der ersten Spezifikation: beginnt sie mit einem Minuszeichen -, enthält die Ausgangemange alle möglichen Elemente, anderenfalls ist die Ausgangsmenge leer.

## Arithmetische Ausdrücke

Arithmetische Ausdrücke können die Operatoren *, / und % (Modulus), + und - sowie Variablen enthalten. Sie werden mit normalen Klammern umgeben, zum Beispiel:

    set nice -5
    set serverNice ($nice - 2)

## Zeitpunkte und Zeiträume

Die Spezifikation eines Zeitpunktes folgt einer erweiterten ISO-Syntax:

    [Jahr{-|/}Monat{-|/}Tag] Stunden:Minuten[:Sekunden[.Millisekunden]] [am|AM|pm|PM] [Z|{+|-Stunden:Minuten}]

Die folgenden Beispiele bezeichnen annähernd den gleichen Zeitpunkt am 20. August 2008 in Zentraleuropa:

    2008-08-20 20:08:20.2008
    20:08
    18:08 Z
    08:08 pm

Die Syntax zur Spezifikation eines Zeitraums ist ähnlich:

    [[Stunden:]Minuten:]Sekunden[.Millisekunden]

Die folgenden Beispiele bezeichnen annähernd die gleiche Zeitspanne:

    1:23:45.678
    83:45
    5025

## Konfigurationsdatei

Die Anweisung

    source Dateiname|-

oder auch nur

    Dateiname|-

wird durch den Inhalt einer Konfigurationsdatei ersetzt. Wird als Dateiname - angegeben, erfolgt die Eingabe vom Standard-Eingabe-Strom. Die Dateien können beliebig tief, jedoch nicht zyklisch, verschachtelt werden.

Mit der Anweisung

    stop

wird die Interpretation einer Konfigurationsdatei vor dem Dateiende abgebrochen. Der restliche Dateiinhalt wird nicht eingelesen und vom Konfigurationsprogramm auch nicht geschrieben.

Nach oben
Optionen
Konfiguration des XmetaX-Proxys

Copyright © 2021 X-Software GmbH
info@x-software.com