13.07.2015 Views

sujet 9: semaine du 26/03/07

sujet 9: semaine du 26/03/07

sujet 9: semaine du 26/03/07

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Université de Nice-Sophia Antipolis Semestre 2Licence Mathématiques-Informatique Semaine <strong>du</strong> <strong>26</strong> mars 20<strong>07</strong>Systèmes InformatiquesTravaux Pratiques – Séance n ◦ 91) Pour commencer et comme d’habitude, créez un répertoire TP09 dans votre répertoire ˜/SI.Essayez de le faire en utilisant le mécanisme d’achèvement automatique, de façon à taper auclavier sur le moins de touches possible. L’expérience est-elle efficace sur cet exemple ?1 Les structures de commande dans les scripts shellLe shell est un langage de programmation à part entière. Il possède des structures de commandesemblables à celles des langages C ou Java, tels les énoncés conditionnels (if, case), lesénoncés itératifs (for, while, until). Nous allons en (re)voir deux aujourd’hui.1.1 L’instruction ifif [[ expression ]] if [[ expression ]] if [[ expression1 ]]then commandes then commandes1 then commandes1fi else commandes2 elif [[ expression 2 ]]fithen commandes2elif [[ expression3 ]]then commandes3· · ·else commandesfiRemarque : La commande [[ expression ]] est équivalente à test expression et pour cela il estnécessaire de ne pas oublier l’espace entre les crochets et l’expression.Voici quelques exemples de tests que propose cette commande (vous aurez plus de précisionsen tapant man zshmisc ou man test) :nombres n1 -eq n2 : vrai si les nombres n1 et n2 sont égauxn1 -ne n2 : vrai si les nombres n1 et n2 ne sont pas égauxIl existe aussi les opérateurs -gt, -ge, -lt, -le 1 qui peuvent être utilisés pourtester autre chose que l’égalité.chaînes -z chaîne : vrai si la chaîne de caractères est vide-n chaîne : vrai si la chaîne de caractères est non videc1 == c2 : vrai si les chaînes c1 et c2 sont identiquesc1 != c2 : vrai si les chaînes c1 et c2 sont différentesfichiers -d nom : vrai si le répertoire nom existe-f nom : vrai si le fichier ordinaire nom existe-s nom : vrai si le fichier nom existe et est non vide-r nom : vrai si le fichier nom est accessible en lecture-w nom : vrai si le fichier nom est accessible en écriture-x nom : vrai si le fichier nom est exécutableexpressions ! expression : négation logique de l’expressione1 && e2 : ET logique entre les expressions e1 et e2e1 || e2 : OU logique entre les expressions e1 et e21 ne signifiant not equal, gt signifiant greater than, le signifiant less or equal, etc.


