X-Window

 

Système X-Window

·  système de fenêtrage

·  version actuelle : X.11.R6 ("release" = version, dure environ 1 an ½)

·  qualités Þ large diffusion

*        portabilité : écrit en C sous UNIX

*        quasi-gratuit, disponibilité

*        transparence au réseau

·  3 parties

*        serveur :

*        contrôle le terminal et ses périphériques

*        crée des fenêtres

*        trace images et texte = réponse à la requête-client

*        clients

*        font des reqêtes au serveur

*        un moyen de communication serveur-client

 

Configuration client-serveur pour X-Window (graphique)

Ex : une seule station de travail

Les programmes clients et le programme serveur sont donc sur la même machine

Ex : une machine centrale et +s terminaux X

Connection par un réseau Ethernet

Un programme serveur tourne sur chq terminal X

Les programmes clients tournent sur la machine centrale

(particularité X11 et X-Window)

Rq : 1 xterm Û 1 poste, un terminal

 

Hiérarchie des fenêtres : le fils dépend du père

Root window : fenêtre la plus haute dans l'arborescence

 

Window manager = gestionnaire de fenêtres

·  pour contrôler position et taille des fenêtres à l'écran

·  dispositif d'habillage des fenêtres

·  configuration de l'interface utilisateur

Ex : mwm Motif Window Manager

wm : le + simple

 

Environnement graphique = supplément graphique

Þ alourdissement

   - de mémoire

   + de tps d'exé

 

Couches de X-Window

 

applications

boîte à outils

widgets

X Intrinsics

Xlib

protocole X

 

Xlib = bibliothèque C standard

permet contrôle et accès à ttes les resources

*  de l'écran

*  des fenêtres

*  des périphériques d'entrée

 

boîte à outils

Ex : Xtoolkit

 

widgets = window gadgets = jeu de composants d'interface

Ex : scrollbar, button

 

Applications

·  applis utilisateur

Rq : elles peuvent utiliser Xlib et la boîte à outils

·  applis std de X

Ex : xterm, xclock…

 

Rq : lors d'une session X, une seule fenêtre à la fois est active.

 

Utilitaires classiques

xwininfo ® ressources d'une fenêtre X

Ex : 'geometry'

xload ® charge de la machine

xclock ® horloge

xterm ® xterm

xlsfonts ® liste fontes disponibles

 

Personnaliser l'nevironnement X

.xsession

par défaut : /usr/lib/X11/xdm/Xsession

lance le gestionnaire de fichier

Þ définit environnement de départ

Personnaliser : copier .xsession dans le home directory

 

.mwmrc

par défaut : /usr/lib/X11/system.mwmrc

contient la description des menus, des touches, des boutons.

Personnaliser : copier .mwmrc dans le home directory

 

Menu nom_menu

{       "titre"      f.title

        no-label    f.separator

        "label"       f.exec        lign_cmde_à_exéc

        "label"       f.menu      nom_sous_menu

        "label"        f.circle_up

        "label"       f.circle_down

        "label"        f.refresh

        "label"       f.restart

        "label"       f.quit_mwm

}

 

.Xdefaults

par défaut : répertoire : /usr/lib/X11/app-defaults

Personnaliser : copier-coller dans .Xdefaults du home directory

 

Ressources

 

Ressources d'une application = ens. des caraq d'une application à l'affichage

 

Ressources =

·  base de donnée pour la config des applis

·  variables

*        de nom prédéfini

*        de type chaîne, de car, numérique ou booléen

*        asociées aux widgets des applis

 

Attribuer une valeur à une ressource

[nom_classe_appli].objet_visé.[sous_objet].nom_ressource : valeur_ressource

Rq : nom_appli peut être la classe de l'appli

 

nom_classe_appli*objet_visé*nom_ressource : valeur_ressource

idem

 

Attn : Nom_classe_appli prend tj une majuscule

XNom_classe_appli prends toujours 2 majuscules

 

Ex : Xterm*scrollbar : true

Xclock*background : green

dessin*bouton1*foreground : red

 

Ressources fréquentes

font

nom de la police

background

couleur AR plan

foreground

couleur tracé

title

titre fenêtre

reverseVideo

affichage en vidéo inverse

geometry

position et taille de la fenêtre

 

xfd –fn nom_police ® visualiser la police       +

 

-geometry largeurxhauteur +/-abscisse+/-ordonnée          +

 

xsetroot ® modifier fond d'écran

 

nom_appli –h ® options de l'appli

Ex : xterm -h, xsetroot –h

 

Noms des couleurs

fichier : /usr/lib/X11/rgb.txt

 

Session sur terminal X : programmes lancés

·        une émulation de terminal

Ex : xterm

·        un interprète de cmdes

Ex : ksh

·        un gestionnaire de fenêtres

Ex : mwm

·        un ou +s clients X

Ex : nedit, applix..

 

Ces programmes en cours d'exécution = processus

      avec un numéro : PID (processus id.)

      une hiérarchie : ps père et ps fils

      lancé par une cmde (cf. champ CMD)

 

ps –f –u $USER

® liste des ps triés par PID

IUD, PID, PPID, C, STIME, TTY, TIME, CMD

PID : n° id. ps

PPID : n° id. du ps père

CMD : nom de la cmde qui a lancé le ps

 

La hiérarchie des ps permet de retrouver le script qui démarre la session

 

kill num_PID_processus ® tue le ps de n° PID

 

ps –ef | grep num_processus ® complète l'arborence en remontant depuis le ps num_processus

 

xterm –ls & ® ovre une xterm qui a la main et ac l'invite en entier

 

le processus –ksh est indispensable pour la comm° homme/machine

 

xterm –sb & ® xterm ac une scrollbar

 

xterm –sb –sl 800& ® xterm ac scrollbar pour gros fichiers

 

cat nom_fic ® affiche le contenu du fichier nom_fic

 

xterm –fn nom_police –fr couleur_police –bg couleur_fond

–geometry nbCarxnbLignes+/-abs+/-ord ® xterm spéciale

Attn : geometry particulière pour xterm

 

xclock –analog ® aiguilles

xclock –digital ® chiffres

 

bitmap & ® lance l'utilitaire pour créer des .bmp

 

xsetroot –bitmap ~/nom_fic ® met nom_fic(du home directory) en fond d'écran

 

xsetroot –default ® retour au fond d'écran par défaut