Commande X

Objectif

Démarre le serveur X.

Syntaxe

X-a Nombre ] [  -authentification FileName ] [  -bc +bc ] [  -pb Couleur ] [  -diffusion ] [  -bs -nobs ] [  -c Volume ] [  -cc VisualType :Affichage ] ] [  -classe DisplayClass ] [  -co Fichier ] [  -biscuit XDMAuthenticationBit ] [  -D Fichier ] [  -d Profondeur :Affichage ] ]  -displayID DisplayID ] [ -dommages | +dommages ] [ -evie | +evie ] [  -f Nombre ] [ -fc Police ] [ -correctifs | +fixes ] [ -fn Police ] [  -fp Police ] [ -aider ] [  -I ] [  -indirecte HostName] [ -couche # :Affichage ] ] [  -logo nologo ] [  -n :Nombre ] [  -une fois ] [  -P RowColumn  Affichage } ] [  -pbuffer niveau [:display nom | :display nombre] ] [  -p Nombre ] [  -port PortNumber ] [  -interrogation HostName ] [  -r r ] [ +rendu | -rendre ]-s Nombre ] [ -secIP [PermissionCode]] [ -secLocal [PermissionCode]] [ -secSMT [PermissionCode]] [ -stéréo [:Affichage]] [  -su ] [  -T ] [  -t Nombre ] [  Nombre ] [  -v ] [ -vfb ]-wm ] [  -wp Couleur ] [  -envelopper | [  -wrapx ] [  -wrapy ] ] [  -x ExtensionName ] [ -xkbdir Annuaire ] [ -xkbmap FileName ] [ [+|-]accessx ] [ -ar1 Millisecondes ] [ -ar2 Millisecondes ] [ -sp FileName ] [ +/- xinerama FileName ]

Descriptif

La commande X démarre le serveur X, un serveur d'affichage qui s'exécute sur des terminaux bitmap. Le serveur X répartit les demandes d'entrée et de sortie vers ou depuis les programmes situés sur le système hôte ou les systèmes qui lui sont connectés via un réseau.

Terminez une session Enhanced X-Windows en utilisant la séquence de touches Ctrl+Alt+Backspace.

Vous pouvez indiquer une ou plusieurs unités d'affichage. Si aucun n'est spécifié, la valeur par défaut est all. L'ordre de configuration par défaut est déterminé par l'ordre des emplacements d'adaptateur. L'adaptateur dans le premier emplacement est initialisé comme l'écran le plus à gauche, l'adaptateur dans le deuxième emplacement est l'écran suivant à droite. Pour réorganiser la présentation des écrans, utilisez l'indicateur -P . L'indicateur -P associe la ligne et la colonne de l'unité au nom de l'unité. Vous pouvez déterminer le nom de l'unité à l'aide de la commande lsdisp .

Les deux affichages sont disposés verticalement ou horizontalement. L'exemple suivant montre des indicateurs -P spécifiant une disposition horizontale:

-P11 ppr0 -P12 ppr1

:NONE.2dans la position de droite du deuxième indicateur -P indique que la deuxième vue du moniteur se trouve le long de l'axe des X. On obtient ainsi la disposition horizontale:

         Display                        Display
                  1                                  2

Pour afficher deux moniteurs dans une disposition verticale, les indicateurs -P doivent être les suivants:

-P11 ppr0 -P21 ppr1

:NONE.2dans la première position indique que les moniteurs sont en configuration verticale selon l'axe des ordonnées:

         Display
                  1
         Display
                  2

Dans la configuration horizontale, lorsqu'une souris se déplace de gauche à droite dans l'affichage 1 et atteint la bordure de l'affichage 1 et 2, le curseur se poursuit dans l'affichage 2 à la même position de l'axe des Y. Lorsqu'il atteint le bord de l'affichage 2 et que l'indicateur -wrapx est défini, il apparaît au bord le plus à gauche de l'affichage 1 dans la même position de l'axe des Y. Si l'indicateur -wrapx n'est pas défini, la souris s'arrête à l'extrémité éloignée de l'écran 2.

Dans une configuration verticale, lorsque la souris se déplace de haut en bas dans l'affichage 1 et atteint la bordure de l'affichage 1 et de l'affichage 2, le curseur se poursuit dans l'affichage 2 à la même position de l'axe des abscisses. Lorsque le curseur atteint le bas de l'écran 2 et que l'indicateur -wrapy est défini, le curseur apparaît sur le bord supérieur de l'écran 1 à la même position de l'axe des X. Si l'indicateur -wrapy n'est pas défini, la souris s'arrête en bas de l'écran 2.

En outre, les messages d'information et d'erreur (par exemple, un message indiquant qu'une extension ne peut pas être chargée) sont répertoriés dans le fichier /tmp/xlogfile . Ce fichier peut fournir des informations utiles dans les cas où le serveur X rencontre un problème. Ce fichier est réécrit chaque fois que le serveur X est instancié. Ce fichier fournit des informations supplémentaires sur les erreurs et les non-erreurs, mais il ne constitue pas un journal des erreurs complet pour le serveur X.

Lorsque X-Server est démarré, il apparaît à l'aide de la classe de couleur par défaut. Selon le pilote, X-Server peut utiliser par défaut la classe PseudoColor ou TrueColor .

La classe PseudoColor utilise une mappe de couleurs pour afficher les couleurs à l'écran. De nombreux adaptateurs graphiques ne prennent en charge qu'une seule mappe de couleurs matérielle. Dans ce cas, si la classe de couleur par défaut est PseudoColor et qu'une application utilise une mappe de couleurs différente de la mappe de couleurs par défaut, des couleurs incorrectes peuvent s'afficher à l'écran. Seule la fenêtre mise en évidence affiche les couleurs correctes. Il est conseillé d'exécuter le serveur X en mode TrueColor pour éviter que des couleurs incorrectes ne s'affichent à l'écran.

L'indicateur de commande -cc X-Server peut être utilisé pour amener X-Server vers le haut à l'aide de la classe TrueColor . Le fichier /usr/lpp/X11/defaults/xserverrc peut être modifié pour l'autoriser, comme illustré dans l'exemple suivant.

En tant que superutilisateur, éditez le fichier /usr/lpp/X11/defaults/xserverrc . Mettez à jour la variable EXTENSIONS= "" comme illustré dans l'exemple suivant:

#-------------------------------------------------------------------------
# Start the X server in True Color mode
#-------------------------------------------------------------------------
EXTENSIONS="$EXTENSIONS -cc 4"

Redémarrez X Server en vous déconnectant de CDE et en cliquant sur Réinitialiser.

Remarque: La commande xdpyinfo peut être utilisée pour vérifier la classe de couleur par défaut.

Indicateurs

Article Descriptif
-a Numéro Indique le multiplicateur d'accélération pour le déplacement de la souris. Par exemple, une valeur de 5 fait que le curseur se déplace cinq fois plus vite que la souris. La valeur par défaut est 4 pixels ; toute valeur spécifiée doit être une valeur positive supérieure à 0.
-authentification FileName Indique à X le fichier à partir duquel le cookie magique MIT (Massachusetts Institute of Technology) doit être lu.
-bc Désactive la compatibilité avec les versions antérieures avec Enhanced X-Windows version 1.1.
+ bc Active la compatibilité avec les versions antérieures avec Enhanced X-Windows version 1.1. Il s'agit de la valeur par défaut.
-bp Couleur Indique une couleur de pixel noir pour l'affichage. La valeur par défaut est dépendante de l'affichage.
-bs Active la prise en charge du magasin de sauvegarde sur tous les écrans. La prise en charge du magasin de sauvegarde est désactivée par défaut.
-c Volume Indique le volume de clics sur clé.
-cc VisualType [:Affichage] Indique le type de visuel à utiliser pour la fenêtre racine de l'écran indiqué par le nom d'affichage. Tous les types visuels ne sont pas disponibles sur tous les adaptateurs à toutes les profondeurs. Le paramètre :Display est facultatif, mais utile lors de l'utilisation de l'option multihead. Le paramètre :Display est le nom de l'affichage, comme indiqué dans la commande lsdisp . Si aucun numéro d'affichage ou nom n'est indiqué, le visuel indiqué est sélectionné pour tous les écrans.

Pour spécifier le type visuel et la profondeur du visuel par défaut, utilisez les indicateurs -cc et -d , respectivement.

Les valeurs du paramètre VisualType sont spécifiées sous la forme d'une chaîne ou d'un nombre, comme suit:

String  Numeric equivalent
StaticGray		0
GrayScale		1
StaticColor		2
PseudoColor		3		
TrueColor		4
DirectColor		5	
-co Fichier Définit le nom de la base de données de couleurs rouge, verte et bleue (RVB). Il s'agit de l'indicateur par défaut pour la base de données de couleurs.
-D Fichier Indique le chemin d'accès complet du fichier de base de données de définition des couleurs. La valeur par défaut est /usr/lib/X11/rgb.
-d Profondeur[:Affichage] Indique la profondeur racine de l'écran indiqué par le nom d'affichage. Tous les types visuels ne seront pas disponibles sur tous les adaptateurs à toutes les profondeurs.

Le paramètre :Display est facultatif, mais utile lors de l'utilisation de l'option multihead et doit correspondre aux valeurs transmises avec l'indicateur -P . Le paramètre :Display est le nom de l'affichage, comme indiqué dans la commande lsdisp . En l'absence du paramètre :Afficher , la profondeur spécifiée est sélectionnée pour tous les affichages sélectionnés dans l'option multitête, comme indiqué dans l'indicateur -P .

-dommage Désactive l'extension X Damage.
+ dommage Active l'extension X Damage.
-evie Désactive l'extension X Event Interception.
+ evie Active l'extension X Event Interception.
-f Numéro Indique le volume de bip. La valeur par défaut est -1 ou moyenne. Les valeurs prises en charge sont les suivantes:
Value           Setting
0               Off
1-33            Low
-1 or 34-66     Medium
67-100          High
-fc Police Indique la police du curseur pour les glyphes et les masques de curseur. La valeur par défaut dépend du système d'exploitation et de l'affichage.
-correctifs Désactive l'extension X Fixes.
+ correctifs Active l'extension X Fixes.
-fn Police Indique la police de texte par défaut. La valeur par défaut dépend du système d'exploitation et de l'affichage.
-fp Police Indique le chemin de police.
-I Tous les arguments de ligne de commande restants sont ignorés. (i majuscule)
-help Imprime un message d'utilisation.
-layer #[:Affichage] Indique que le visuel par défaut doit se trouver dans la couche # . Le paramètre :Display est le nom de l'affichage, comme indiqué dans la commande lsdisp . La spécification de cet indicateur pour un adaptateur qui n'a pas de fond de page, ou qui a moins de 8 bits de fond de page, n'a aucun effet. Si vous spécifiez cet indicateur avec un # supérieur au nombre de couches prises en charge, le visuel par défaut se trouve dans la couche par défaut de l'écran (comme si aucun indicateur -layer n'avait été utilisé).
-logo Active l'affichage du logo X Window System dans l'écran de veille. Il n'existe actuellement aucun moyen de le modifier à partir d'un client.
-n:Nombre Indique le numéro de connexion. Les valeurs admises pour le paramètre Nombre sont comprises entre 0 et 255. La valeur par défaut est le prochain numéro disponible. Le paramètre Nombre est utilisé par les programmes pour communiquer avec un serveur X spécifique. Par exemple, la commande :
X -n :18

indique que la communication avec le serveur X activé est effectuée par unix:18 ou par Hostname: 18.

-nobs Désactive la prise en charge du magasin de sauvegarde sur tous les écrans. Il s'agit de la valeur par défaut.
nologo Désactive l'affichage du logo X Window System dans l'écran de veille. Il n'existe actuellement aucun moyen de le modifier à partir d'un client.
-une fois Demande au serveur de se fermer à la fin de la première session. Normalement, le serveur démarre automatiquement les sessions.
-PRowColumn Affichage Indique le positionnement physique des écrans dans une configuration multitête. Le paramètre Ligne indique la ligne dans laquelle se trouve l'affichage. Le paramètre Colonne indique la colonne dans laquelle se trouve l'affichage.

Le paramètre Display est le nom d'unité de l'affichage, comme indiqué dans la première colonne de la sortie de la commande Isdisp . La première occurrence de " -P "RowColumn " Affichage sur la ligne de commande décrit l'écran 0 au serveur X, la deuxième décrit l'écran 1, et ainsi de suite.

L'indicateur -P est destiné à être utilisé avec la prise en charge de plusieurs têtes.

-pbuffer niveau [ :afficher nom | :afficher nombre ] Indique le niveau d'allocation de mémoire pbuffer pour l'écran spécifié par :display. Cet indicateur n'est utile que lorsqu'il est utilisé avec l'extension GLX.

Le paramètre level indique la quantité relative de mémoire tampon de trame à réserver pour les pbuffers. Les valeurs spécifiées doivent être comprises dans la plage [ 0 .. 2 ]. La valeur 0 indique qu'aucune mémoire ne doit être réservée pour les pbuffers. La valeur 1 indique qu'une faible quantité de mémoire doit être réservée. La valeur 2 indique qu'une quantité élevée de mémoire doit être réservée. Tous les adaptateurs ne prennent pas en charge les pbuffers. Pour ceux qui le font, toutes les configurations d'écran ne prennent pas en charge les pbuffers. La quantité réelle de mémoire tampon de trame réservée aux pbuffers dépend de l'unité et peut être influencée par d'autres facteurs, tels que la résolution d'écran ou la profondeur de pixel par défaut.

Le paramètre :display est facultatif, mais utile lors de l'utilisation de l'option multihead. Le paramètre :display est le nom de l'affichage, comme indiqué dans la commande lsdisp . Si aucun nombre ou nom d'affichage n'est fourni, la largeur pbuffer spécifiée est sélectionnée pour tous les écrans.

-p Nombre Indique l'intervalle de temps, en minutes, entre les modifications de la position du logo du système X-Window. Cet indicateur est utilisé avec l'indicateur -s (délai d'attente de l'écran de veille) pour contrôler l'effacement de l'écran.
-r Désactive la répétition automatique. La valeur par défaut est la répétition automatique activée.
R Active la répétition automatique.
+ rendu Active l'extension X Render. Par défaut, l'extension X Render est désactivée.
Remarque: X Render Extension peut être activé sur le serveur X uniquement avec les cartes graphiques GXT135P, GXT145, GXT4500Pet GXT6500P . Pour vérifier l'adaptateur disponible sur le système, exécutez la commande lsdisp . Utilisez l'indicateur -vfb avec la mémoire tampon de trame virtuelle ainsi que l'indicateur + render .
-rendre Désactive l'extension X Render.
-s Nombre Indique le nombre de minutes à attendre avant d'effacer l'écran. La valeur par défaut est 10 minutes. Si cette valeur est définie sur 0, l'écran de veille est désactivé.
-secIP [PermissionCode] Définit le contrôle d'accès local sur le socket Internet. PermissionCode est composé de 3 chiffres octaux qui peuvent définir les bits de lecture, d'écriture et d'exécution. Si aucun PermissionCode n'est spécifié après un indicateur de sécurité, l'autorisation est définie par défaut sur 0 pour ce socket.
-secLocal [PermissionCode] Définit le contrôle d'accès sur le socket unix. PermissionCode est composé de 3 chiffres octaux qui peuvent définir les bits de lecture, d'écriture et d'exécution. Si aucun PermissionCode n'est spécifié après un indicateur de sécurité, l'autorisation est définie par défaut sur 0 pour ce socket.
-secSMT [PermissionCode] Définit le contrôle d'accès sur le socket de transport de mémoire partagée. PermissionCode est composé de 3 chiffres octaux qui peuvent définir les bits de lecture, d'écriture et d'exécution. Si aucun PermissionCode n'est spécifié après un indicateur de sécurité, l'autorisation est définie par défaut sur 0 pour ce socket.
-stereo [:Affichage] Configure la carte graphique pour un support stéréo optimal pour l'écran spécifié par Affichage.

Les écrans pris en charge configureront l'adaptateur pour fournir la meilleure prise en charge disponible pour la stéréo. Cela peut diminuer d'autres ressources telles que la mémoire de texture. La quantité réelle de mémoire affectée dépend de l'unité et peut être influencée par d'autres facteurs, tels que la résolution d'écran ou la profondeur de pixel par défaut.

Le paramètre Display est facultatif, mais utile lors de l'utilisation de l'option multihead. Le paramètre Display est le nom de l'affichage, comme indiqué dans la commande lsdisp . Si aucun numéro d'affichage ou nom n'est fourni, l'indicateur -stereo se rapporte à tous les écrans pris en charge.

Les écrans non pris en charge ignoreront l'indicateur -stereo .

-su Désactive la sauvegarde sous support sur tous les écrans.
-T Désactive la séquence de touches Ctrl + Alt + Retour arrière qui, par défaut, met fin à la session AIXwindows et à toutes les fenêtres ouvertes à partir de celle-ci.
-t Numéro Indique le seuil de la souris. La valeur par défaut est 2 pixels. L'accélération prend effet uniquement si la souris est déplacée au-delà du seuil de la souris dans un intervalle de temps et ne s'applique qu'à la quantité au-delà du seuil.
-to Nombre Indique le nombre de minutes à s'écouler entre les vérifications de connexion. La valeur par défaut est 60 minutes. Une valeur spécifiée doit être supérieure à 0.
-v Indique que l'affichage doit être remplacé par la couleur d'arrière-plan en cours après l'expiration du délai spécifié par l'indicateur -s . Par défaut, si l'indicateur -v n'est pas utilisé, la totalité de l'affichage est peinte avec la vignette d'arrière-plan après l'expiration de l'heure spécifiée par l'indicateur -s .
-vfb Démarre le serveur X avec Virtual Frame Buffer (VFB), sans initialiser d'adaptateur graphique.
-wm Force le magasin de sauvegarde par défaut de toutes les fenêtres à avoir la valeur WhenMapped . Il s'agit d'un moyen pratique d'appliquer le magasin de support à toutes les fenêtres.
-wp Couleur Indique une couleur d'affichage en blanc. La valeur par défaut dépend de l'affichage.
-encapsuler Indique le comportement de la souris lorsque sa zone sensible atteint la bordure gauche ou droite ou le haut ou le bas d'une fenêtre racine. Si cet indicateur est défini et que la zone sensible de la souris atteint la bordure gauche de la fenêtre racine la plus à gauche, la souris est automatiquement positionnée à la bordure droite de la fenêtre racine la plus à droite à la même position y.

Inversement, si cet indicateur est activé et que la zone sensible de la souris atteint la bordure droite de la fenêtre racine la plus à droite, la souris est automatiquement positionnée à la bordure gauche de la fenêtre racine la plus à gauche à la même position y. Si cet indicateur n'est pas défini, la souris s'arrête à la bordure gauche ou droite d'une fenêtre racine.

Si cet indicateur est défini et que la zone sensible de la souris atteint la bordure supérieure de la fenêtre racine la plus haute, la souris est positionnée à la bordure inférieure de la fenêtre racine la plus basse à la même position x.

Inversement, si cet indicateur est activé et que la zone sensible de la souris atteint la bordure inférieure de la fenêtre racine la plus basse, la souris est positionnée à la bordure supérieure de la fenêtre racine la plus haute à la même position x.

L'indicateur -wrap est destiné à être utilisé avec la prise en charge de plusieurs têtes.

-wrapx Indique le comportement de la souris lorsque sa zone sensible atteint la bordure gauche ou droite d'une fenêtre racine. Si cet indicateur est défini et que la zone sensible de la souris atteint la bordure gauche de la fenêtre racine la plus à gauche, la souris est positionnée à la bordure droite de la fenêtre racine la plus à droite à la même position y. Inversement, si cet indicateur est activé et que la zone sensible de la souris atteint la bordure droite de la fenêtre racine la plus à droite, la souris est positionnée à la bordure gauche de la fenêtre racine la plus à gauche à la même position y. Si cet indicateur n'est pas défini, la souris s'arrête à la bordure gauche ou droite d'une fenêtre racine.

L'indicateur -wrapx est destiné à être utilisé avec la prise en charge de plusieurs têtes.

-wrapy Indique le comportement de la souris lorsque sa zone sensible atteint la bordure supérieure ou inférieure d'une fenêtre racine. Si cet indicateur est défini et que la zone sensible de la souris atteint la bordure supérieure de la fenêtre racine la plus haute, la souris est positionnée à la bordure inférieure de la fenêtre racine la plus basse à la même position x.

Inversement, si cet indicateur est activé et que la zone sensible de la souris atteint la bordure inférieure de la fenêtre racine la plus basse, la souris est positionnée à la bordure supérieure de la fenêtre racine la plus haute à la même position x. Si cet indicateur n'est pas défini, la souris s'arrête à la bordure supérieure ou inférieure d'une fenêtre racine.

L'indicateur -wrapy est destiné à être utilisé avec la prise en charge de plusieurs têtes.

-x ExtensionName Indique que le nom d'extension doit être chargé lors de l'initialisation du serveur. Ceci est particulièrement utile pour les grandes extensions, telles que Display PostScript Level 2(dps). Cet indicateur peut être spécifié plusieurs fois avec plusieurs noms d'extension.
-interrogation HostName Active le protocole Enhanced X-Windows Display Manager Control Protocol (XDMCP) et envoie un paquet Query à l'hôte spécifié.

L'indicateur -query doit être utilisé avec XDMCP.

-diffusion Active les paquets XDMCP et diffuse BroadcastQuery sur le réseau. Le premier gestionnaire d'affichage répondant est choisi pour la session.

L'indicateur -broadcast est destiné à être utilisé avec XDMCP.

-indirecte HostName Active XDMCP et envoie des paquets IndirectQuery à l'hôte spécifié.

L'indicateur -indirect doit être utilisé avec XDMCP.

-port PortNumber Indique un autre numéro de port pour XDMCP. Cet indicateur doit être spécifié avant les indicateurs -query, -broadcastou -indirect . Normalement, le serveur démarre les sessions les unes après les autres. Cet indicateur provoque l'arrêt du serveur à la fin de la première session.

L'indicateur -port doit être utilisé avec XDMCP.

-classe DisplayClass Définit la valeur d'un qualificateur d'affichage supplémentaire utilisé par XDMCP dans la recherche de ressources pour les options spécifiques à l'affichage.

L'indicateur -class doit être utilisé avec XDMCP.

-biscuit XDMAuthenticationBits Indique une clé privée à partager entre le serveur et le gestionnaire lors du test de XDM-AUTHENTICATION-1.

L'indicateur -cookie est destiné à être utilisé avec XDMCP.

-displayID DisplayID Permet au gestionnaire d'affichage d'identifier chaque affichage afin qu'il puisse localiser la clé partagée spécifiée par l'indicateur -cookie .

L'option -displayID est destinée à être utilisée avec XDMCP.

+/-xinerama Activez / désactivez l'écran panoramique ou l'écran VLS (Virtual Large Screen). Permet aux utilisateurs de traiter toutes les têtes dans un environnement multitête comme un grand écran.

Indicateurs Xkeyboard

Article Descriptif
-xkbdir Répertoire Indique le répertoire de base des fichiers de présentation du clavier.
-xkbmap FileName Indique la description du clavier à charger au démarrage.
[ +|- ]accessx Active (+) ou désactive (-) les séquences de touches AccessX .
-ar1 millisecondes Définit la durée, en millisecondes, pendant laquelle une touche doit être enfoncée avant le démarrage de la répétition automatique.
-ar2 millisecondes Définit la durée en millisecondes qui doit s'écouler entre les frappes générées par répétition automatique.

Indicateurs d'extension de sécurité

Article Descriptif
-sp FileName Fait en sorte que le serveur tente de lire et d'interpréter FileName en tant que fichier de règles de sécurité avec le format décrit ci-dessous. Le fichier est lu au démarrage du serveur et relu à chaque réinitialisation du serveur.

La syntaxe du fichier de règles de sécurité est la suivante. Notation: "*" signifie zéro ou plusieurs occurrences de l'élément précédent, et "+" signifie une ou plusieurs occurrences. Pour interpréter foo/barre, ignorez le texte après le / ; il est utilisé pour distinguer les instances de foo dans la section suivante.

policy file ::= version line other line*
version line ::= string/v '\n'
other line  ::= comment | access rule | site policy | blank line
comment ::= # not newline* '\n'
blank line ::= space '\n'
site policy ::= sitepolicy string/sp '\n'
access rule ::= property property/ar window perms '\n'
property ::= string
window ::= any | root | required property
required property ::= property/rp | property with value
property with value ::= property/rpv = string/rv
perms ::= [ operation | action | space ]*
operation ::= r | w | d
action ::= a | i | e
string ::= dbl quoted string | single quoted string | unquoted string
dbl quoted string ::= space " not dqoute* " space
single quoted string ::= space ' not squote* ' space
unquoted string ::= space not space+ space
space ::= [ ' ' | '\t' ]*

Jeux de caractères:

not newline ::= any character except '\n'
not dqoute  ::= any character except "
not squote  ::= any character except '
not space   ::= any character except those in space
 

La sémantique associée à la syntaxe décrite précédemment est la suivante.

ligne de version
La première ligne du fichier indique la version du format de fichier. Si le serveur ne reconnaît pas la version chaîne/v, il ignore le reste du fichier. La chaîne de version du format de fichier décrit ici estversion-1.

Une fois la ligne de versionpassée, les lignes qui ne correspondent pas à la syntaxe ci-dessus sont ignorées.

Commentaire
Les lignes sont ignorées.
politique du site
Les lignes sont actuellement ignorées. Ils sont destinés à spécifier les règles de site utilisées par la méthode d'autorisation XC-QUERY-SECURITY-1 .
règle d'accès
Les lignes indiquent comment le serveur doit réagir aux demandes client non sécurisées qui affectent la propriété X Window nommée property/ar. Le reste de cette section décrit l'interprétation d'une règle d'accès.

Pour qu'une règle d'accès s'applique à une instance donnée de la propriété /ar, La propriété /ar doit se trouver dans une fenêtre qui se trouve dans l'ensemble de fenêtres spécifié par window. Si window est any, la règle s'applique à la propriété /ar dans n'importe quelle fenêtre. Si window est root, la règle s'applique à la propriété /ar uniquement sur les fenêtres root.

Si window est la propriété requise, les conditions suivantes s'appliquent. Si la propriété requise est une propriété /rp, la règle s'applique lorsque la fenêtre comporte également cette propriété /rp, quelle que soit sa valeur. Si required property est une propriété avec la valeur, La propriété /rpv doit également avoir la valeur spécifiée par string/rv. Dans ce cas, la propriété doit avoir le type STRING et le format 8 et doit contenir une ou plusieurs chaînes à terminaison nulle. Si l'une des chaînes correspond à string/rv, la règle s'applique.

La définition de la correspondance de chaîne est une simple comparaison de chaînes sensibles à la casse avec une seule élaboration: l'occurrence du caractère'*'dans chaîne/rv est un caractère générique signifiant "n'importe quelle chaîne". Une chaîne/rv peut contenir plusieurs caractères génériques n'importe où dans la chaîne. Par exemple :x*correspond aux chaînes qui commencent par x,*xcorrespond aux chaînes qui se terminent par x,*x*correspond aux chaînes contenant x, etx*y*correspond aux chaînes commençant par x et contenant ensuite y.

Il peut y avoir plusieurs lignes de règle d'accès pour une propriété donnée/ar. Les règles sont testées dans l'ordre dans lequel elles apparaissent dans le fichier. La première règle qui s'applique est utilisée.

 
perms
Indiquez les opérations que les clients non dignes de confiance peuvent tenter et les actions que le serveur doit effectuer en réponse à ces opérations.
operation
Peut être r (lecture), w (écriture) ou d (suppression). Les informations suivantes montrent comment les demandes de propriété de protocole X sont mappées à ces opérations dans l'implémentation du serveur X Consortium.
GetProperty
rou r et d si delete = True
ChangeProperty
w
RotateProperties
r et w
DeleteProperty
d
ListProperties
aucun, les clients non dignes de confiance peuvent toujours répertorier toutes les propriétés
action
Peut être a (allow), i (ignore) ou e (error).
Autoriser
Exécute la demande comme si elle avait été émise par un client sécurisé.
Ignorer
Traite la demande comme une non-opération. Dans le cas de GetProperty, ignorer signifie renvoyer une valeur vide si la propriété existe, quelle que soit sa valeur réelle.
Erreur
Indique de ne pas exécuter la demande et de renvoyer unBadAtomerreur avec laatomdéfini sur le nom de la propriété. L'erreur est l'action par défaut pour toutes les propriétés, y compris celles qui ne sont pas répertoriées dans le fichier de règles de sécurité.

Une action s'applique à toutes les opérationsqui la suivent, jusqu'à ce que l' action> suivante soit rencontrée. Ainsi,irwadsignifie ignorer la lecture et l'écriture, autoriser la suppression.

GetProperty et RotateProperties peuvent effectuer plusieurs opérations (r et d, ou r et w). Si des actions différentes s'appliquent aux opérations, l'action la plus grave est appliquée à l'ensemble de la demande ; il n'y a pas d'exécution partielle de la demande. L'ordre de gravité est: allow < ignore < erreur. Ainsi, si les perms d'une propriété sontired(ignorer la lecture, erreur de suppression) et un client non digne de confiance tente de GetProperty sur cette propriété avecdelete = True, une erreur est renvoyée, mais la valeur de la propriété ne l'est pas. De même, si l'une des propriétés d'une propriété RotateProperties n'autorise pas à la fois la lecture et l'écriture, une erreur est renvoyée sans modifier les valeurs de propriété.

 
Voici un exemple de fichier de règles de sécurité:
version-1

# Allow reading of application resources, but not writing.
property RESOURCE_MANAGER     root      ar iw
property SCREEN_RESOURCES     root      ar iw

# Ignore attempts to use cut buffers.  Giving errors causes apps to crash,
# and allowing access may give away too much information.
property CUT_BUFFER0          root      irw
property CUT_BUFFER1          root      irw
property CUT_BUFFER2          root      irw
property CUT_BUFFER3          root      irw
property CUT_BUFFER4          root      irw
property CUT_BUFFER5          root      irw
property CUT_BUFFER6          root      irw
property CUT_BUFFER7          root      irw

# If you are using Motif, you probably want these.

property _MOTIF_DEFAULT_BINDINGS        rootar iw
property _MOTIF_DRAG_WINDOW   root      ar iw
property _MOTIF_DRAG_TARGETS  any       ar iw
property _MOTIF_DRAG_ATOMS    any       ar iw
property _MOTIF_DRAG_ATOM_PAIRS         any ar iw

# The next two rules let xwininfo -tree work when untrusted.
property WM_NAME              any       ar
# Allow read of WM_CLASS, but only for windows with WM_NAME.
# This might be more restrictive than necessary, but demonstrates
# the required property facility, and is also an attempt to
# say "top level windows only."
property WM_CLASS             WM_NAME   ar

# These next three let xlsclients work untrusted.  Think carefully
# before including these; giving away the client machine name and command
# may be exposing too much.
property WM_STATE             WM_NAME   ar
property WM_CLIENT_MACHINE    WM_NAME   ar
property WM_COMMAND           WM_NAME   ar

# To let untrusted clients use the standard colormaps created by
# xstdcmap, include these lines.
property RGB_DEFAULT_MAP      root      ar
property RGB_BEST_MAP         root      ar
property RGB_RED_MAP          root      ar
property RGB_GREEN_MAP        root      ar
property RGB_BLUE_MAP         root      ar
property RGB_GRAY_MAP         root      ar
# To let untrusted clients use the color management database created
# by xcmsdb, include these lines.
property XDCCC_LINEAR_RGB_CORRECTION    rootar
property XDCCC_LINEAR_RGB_MATRICES      rootar
property XDCCC_GRAY_SCREENWHITEPOINT    rootar
property XDCCC_GRAY_CORRECTION          rootar


# oddball property names and explicit specification of error conditions
property "property with spaces"         'property with "'aw er ed

# Allow deletion of Woo-Hoo if window also has property OhBoy with value
# ending in "son".  Reads and writes will cause an error.
property Woo-Hoo              OhBoy = "*son"ad

Exemple

Pour démarrer le serveur X avec l'extension X Render, entrez la commande suivante:
$X -T -force :0 -vfb -d 32 +render
Dans cet exemple, le serveur X utilise la mémoire tampon de trame virtuelle (VFB) pour le rendu au lieu d'utiliser l'adaptateur graphique physique.