2Remarque : Toutes les structures de commande peuvent être exécutées de façon interactive oudans un script.2) Testez l’enchaînement de commandes suivant (directement dans un terminal XTERM, c’està-diresans créer de fichier de script) :if [[ -d . ]]then echo . est bien un répertoireelse echo Bugfi1.2 L’instruction forfor var in ch_1 ch_2 · · · ch_ndocommandesdonefor vardocommandesdone3) Écrivez un script liste.sh qui affiche la liste de ses paramètres précédés de leur numérod’ordre dans la ligne de commande. Par exemple, exo.sh comment ca va \ ? affichera :1: comment2: ca3: va4: ?4) Testez l’enchaînement de commandes suivant :for (( i=1; $i fichier$i.txtdone2 Utilisation <strong>du</strong> système X5) Pour cette séance, et d’ailleurs aussi pour les suivantes, il est utile de bien utiliser les différentsécrans virtuels dont vous disposez. Une bonne manière de s’y retrouver est de les réserverà des usages distincts, et de les nommer en fonction de ces usages. Ouvrez pour cela ledialogue Préférences <strong>du</strong> « Changeur de bureau » (bouton 3 de la souris). Vous pouvez alors nommerles différents écrans, et demander que leurs noms apparaissent dans le changeur. Choisissezcomme noms : Local pour le premier, Uranie pour le deuxième, Hivaoa pour le troisième, et ce quevous voulez pour le quatrième. Notez au passage que vous pouvez éventuellement augmenterle nombre d’écrans, et choisir la manière de les disposer dans le changeur.Nous avons vu précédemment, dans le TP 6, le fonctionnement de l’authentification lorsquel’on veut lancer des clients pour un visuel local sur une machine distante, en utilisant la commandessh. C’est celle-ci qu’il vous faut utiliser dans les exercices qui suivent.2.1 Options standard de X6) Depuis uranie, utilisez l’option -geometry pour placer quatre horloges différentes auxquatre coins de votre écran. Pour obtenir une horloge dans le coin inférieur gauche, par exemple,on exécute la commande :xclock -geometry +0-0 &Ajustez l’option -geometry de manière à afficher une horloge de dimension 200x200 dans le coininférieur droit, au-dessus <strong>du</strong> « tableau de bord » qui encombre le bas de l’écran.7) Cumulez les options -display et -iconic afin de lancer un emacs provenant de hivaoaapparaissant sous forme icônifiée.8) Testez pour les commandes emacs et xterm les options -background et -foreground (oupour simplifier -bg et -fg) afin de mettre des couleurs.


3Le nom de ces dernières est évidemment en anglais. Comme ces noms ne sont pas faciles àinventer, sauf pour les couleurs les plus simples, donc les plus violentes, vous pouvez consulterles noms connus de X dans le fichier /usr/lib/X11/rgb.txt. Vous pouvez aussi utiliser le clientX kcolorchooser, lancé sur votre PC, en utilisant les « couleurs nommées ».Notez que la signification des options propres à un client X vous est rappelée, en bref, dèsque vous commettez une erreur de syntaxe dans son appel, mais elle est aussi à rechercher parvous-même dans les pages de manuel.2.2 Couleurs et polices2.2.1 Les couleurs9) Lancez à nouveau le client kcolorchooser si vous l’avez fait se terminer. Utilisez-le pourcréer une fenêtre xterm avec des couleurs d’écriture et de fond assez contrastées, grâce à l’utilisationde l’option -xrm.10) Utilisez l’outil kcoloredit pour construire des couleurs. Vous pouvez ainsi vous constituerune palette personnelle, que vous pourrez réutiliser à l’avenir.2.2.2 Les polices de caractèresLe client xfontsel permet de choisir les caractéristiques d’une police de caractères. Pour cela,chaque changement est visualisé sur un exemple.11) Regardez les possibilités de chaque caractéristique, en notant que si vous en fixez une,vous restreignez les choix possibles pour les autres.12) Trouvez le nombre de polices de caractères ayant les attributs suivants :-adobe-utopia-*-r-*-*-*-*-*-*-*-*-*-*-misc-fixed-medium-r-*-*-16-*-*-*-*-*-*-*Étudiez l’effet des différents choix possibles pour l’option regstry.3 Paramétrisation de l’environnement graphique13) Testez la commande xev. À quoi sert cette application ?3.1 Les ressources XLe fichier lu initialement par xrdb (nommé ˜/.ressources dans votre environnement) vouspermet de spécifier facilement les ressources des divers clients X que vous utilisez.14) Modifiez vos ressources de façon à ce que, si une application comporte une barre de défilement(xterm, ggv, etc.), celle-ci soit rouge (certains clients gèrent eux-mêmes cette caractéristique,si bien que la barre d’Emacs par exemple n’en sera pas affectée). N’oubliez pas de refairexrdb ˜/.ressources pour que vos nouvelles ressources soient prises en compte au prochainlancement de vos clients X.15) Vous pouvez aussi changer localement une ressource au moment <strong>du</strong> lancement d’un clientX, grâce à l’option -xrm ’ressource: valeur’. Essayez-la pour changer la couleur de la barre de défilementd’une fenêtre xterm.3.2 Ressources <strong>du</strong> clavier16) Lancez le client xkeycaps depuis uranie, et vérifiez qu’il a bien reconnu le type de votreclavier. Le cas échéant, modifiez le choix de clavier. Vous devez vérifier d’une part que l’organisation<strong>du</strong> clavier est la bonne (place de Ctrl, Caps Lock, de caractères tels que ~ ‘ \ |), d’autrepart que l’appui sur une touche physique illumine bien la touche voulue sur l’image <strong>du</strong> clavier.Les claviers de type PC sont identifiés par leur nombre de touches et par les caractéristiques destouches DEL et RET. À vous de trouver la bonne combinaison, qui normalement existe.


