tuteurs.ens.fr/unix/exercices/solutions/interface-sol.tml
2009-09-27 15:43:57 +02:00

520 lines
18 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Interface</title>
</head>
<body>
<h1>Corrigés des exercices sur la config conscrits</h1>
<p>&icone.note; Les paragraphes signalés par
cette icône sont des explications plus techniques pour donner une réponse
exacte à certaines questions. Si vous êtes débutant, ce n'est pas nécessaire
de les lire maintenant.</p>
<h2><a name="exercice1">Exercice 1 : menus du fond</a></h2>
<ol>
<li> <a name="ex11"> <strong>Ouvrir une nouvelle fenêtre</strong></a> <br />
Vous pouvez par exemple cliquer sur le bouton «Fenetre».</li>
<li> <a name="ex12"> <strong>Ouvrir une nouvelle fenêtre par un autre
moyen</strong></a> <br />
En cliquant avec le bouton gauche ou le bouton de droite de la souris sur
le fond d'écran, vous faites apparaître un menu, sur lequel vous
sélectionnez «Fenêtre».
<p>&icone.note;
Vous pouvez aussi lancer des fenêtres au clavier. Vous voulez une nouvelle
fenêtre terminal, gérée par l'interface graphique «X» : vous tapez</p>
<pre>
xterm
</pre>
<p>
Bien sûr, il faut mettre une esperluette (<code>&amp;</code>) après
<code>xterm</code> pour récupérer la main dans le terminal où l'on a lancé la
commande.
</p> </li>
<li> <a name="ex13"> <strong>Fermer ces deux
fenêtres</strong></a>. <br />
<p>Une fenêtre est un support pour le programme qui tourne dedans. Quand vous
quittez le programme, la fenêtre disparaît. En général, quand vous voulez
quitter quelque chose, essayez «<code>q</code>» ou «<code>Q</code>»,
«<code>^C</code>» et «<code>^D</code>». Les commandes pour quitter les
programmes les plus courants sont les suivantes :</p>
<table class="tableau">
<tr>
<td><code>mutt</code></td>
<td> <code>q</code> (<em>quit</em>)</td>
</tr>
<tr>
<td><code>pine</code></td>
<td> <code>q</code> (<em>quit</em>)</td>
</tr>
<tr>
<td><code>joe</code></td>
<td> <code>^KX</code> (quitter en sauvant)</td>
</tr>
<tr>
<td><code>vi(m)</code></td>
<td> <code>:wq</code> (<em>write quit</em>)</td>
</tr>
<tr>
<td><code>(x)emacs</code></td>
<td> <code>^X^S</code> <code>^X^C</code> (<em>save</em> et
<em>cancel</em>)</td>
</tr>
<tr>
<td><code>mozilla</code></td>
<td> <code>^Q</code> ou sélectionner <code>Exit</code> dans le menu
<code>File</code></td>
</tr>
<tr>
<td><code>forum</code></td>
<td> <code>q</code> (<em>quit</em>)</td>
</tr>
<tr>
<td><code>less</code>, <code>more</code></td>
<td> <code>q</code> (<em>quit</em>)</td>
</tr>
<tr>
<td><code>xdvi</code></td>
<td> Taper <code>q</code> ou cliquer sur <code>Quit</code></td>
</tr>
<tr>
<td><code>gv</code> (GhostView)</td>
<td><code>^Q</code> ou sélectionner <code>Quit</code> dans le menu <code>File</code></td>
</tr>
</table>
<p>
Et pour fermer une simple fenêtre terminal ? Il y a aussi un programme
qui tourne dedans, appelé le <em>shell</em> : c'est lui qui interprète
les lignes de commandes et les exécute. Il se quitte en tapant
<code>exit</code> ou <code>^D</code>. </p>
<p>
Par opposition avec les autres programmes, le shell peut aussi se quitter en
cliquant avec n'importe quel bouton sur le bouton dans le
coin en haut à gauche de la fenêtre et en choisissant <code>Fermeture</code>, puis <code>Je veux vraiment quitter</code>, dans le menu qui se déroule. Ceci revient à exécuter la commande <code>exit</code>.
</p>
<p>
Si vous fermez la fenêtre sans quitter le programme qui tournait dedans, vous
ôtez d'un seul coup son support à ce programme, qui est obligé de se suicider
en urgence ; inutile de dire qu'il ne l'apprécie guère.
</p>
<div class="attention">
<h1>&icone.attention; Attention &icone.attention;</h1>
<p> Les choses se
passent particulièrement mal avec <code>pine</code> : c'est pendant la
seconde qui s'écoule entre le moment où vous tapez <code>q</code> et le moment
<code>pine</code> finit effectivement, que tous les rangements s'effectuent
réellement et sont inscrits sur le disque : copies de sauvegardes des
courriers envoyés, destructions, etc. Si vous le tuez au lieu de le quitter,
vous vous exposez à diverses représailles : copie de votre mail-box en
lecture publique sur votre compte, disparition de courrier, second Pine
tournant en parallèle et vous empêchant de lire votre courrier la fois
suivante, etc. Ce ne sont pas des inventions : tous ces cas ont été
constatés.</p>
</div></li>
</ol>
<h2><a name="souris">Exercice 2 : souris et menus des fenêtres</a></h2>
<div class="centre">
<img src="boutons.png" alt="Boutons de fenêtres" />
</div>
<ol>
<li> <a name="ex21"> <strong>Ouvrir une fenêtre
<code>gamma</code></strong></a>
<p>Utilisez le menu du bouton «Menu», ou faites-le apparaître en cliquant
sur le fond de l'écran. Sélectionnez <code>Terminaux</code> et cliquez sur
<code>Nouvelle fenêtre Gamma</code>.</p>
<p>&icone.note;
Vous pouvez aussi l'appeler au clavier en tapant : </p>
<pre>
xterm -name gamma &amp;
</pre></li>
<li> <a name="ex22"> <strong>La déplacer dans le coin supérieur gauche de
l'écran</strong></a> <br />
Cliquez avec le bouton de gauche sur la barre de titre de la fenêtre et
déplacez-là à l'endroit voulu.
Vous pouvez aussi cliquer dans le menu du bouton gauche de la fenêtre,
sélectionner <code>Déplacement</code> et mettre la fenêtre où bon vous semble.
</li>
<li> <a name="ex23"> <strong>Icônifier (on dit aussi "minimiser")
cette fenêtre</strong></a> <br />
Cliquez sur le troisième bouton à partir de la droite (triangle vers
le bas) pour minimiser la fenêtre (on n'en garde que la barre de titre).
Pour la faire revenir à sa taille normale, cliquer à nouveau sur ce
bouton. Vous pouvez aussi sélectionner <code>Minimiser</code> dans le
menu de la première case à gauche. </li>
<li> <a name="ex24"> <strong>La faire réapparaître</strong></a>
<p>Cliquez à nouveau sur le bouton de l'exercice précédent (troisième bouton à partir de la droite, reconnaissable à un triangle vers le bas) pour faire
réapparaître la fenêtre. Vous pouvez également sélectionner
<code>Restauration</code> après avoir cliqué dans le menu de la première
case à gauche.</p>
<p>
Pour faire consulter la liste des fenêtres que vous avez ouvertes, vous pouvez cliquer avec le bouton de gauche sur le fond de l'écran.
</p>
<p>
Quelle différence y a-t-il entre fermer une fenêtre et icônifier une fenêtre?
Quand vous fermez une fenêtre, vous mettez fin au programme qui tourne dedans
(ou plus exactement, comme on l'a vu <a href="#ex13">plus haut</a>, mettre
fin au programme ferme la fenêtre). Quand vous icônifiez une fenêtre, vous ne
faites que suspendre temporairement l'affichage; une fois la fenêtre revenue,
vous reprenez là où vous en étiez.</p></li>
<li> <a name="ex25"> <strong>Agrandir la fenêtre</strong></a>
<br />
Trois possibilités. <ol><li> La plus simple : cliquer sur le bouton avec une
flèche vers le haut à droite : il fait passer la fenêtre en plein écran
(cliquez-le à nouveau pour revenir à la taille normale). Vous pouvez
également cliquer sur le bouton avec une flèche vers le haut pour
agrandir au maximum la fenêtre juste verticalement (cliquez à nouveau sur
ce bouton pour redonner à la fenêtre sa taille normale). </li><li> Attraper
le bord ou le coin de la fenêtre (attention, passage technique !),
cliquer avec le bouton gauche et modifier la taille de la fenêtre.
</li><li>Cliquer sur le menu du coin, sélectionnez <code>Dimensionner</code> et
donner à la fenêtre la taille souhaitée.</li></ol>
<p>&icone.note;Les programmes en mode texte (comme <code>pine</code> ou
l'ensemble des éditeurs) sont prévus pour fonctionner en 80 colonnes. Élargir
la fenêtre ne sert donc à rien, la fonte ne sera pas plus grande pour
autant.</p></li>
<li> <a name="ex26"> <strong>Fermer la fenêtre <code>gamma</code></strong></a>
<br />
Tapez <code>exit</code> ou <code>^D</code>. Ou encore, dans le menu du
bouton de la fenêtre en haut à gauche, sélectionner
<code>Fermeture</code> et confirmez. Si vous n'êtes pas dans un xterm, il
suffit de cliquer sur le bouton avec un éclair (en haut à droite de la
fenêtre). Dans tous les cas, n'oubliez pas de quitter convenablement tous
les programmes (<code>pine</code>, etc.) que vous aviez lancés dans
ladite fenêtre (chaque programme a sa manière propre d'être quitté).</li>
</ol>
<h2>Exercice 3 : manipuler plusieurs fenêtres</h2>
<ol>
<li> <a name="ex31"> <strong>Ouvrir deux fenêtres quelconques</strong></a>
<br />
Voir dans l'<a href="#exercice1">exercice 1</a> toutes les manières d'ouvrir des
fenêtres...</li>
<li> <a name="ex32"> <strong>Placer l'une des fenêtres au dessus de
l'autre</strong></a> <br />
Cliquez avec le bouton de gauche la barre de titre de l'une des
fenêtres pour la déplacer, et placez-la au dessus de l'autre. Autre
possibilité : cliquer sur le bouton de gauche la barre de titre avec
le bouton gauche de la souris et choisissez «devant». Ou encore :
cliquez sur le fond d'écran avec le bouton gauche de la souris et
sélectionnez la fenêtre qui vous intéresse dans la liste, toujours
avec le bouton de gauche.</li>
<li> <a name="ex33"> <strong>Faire passer au-dessus celle qui se trouve
en-dessous. De quels moyens différents disposez-vous à cet
effet ?</strong></a>
<p>
Beaucoup ! Par exemple :
</p>
<ol>
<li> Si on peut en atteindre un bout, cliquez avec le bouton de gauche de
la souris sur la barre de titre de la fenêtre de dessous ;</li>
<li> Si on peut placer la souris sur un endroit quelconque de la fenêtre,
le faire, et appuyer sur la touche <code>Front</code> (disponible
uniquement sur les claviers des stations Sun) ;</li>
<li> Cliquez avec le bouton de droite de la souris sur la barre de titre
de la fenêtre de dessus pour la faire passer derrière ;</li>
<li> Cliquez sur le fond d'écran avec le bouton gauche de la souris pour
faire apparaître la liste qui affiche le nom de vos fenêtres, cliquez sur
le nom de la fenêtre à faire passer devant ; </li>
<li> Utilisez le <em>pager</em> (voir exercice suivant) : cliquez avec le
bouton du milieu sur l'image de votre fenêtre pour la faire passer
devant.</li>
</ol>
</li>
</ol>
<h2> <a name="virtuels">Exercice 4 : écrans virtuels</a></h2>
<ol>
<li> <a name="ex41"> <strong>Lancer Mozilla</strong></a>
<br />
Cliquez sur le bouton Web ou sélectionnez Mozilla dans le menu du
fond.</li>
<li> <a name="ex42"> <strong>Déplacer la fenêtre de Mozilla dans un autre
écran pour libérer celui où vous vous trouvez</strong></a>
<p>
En haut à gauche de l'écran, vous avez une sorte de petit tableau partagé en
six cases; dans l'une d'entre elles se trouvent plusieurs autres petites
cases. Ce tableau représente en fait l'ensemble de votre bureau; par
exemple :</p>
<table>
<tr>
<td><img src="pager.png" alt="[Le pager de la config conscrits]" /></td>
<td>
Les petites cases représentent chacune un bureau virtuel, et les petites cases
de couleur qui sont dedans sont des modèles des fenêtres que vous avez
ouvertes; la fenêtre dans laquelle vous vous trouvez est de la couleur des
fenêtres activées. La case représentant le bureau où vous vous trouvez est
d'une autre couleur que les autres. </td> </tr>
<tr>
<td> <img src="pager2.png" alt="[Nouvel état du pager]" /></td>
<td> Cliquez maintenant sur une des cases : votre écran est soudain très
vide, vos fenêtres ont disparu, restent l'horloge, quelques boutons et ce
tableau appelé <em>pager</em>.
</td>
</tr>
</table>
<p>Pour y déplacer le Mozilla que vous venez de lancer, utilisez la
souris : cliquez avec le bouton du milieu sur la petite case qui
représente le fenêtre de Mozilla et faites-là glisser sur la case où vous
vous trouvez; la fenêtre Mozilla va alors apparaître.</p>
<p>
Pour vous déplacer d'écran virtuel en écran virtuel, vous avez deux
solutions : cliquer sur la case correspondante du <em>pager</em>, ou
utiliser les flèches du pavé central, associées à la touche <code>méta</code>
(les touches avec un losange noir ou blanc à côté de la barre
d'espace).</p></li>
<li> <a name="ex43"> <strong>Dans un troisième écran, ouvrez une fenêtre
quelconque</strong></a>
<p>Allez dans un autre écran virtuel et ouvrez une nouvelle fenêtre. Si vous
jetez un coup d'oeil au <em>pager</em>, vous voyez que trois des bureaux sont
occupés : l'un par la fenêtre de départ, l'autre par Mozilla, l'autre
par la toute dernière fenêtre ouverte.</p>
<p>
L'intérêt des écrans virtuels vient de ce qu'ils permettent de ne pas empiler
dans un même espace plusieurs fenêtres (un texte que l'on tape, un dvi, un
Mozilla, un jeu, du mail, etc).</p></li>
<li> <a name="ex44"> <strong>Cliquez sur le second bouton à gauche d'un xterm,
et déplacez-vous dans les écrans virtuels; que se passe-t-il?</strong></a>
<p>
Le xterm se déplace «avec vous» : il ne reste pas dans l'écran virtuel où
il se trouvait. En fait, le second bouton rend la fenêtre «<em>sticky</em>»,
comme le sont les boutons ou la console; ils sont affichés en permanence, quel
que soit l'écran virtuel dans lequel vous vous trouvez. Les fenêtres
<em>sticky</em> ont leur barre de titre rayée, et non pas lisse.</p></li>
</ol>
<h2> <a name="netscape">Exercice 5 : Mozilla</a></h2>
<ol>
<li> <a name="ex51"> <strong>Allez dans l'écran où se trouve
Mozilla</strong></a> <br />
Cliquez sur la petite fenêtre Mozilla dans le <em>pager</em>, ou utilisez
<code>méta-flèche</code> pour vous déplacer dans les écrans
virtuels.</li>
<li> <a name="ex52"> <strong>Quelles sont les différentes façons de lancer
Mozilla ?</strong></a>
<p>
Avec la config conscrits, vous disposez d'un bouton «Web» dans la barre des
boutons. Vous pouvez aussi appeler Mozilla au clavier, en tapant
</p>
<pre>
<span class="prompt">drakkar ~ $</span> mozilla &amp;
</pre>
<p>
L'esperluette (<code>&amp;</code>) demande à ce que le nouveau programme que
vous lancez (ici Mozilla) soit mis en tâche de fond : vous récuperez
donc le prompt immédiatement, et votre fenêtre terminal est à nouveau
disponible pour d'autres commandes.</p>
<p>
Cette façon de lancer un navigateur est très utile, car vous pouvez lui
donner une URL en argument.
</p>
<pre>
<span class="prompt">drakkar ~ $</span> mozilla http://www.eleves.ens.fr/tuteurs/ &amp;
</pre>
</li>
<li> <a name="ex53"> <strong>Que se passe-t-il quand vous cherchez à lancer
deux Mozilla en même temps ?</strong></a> <br />
<p>Une fenêtre apparaît pour vous demander de créer un nouveau profil. En
effet, chaque profil ne peut correspondre qu'à un seul Mozilla.
Cliquez sur Exit et trouvez un autre moyen de lancer un second
navigateur...</p></li>
<li> <a name="ex54"> <strong>Trouvez le moyen d'ouvrir un second navigateur à
partir du premier. Comment fait-on pour refermer cette fenêtre sans quitter
Mozilla ?</strong></a>
<p> Regardez dans les menus de Mozilla : dans le menu <code>File</code>,
vous trouvez <code>Navigator Window</code> dans le sous-menu
<code>New></code>. C'est ce qui vous intéresse. Sélectionnez ce choix
pour obtenir un second navigateur; vous pouvez aussi utiliser un
raccourci clavier : <code>Ctrl-N</code>. </p>
<p>
Pour fermer un nouveau navigateur sans quitter Mozilla, il faut sélectionner
<code>Close</code> (<code>Ctrl-W</code>) dans le menu <code>File</code>.
</p>
<p>
Quelle différence y a-t-il entre lancer deux Mozilla à la fois et ouvrir une
seconde fenêtre Mozilla à partir de la première ? Dans le premier cas,
vous lancez deux fois le même programme en prenant donc ainsi deux fois plus
de ressources machine; de plus, vous perdez la possibilité d'utiliser les
données (historique, marque-pages...) de la première session.</p>
<p>
Si par contre vous lancez une seconde fenêtre à partir du premier Mozilla,
c'est le même programme et vous disposez des mêmes ressources dans les deux
fenêtres.
</p>
<div class="encadre">
Un des avantages de Mozilla est la possibilité d'utiliser des onglets :
si vous faites <code>Ctrl-T</code> ou sélectionnez <code>Navigator
Tab</code> dans le sous-menu <code>New</code> du menu <code>File</code>,
vous ouvrez une fenêtre de navigation à l'intérieur de votre navigateur
qui se superpose à la précédente. Vous pouvez passer de l'une à l'autre
en cliquant sur les différents onglets.
</div></li>
<li> <a name="ex55"> <strong>Quitter Mozilla</strong></a>
<p>Mozilla se quitte en cliquant sur <code>Quit</code> dans le menu
<code>File</code> ou en cliquant sur le bouton éclair (le deuxième à
gauche dans la barre de titre).</p>
<p>
Vous pouvez aussi utiliser les raccourcis claviers pour quitter :
<code>Ctrl-Q</code> (<em>quitter</em>).
</p></li>
</ol>
<h2><a name="deloguer">Question subsidiaire : que faut-il impérativement
quitter ou fermer avant de se déloguer ?</a> </h2>
<p>
Tout les programmes qui font des accès en écriture sur le disque, c'est-à-dire
qui ne se contentent pas de lire mais ont besoin d'écrire des
informations :</p>
<ul>
<li> Les <strong>éditeurs</strong> bien sûr, avec lesquels on écrit du texte,
que l'on veuille ou non le conserver (<code>joe</code>, <code>pico</code>,
(<code>x</code>)<code>emacs</code>,
(<code>x</code>)<code>vi</code>(<code>m</code>)...).</li>
<li> Les <strong>lecteurs de courrier</strong> :
<code>pine</code>, <code>mutt</code>, <code>elm</code>...), qui écrivent sur
le disque puisqu'ils stockent des copies de mails envoyés, permettent de
détruire des courriers, de faire des rangements, etc.</li>
<li> Les <strong>lecteurs de news</strong> : <code>forum</code>,
<code>rn</code>, <code>trn</code>, <code>slrn</code>,
<code>knews</code>... ; dans les fichiers de configuration de ces
programmes sont écrites les mises à jour : messages lus, groupes auxquels
on est abonné, etc.</li>
<li> Les <strong>navigateurs</strong> (Mozilla, Lynx...), qui modifient leurs
fichiers de configuration pour conserver vos marque-pages, garder une trace
des dernières pages visitées, etc.</li>
<li> les jeux (scores et parties en cours).
</li>
<li> Les outils divers (<code>xpaint</code>, <code>xv</code>,
<code>xfig</code>...), dont on conserve les données.</li>
</ul>
<p>
En pratique, il faut donc quitter tout ce qu'on a ouvert; les exceptions sont
les visioneurs DVI et PostScript (<code>xdvi</code> et <code>gv</code> se
contentent de lire un fichier et de l'afficher, sans rien écrire) et les
fenêtres terminal : vous n'avez pas besoin de fermer les fenêtres qui
affichent pacifiquement un prompt.
</p>
<div class="metainformation"> Auteur : Émilia Robin, Yann Tholoniat,
Joël Riou. Dernière modification le <date value="$Date: 2007-07-17 10:03:37 $"/>. </div>
</body>
</html>