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é
|
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
· 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.
xwininfo ® ressources d'une fenêtre X
Ex : 'geometry'
xload ® charge de la machine
xclock ® horloge
xterm ® xterm
xlsfonts ® liste fontes disponibles
.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 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
[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
|
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
fichier : /usr/lib/X11/rgb.txt
· 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