417) Utilisez xkeycaps pour trouver le code de la touche Caps Lock. Utilisez maintenant xkeycapspour remplacer de manière ponctuelle (seulement dans cette session) la valeur de ce Caps Lockpar la touche de composition s’appelant Multi key. Ces définitions sont rangées par défaut dansun fichier nommé ˜/.xmodmap-uranie. Changez le nom de ce fichier en ˜/.xmodmaprc, puis faitesexécuter les définitions correspondantes par la commandexmodmap ˜/.xmodmaprcPour changer la définition de façon permanente, vous pouvez ajouter cette commande de chargementdans votre fichier ˜/.zshrc.3.3 Environnement de bureau : paramétrage de GNOME18) Personnalisation de l’arrière-plan <strong>du</strong> bureau : menu principal, entrée « Préférences », oubouton 3 de la souris sur le fond d’écran. Testez les différentes options possibles en recourant àl’une des méthodes suivantes :– sélectionnez une image à afficher sur l’arrière-plan <strong>du</strong> bureau ;– sélectionnez une couleur pour l’arrière-plan <strong>du</strong> bureau. Vous pouvez sélectionner une couleurunie ou créer un dégradé avec deux couleurs.Si les images fournies ne vous suffisent pas, vous pouvez par exemple aller en chercher sur le sitehttp://deptinfo.unice.fr/˜ol/L1MI-UA/, vers la fin de la page.19) Personnalisation des raccourcis clavier. Un raccourci clavier est une touche ou une combinaisonde touches permettant d’effectuer une action d’une manière autre que la méthode standard.Dans le menu principal, entrée « Préférences », choisissez « Raccourcis clavier », qui afficheles raccourcis par défaut. Vous pouvez personnaliser ceux-ci afin de les adapter à vos besoins. Enparticulier, modifiez ce qui existe pour éviter que GNOME « confisque » certaines combinaisonsde touches utiles pour Emacs, en particulier Alt suivi d’un caractère ordinaire, ou la même choseavec Ctrl-Alt ou Shift-Alt. Vous trouverez également dans ce dialogue des combinaisons detouches utiles, et dont vous ignoriez probablement l’existence. Elles vous permettent en particulierde déplacer des fenêtres, ou de vous déplacer entre les fenêtres et les écrans virtuels, sansutiliser la souris, ce qui est souvent beaucoup plus rapide et ergonomique.20) Personnalisation de l’activation des fenêtres. Si vous ne l’avez pas encore fait, n’oubliezplus cette fois-ci de personnaliser l’activation des fenêtres de manière à ne plus avoir besoinde cliquer sur une fenêtre pour la rendre active. C’est dans le menu « Préférences » <strong>du</strong> menuprincipal, sous l’entrée « Fenêtres ».21) Terminez en explorant encore ce menu des Préférences, pour y trouver d’autres possibilités.Voyez en particulier les entrées « Économiseur d’écran », « Polices » et « Thème ».4 Changement d’environnementQuand vous commencez votre session de travail, l’interface Gdm, qui vous demande de vousidentifier, vous offre également plusieurs possibilités en bas d’écran. Elle vous offre en particulierle choix entre 5 types de session :– précédente : comme la dernière fois, c’est-à-dire jusqu’à maintenant GNOME ;– KDE, environnement différent de GNOME, et que nous allons voir ;– GNOME, que vous commencez à connaître ;– Défaut, qui fonctionne d’une manière différente, que nous verrons dans un instant ;– Secours, qui fait commencer une session sans environnement, pour vous permettre de réparerdes bêtises précédentes.4.1 KDE22) Pour pouvoir utiliser KDE, terminez votre session GNOME. Avant de vous identifier,choisissez KDE dans le menu « Session » de Gdm. Vous pouvez maintenant vous identifier. À laquestion qu’on vous pose sur la session par défaut, répondez non.KDE commence par afficher l’une de ses « astuces de démarrage ». Lisez-la, puis débarrassezvousde cette fenêtre. Observez maintenant les différences et ressemblances entre KDE et GNOME.


5Les menus sont similaires, mais ont beaucoup plus d’entrées. Dans le menu principal, explorezle « Centre de configuration ». Le bouton 2 en fond d’écran vous permet d’effectuer les changementsd’écran virtuel. Le bouton 3 fait apparaître un menu assez complet, avec encore unepossibilité de configuration.Quand vous avez bien exploré KDE, terminez votre session.4.2 Fvwm223) Choisissez cette fois la session « Défaut ». Ce qui démarre est le gestionnaire de fenêtresfvwm2, sans environnement de bureau. Le démarrage est beaucoup plus rapide, mais les possibilitéssont plus ré<strong>du</strong>ites, et peu de choses sont pré-définies.Chaque bouton de la souris fait apparaître un menu en fond d’écran. Les boutons de la barrede titre des fenêtres ont des fonctions différentes de ce à quoi vous êtes habitués. Le décor estégalement différent.Tout le comportement de fvwm2 est décrit dans votre fichier ˜/.fvwm/.fvwm2rc. Jetez-y uncoup d’œil... pour constater que le modifier n’est pas chose simple !Pour ce faire, vous allez faire appel à une interface qui se place par-dessus fvwm2. Dans letype de session « Défaut », le fichier ˜/.xsession est éxécuté au démarrage. Ouvrez ce fichierdans Emacs et essayez de le comprendre. Vous voyez que la variable d’environnement WM prendcomme valeur le nom <strong>du</strong> gestionnaire de fenêtres à utiliser. Ajoutez un cas supplémentaire pourfvwm-themes-start, en vous inspirant des deux autres. Ceci fait, terminez la session.4.3 Fvwm-themes24) Faites démarrer une nouvelle session, toujours dans le mode « Défaut ». C’est encorefvwm2 qui démarre, mais cette fois avec un fichier de configuration automatiquement construit,et paramétrable par une interface graphique.Vous trouvez à nouveau des menus en fond d’écran, mais beaucoup plus riches que précédemment.Explorez en particulier :– le sous-menu « System » vous permet d’explorer par menus déroulants toute votre hiérarchie;– le sous-menu « Theme management » vous permet des changements de style de l’ensemblede la configuration, ou des modifications plus détaillées ;– le sous-menu « Configuration » vous permet d’adapter à vos préférences la plupart de cequi est paramétrable.Vous venez d’explorer quatre environnements différents. A vous de choisir celui qui vousconvient le mieux. La prochaine fois, vous répondrez oui à la question de Gdm. . .Récapitulatif de la <strong>semaine</strong>Les notions suivantes ont été abordées et vous devez vous être familiarisés avec les outilscorrespondants :– structures de commande dans les scripts shell (if et for) ;– options standard de X (-geometry, -display, -bg et -fg, etc.) ;– gestion des couleurs et des polices (kcolorchooser et xfontsel) ;– ressources X (commande xrdb et fichier .ressources, commande xmodmap et fichier .xmodmaprc) ;– personnalisation/paramétrage de l’environnement de bureau GNOME ;– choix de l’environnement de bureau par l’interface Gdm.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!