logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
atelier:chantier:terminaux-et-consoles-explications [27/04/2024 17:50]
agp91 [T0 - Tutos, prépartifs] réecrtiture
atelier:chantier:terminaux-et-consoles-explications [26/05/2024 20:18] (Version actuelle)
agp91 [Explications > Les console graphiques] Ajout console framebuffer
Ligne 334: Ligne 334:
 La console Linux **n'​existe que dans l'​espace noyau et le matériel.** La console Linux **n'​existe que dans l'​espace noyau et le matériel.**
  
-<​note>​__**L'​espace noyau**__ fait référence aux anneaux ​théoriques ​de sécurité ​d'un système informatique(([[https://​fr.wikipedia.org/​wiki/​Anneau_de_protection|Anneau de protection ​(fr)(wikipedia)]])).\\+<​note>​__**L'​espace noyau**__ fait référence aux anneaux de protection ​d'un système informatique 
 +((**Les anneaux de protection** : [[https://​fr.wikipedia.org/​wiki/​Anneau_de_protection|(fr) ​Anneau de protection ​(wikipedia)]])).\\
 \\ \\
 Il y a 4 niveaux de sécurité (numérotés de 0 à 3) :\\ Il y a 4 niveaux de sécurité (numérotés de 0 à 3) :\\
Ligne 344: Ligne 345:
  
 Depuis l'​espace utilisateur,​ nous accédons au ressources du système (détenue par le noyau), que par le niveau 2.\\ Depuis l'​espace utilisateur,​ nous accédons au ressources du système (détenue par le noyau), que par le niveau 2.\\
-... Ainsi le noyau est protégé ​de tout accès direct.+... Ainsi le noyau et le matériel sont protégés ​de tout accès direct.
  
 Pour simplifier ce schéma, **les trois premiers anneaux** (0, 1 et 2),\\ Pour simplifier ce schéma, **les trois premiers anneaux** (0, 1 et 2),\\
Ligne 354: Ligne 355:
 </​note>​ </​note>​
  
-<​file ​config ​La console Linux> +<file
-                 ​+------------------------Logiciel---------------------------------------+ +La console Linux 
-                 ​+---------------------Espace-noyau--------------------------------------+ +                 ​+--------------------------Logiciel---------------------------------+ 
- ​+------------Console------------------------------------------------------------------+ ​+                 +-----------------------Espace-noyau--------------------------------+ 
- ​| ​              ​| ​            ​+-------------Noyau-------------+ ​                      ​| ​+ ​+------------Console--------------------------------------------------------------+ | 
- | +-Matériel-+ ​ |  +-------+ ​ ​|  ​+---------+ ​   +----------+ ​ ​|  ​+------------------+ | | + | +-Matériel-+ ​ |  +-------+ ​  ​+---------+ ​   +----------+ ​  ​+------------------+ | | 
- | | +-----+ ​ |  |  |Drivers| ​ ​|  ​|         ​| ​   |          |  ​|  ​|     ​Drivers ​     | | | + | | +-----+ ​ |  |  |Drivers| ​  ​|         ​| ​   |          |   ​|     ​Drivers ​     | | | 
- | | |Ecran|<​-|--|--| vidéo |<-|--|Emulateur| ​   |Discipline| ​ ​|  ​|  +------------+ ​ | | | + | | |Ecran|<​-|--|--| vidéo |<​--|Emulateur| ​   |Discipline| ​  ​|  +------------+ ​ | | | 
- | | +-----+ ​ |  |  +-------+ ​ ​|  ​|   ​de ​   |<​==>​| ​   de    |<=|==|=>​|/​dev/​console| ​ | | | + | | +-----+ ​ |  |  +-------+ ​  ​|   ​de ​   |<​==>​| ​   de    |<​==|=>​|/​dev/​console| ​ | | | 
- | |+-------+ |  |  +-------+ ​ ​|  ​|terminal |    |  ligne   ​| ​ ​|  ​|  +------------+ ​ | | | + | |+-------+ |  |  +-------+ ​  ​|terminal |    |  ligne   ​| ​  ​|  +------------+ ​ | | | 
- | ||Clavier|-|--|->​|Drivers|--|->​| ​        ​| ​   |          |  ​|  ​|       ​TTY ​       | | | + | ||Clavier|-|--|->​|Drivers|-->​| ​        ​| ​   |          |   ​|       ​TTY ​       | | | 
- | |+-------+ |  |  |Clavier| ​ ​|  ​+---------+ ​   +----------+ ​ ​|  ​+------------------+ | | + | |+-------+ |  |  |Clavier| ​  ​+---------+ ​   +----------+ ​  ​+------------------+ | | 
- | +----------+ ​ |  +-------+ ​ ​+-------------------------------+ ​                      | | + | +----------+ ​ |  +-------+ ​                                                     | | 
- ​+---------------|---------------------------------------------------------------------+ | + ​+---------------|-----------------------------------------------------------------+ | 
-                 +-----------------------------------------------------------------------++                 ​+-------------------------------------------------------------------+
 </​file>​ </​file>​
  
Ligne 375: Ligne 376:
 **Le terminal est émulé** au sein du noyau.\\ **Le terminal est émulé** au sein du noyau.\\
 Le noyau nous le présente donc comme **terminal physique**.\\ Le noyau nous le présente donc comme **terminal physique**.\\
-Son émulateur fut **nommé Linux**.\\+Son émulateur fut **nommé ​Linux**, le terminal émulé, **terminal ​Linux**.\\
 Ce qui donna **le type** ''​linux'',​ pour le différencier des autres types de terminaux. Ce qui donna **le type** ''​linux'',​ pour le différencier des autres types de terminaux.
  
Ligne 385: Ligne 386:
 >​[[https://​www.kernel.org/​doc/​Documentation/​fb/​fbcon.rst|(kernel)(en) Documentation : fbcon.txt]] (traduction) : La console framebuffer (fbcon), comme son nom l’indique,​ est une console de texte exécutée au-dessus du périphérique framebuffer. Il a les fonctionnalités de n’importe quel pilote de console de texte standard, tel que la console VGA, avec les fonctionnalités supplémentaires qui peuvent être attribuées à la nature graphique du framebuffer. >​[[https://​www.kernel.org/​doc/​Documentation/​fb/​fbcon.rst|(kernel)(en) Documentation : fbcon.txt]] (traduction) : La console framebuffer (fbcon), comme son nom l’indique,​ est une console de texte exécutée au-dessus du périphérique framebuffer. Il a les fonctionnalités de n’importe quel pilote de console de texte standard, tel que la console VGA, avec les fonctionnalités supplémentaires qui peuvent être attribuées à la nature graphique du framebuffer.
  
-Le noyau des systèmes Debian GNU/Linux récents, dispose des drivers framebuffer, par défaut.+Utilisant un 
 +**framebuffer**((**Le framebuffer** (tampon de trame en français) est un tampon mémoire d'​image. Une matrice contenant les informations de chaque pixels. Le framebuffer du noyau Linux est capable de manipuler plusieurs matrices d'​images (pages d'​écrans). [[https://​fr.wikipedia.org/​wiki/​Framebuffer|(fr) Framebuffer (wikipedia.org)]])) 
 +, la console est nommée 
 +**console framebuffer** ((**La console framebuffer**,​ est la console (système) obtenue lorsque la console Linux utilise le framebuffer comme sortie d'​affichage. [[https://​fr.wikipedia.org/​wiki/​Framebuffer_Linux|(fr) Framebuffer Linux (wikipedia.org)]])) 
 +(fbcon). 
 + 
 +<file config>​ 
 +La console framebuffer 
 +               ​+-----------------------------Logiciel--------------------------------+ 
 +               ​+---------------------------Espace-noyau------------------------------+ 
 +               ​| ​         +---+                                 ​+-----fbdev------+ ​  | 
 + ​+-Matériel-+ ​ |  +---+   | f |   ​+-------+ ​                    ​| ​ +----------+ ​ |   | 
 + | +-----+ ​ |  |  | D |   | b |   ​| ​      ​|<​====================|=>​| /dev/fb0 |  |   | 
 + | |Ecran|<​-|--|--| R |<--| d |<--| Fbcon |                     ​| ​ +----------+ ​ |   | 
 + | +-----+ ​ |  |  | I |   | e |   ​| ​      ​|<​-+ ​                 +----------------+ ​  | 
 + ​| ​         |  |  | V |   | v |   ​+-------+ ​ |          +---+   ​+-------TTY--------+ | 
 + ​|+-------+ |  |  | E |   ​+---+ ​      ​+------+-----+ ​   | D |   ​| ​ +------------+ ​ | | 
 + ​||Clavier|-|--|->​| R |-------------->​| ​ Emulateur |<​==>​| D |<​--|--|/​dev/​console| ​ | | 
 + ​|+-------+ |  |  | S |               ​| ​ terminal ​ |    | L |   ​| ​ +------------+ ​ | | 
 + ​+----------+ ​ |  +---+               ​+------------+ ​   +---+   ​+------------------+ | 
 +               ​| ​                                                                    | 
 +               ​+---------------------------------------------------------------------+ 
 +Drivers : Drivers matériel (écran clavier)  
 +Fbdev : Drivers framebuffer 
 +Fbcon : Framebuffer 
 +Emulateur terminal : Terminal Linux émulé 
 +DDL : Dicipline de ligne 
 +TTY : Drivers TTY 
 +</​file>​ 
 + 
 +Le noyau des systèmes Debian GNU/Linux récents, dispose ​par défaut, ​des drivers framebuffer.
  
 ==== Les terminaux virtuels ==== ==== Les terminaux virtuels ====
  
-Les **terminaux virtuels** sont le "​multiplexage"​ de la __console Linux__. Ils Rendent ​accessible la __console__ ​dans l'__espace utilisateur__.+Les **terminaux virtuels** sont le "​multiplexage"​ de la __console Linux__ ​ou de la __console framebuffer__.\\ 
 +Ils rendent ​accessible la console ​dans l'espace utilisateur.
  
 Linux Torvald, dans les sources du noyau à écrit : Linux Torvald, dans les sources du noyau à écrit :
 >​[[https://​git.kernel.org/​pub/​scm/​linux/​kernel/​git/​torvalds/​linux.git/​tree/​drivers/​tty/​Kconfig?​id=HEAD|(git.kernel)(en) Torvalds/​Linux/​drivers/​tty/​Kconfig]] (traduction) : Si vous dites Y ici, vous obtiendrez un support pour les terminaux avec des périphériques d’affichage et de clavier. Celles-ci sont dites « virtuelles » car vous pouvez exécuter plusieurs terminaux virtuels (également appelés consoles virtuelles) sur un terminal physique... Vous avez besoin d’au moins un terminal virtuel pour utiliser votre clavier et votre moniteur. >​[[https://​git.kernel.org/​pub/​scm/​linux/​kernel/​git/​torvalds/​linux.git/​tree/​drivers/​tty/​Kconfig?​id=HEAD|(git.kernel)(en) Torvalds/​Linux/​drivers/​tty/​Kconfig]] (traduction) : Si vous dites Y ici, vous obtiendrez un support pour les terminaux avec des périphériques d’affichage et de clavier. Celles-ci sont dites « virtuelles » car vous pouvez exécuter plusieurs terminaux virtuels (également appelés consoles virtuelles) sur un terminal physique... Vous avez besoin d’au moins un terminal virtuel pour utiliser votre clavier et votre moniteur.
  
-Virtualisant la __console__ils sont aussi nommés **consoles virtuelles**.+Virtualisant la console (Linux ou framebuffer)__ils sont aussi nommés **consoles virtuelles**__.
  
 <​note>​ <​note>​
Ligne 400: Ligne 432:
 Dans ce cas ils agissent comme une __console système__. Dans ce cas ils agissent comme une __console système__.
  
-Mais cela peut etre configuré autrement.\\+Mais cela peut être configuré autrement.\\
 \\ \\
 Linux Torvald, dans les sources du noyau à écrit : Linux Torvald, dans les sources du noyau à écrit :
Ligne 411: Ligne 443:
  
 Un système Debian GNU/Linux moderne, permet d'​utiliser 63 **terminaux virtuels**.\\ Un système Debian GNU/Linux moderne, permet d'​utiliser 63 **terminaux virtuels**.\\
-Dont sont accessibles avec la combinaison des touches ​ ''​Ctrl''​+''​Alt''​+''​F1''​ à ''​F6''​.\\ +Dont les 12 premiers ​sont accessibles avec la combinaison des touches  ​(''​Ctrl''​+)''​Alt''​+''​F1''​ à ''​F12''​.\\ 
-Et sont nommés ​respectivement ​**tty1** à **tty6**.+Et sont nommés **tty1** à **tty63**.
  
-<​file ​config Deux terminaux virtuels ​(tty1 et tty2), utilisés pour l'​exécution d'un shell chacun.>+<file
 +Les terminaux virtuels
                ​+-----------------------------Logiciel---------------------------------+                ​+-----------------------------Logiciel---------------------------------+
                ​+----------------------Espace-noyau------------------------+--Espace---+                ​+----------------------Espace-noyau------------------------+--Espace---+
Ligne 433: Ligne 466:
 Les systèmes GNU/Linux sont multi-utilisateurs. Cet avantage permet d'​utiliser plusieurs **terminaux virtuels** avec, si nous le désirons, un utilisateur différent. Les systèmes GNU/Linux sont multi-utilisateurs. Cet avantage permet d'​utiliser plusieurs **terminaux virtuels** avec, si nous le désirons, un utilisateur différent.
  
-Même si plusieurs **terminaux virtuels** peuvent être ouvert, un seul uniquement, peut être au premier plan.+Même si plusieurs **terminaux virtuels** peuvent être ouvert, un seul uniquement, peut être au premier plan (affiché).
  
 Sur un __système non graphique__,​ après son démarrage, la sortie du premier **terminal virtuel** est affiché à l'​écran.\\ Sur un __système non graphique__,​ après son démarrage, la sortie du premier **terminal virtuel** est affiché à l'​écran.\\
-Le programme **agetty**, qui à ouvert le fichier périphérique ​**/dev/tty1**, sanctionne son accès, en demandant un __nom d'​utilisateur__.\\ +Le programme **agetty**, qui à ouvert le fichier périphérique ​''​/dev/tty1''​, sanctionne son accès, en demandant un __nom d'​utilisateur__.\\ 
-Pour aller plus loin, nous devons saisir notre __nom d'​utilisateur__,​ suivit de la touche ''​entrée''​.\\+Pour aller plus loin, nous devons saisir notre __nom d'​utilisateur__,​ suivit de la touche ''​Entrée''​.\\
 Une fois fait, le programme **agetty** est remplacé par le programme **login**, qui nous demande notre __mot de passe__.\\ Une fois fait, le programme **agetty** est remplacé par le programme **login**, qui nous demande notre __mot de passe__.\\
-S'il est exacte, **login** crée un processus fils, pour exécuter ​le **shell**, renseigné dans le fichier /etc/passwd (souvent bash).+S'il est exacte, **login** crée un processus fils, pour exécuter ​l**interpréteur de commande** (le shell), renseigné dans le fichier ​''​/etc/passwd'' ​(souvent bash).
  
 Voir aussi : [[doc:​systeme:​console|Console]]. Voir aussi : [[doc:​systeme:​console|Console]].
Ligne 642: Ligne 675:
 ==== Les consoles graphiques ==== ==== Les consoles graphiques ====
  
-Une **consoles graphique ​*** est une **console système graphique**.\\+Une **consoles graphique ** est une **console système graphique**.\\
 Elle permet de communiquer avec l'​ordinateur depuis sont démarrage.\\ Elle permet de communiquer avec l'​ordinateur depuis sont démarrage.\\
 Sa sortie est un graphique. Sa sortie est un graphique.
  
-Les consoles graphiques qui permettent d'​utiliser les machines virtuelles (qui disposent d'un système graphique) en sont l'​exemple.+La console framebuffer est une console graphique. 
 + 
 +---- 
 + 
 +Les consoles graphiques qui permettent d'​utiliser les machines virtuelles (qui disposent d'un système graphique) en sont aussi l'​exemple.
  
 Une telle console affiche les messages du système et permet la communication entrante, depuis le démarrage de la machine virtuelle.\\ Une telle console affiche les messages du système et permet la communication entrante, depuis le démarrage de la machine virtuelle.\\
Ligne 672: Ligne 709:
 ==== Les terminaux X ==== ==== Les terminaux X ====
  
-Un terminal X est un client léger. Un ordinateur avec peut de ressources (processeur et mémoire), parfois même sans disque.+Un **terminal X** est un client léger. Un ordinateur avec peu de ressources (processeur et mémoire), parfois même sans disque.
  
 Il dispose : Il dispose :
Ligne 682: Ligne 719:
  
 <file config Accès à un ordinateur via un terminal X> <file config Accès à un ordinateur via un terminal X>
-                                                            ​Ordinateur distant +                                                       Ordinateur distant 
-          Terminal X                    +-----------------------Logiciel-------------------------+ +          Terminal X                    +------------------Logiciel--------------------+ 
- ​+-Matériel-+ ​ +------Logiciel-----+ ​   +-Espace utilisateur--+----------Espace noyau------------+ + ​+-Matériel-+ ​ +------Logiciel-----+ ​   +-Espace utilisateur--+-----Espace noyau-------+ 
- | +------+ |  |  +---+            |    |            +-----+ ​ |  +-----------+ ​  +-----+   +---+ | + | +------+ |  |  +---+            |    |            +-----+ ​ |  +----PTS----+   +---+ | 
- | |Souris|-|--|->​| D |            |    |            |Shell|<​=|=>​|/​dev/​pts/​42|<=>| PTS |<=>| D | | + | |Souris|-|--|->​| D |            |    |            |Shell|<​=|=>​|/​dev/​pts/​42|<​=>​| D | | 
- | +------+ |  |  | R |            |    |            +-----+ ​ |  +-----------+ ​  +-----+ ​  | D | | + | +------+ |  |  | R |            |    |            +-----+ ​ |  +-----------+ ​  | D | | 
- ​|+-------+ |  |  | I |   ​+-----+ ​ |    |  +-----+ ​  ​+-----+ ​ |                  +-----+ ​  ​| L | | + ​|+-------+ |  |  | I |   ​+-----+ ​ |    |  +-----+ ​  ​+-----+ ​ |     ​+-----+ ​     | L | | 
- ​||Clavier|-|--|->​| V |   ​| ​    ​| ​ |    |  |     ​|<​=>​|xterm|<​=|=================>| PTM |<​=>​| ​  | | + ​||Clavier|-|--|->​| V |   ​| ​    ​| ​ |    |  |     ​|<​=>​|xterm|<​=|====>​| PTM |<====>​| ​  | | 
- ​|+-------+ |  |  | E |   ​|Serv.| ​ |    |  |Serv.| ​  ​+-----+ ​ |                  +-----+ ​  ​+---+ | + ​|+-------+ |  |  | E |   ​|Serv.| ​ |    |  |Serv.| ​  ​+-----+ ​ |     ​+-----+ ​     +---+ | 
- | +-----+ ​ |  |  | R |<​=>​| ​ X  |<​=|=//​=|=>​| ​ X  |   ​+------+ |                                  + | +-----+ ​ |  |  | R |<​=>​| ​ X  |<​=|=//​=|=>​| ​ X  |   ​+------+ |                        
- | |Ecran|<​-|--|--| S |   ​| ​    ​| ​ |    |  |     ​|<​=>​|Clt. X| |                                  + | |Ecran|<​-|--|--| S |   ​| ​    ​| ​ |    |  |     ​|<​=>​|Clt. X| |                        
- | +-----+ ​ |  |  +---+   ​+-----+ ​ |    |  +-----+ ​  ​+------+ |                                  + | +-----+ ​ |  |  +---+   ​+-----+ ​ |    |  +-----+ ​  ​+------+ |                        
- ​+----------+ ​ +-------------------+ ​   +---------------------+----------------------------------++ ​+----------+ ​ +-------------------+ ​   +---------------------+------------------------+
 Depuis un terminal X, Alice se connecte à la machine distante, pour y exécuter un shell. Depuis un terminal X, Alice se connecte à la machine distante, pour y exécuter un shell.
 DDL : Discipline de ligne DDL : Discipline de ligne
Ligne 732: Ligne 769:
     * **Sauvegarde du fichier** ''​~/​.bashrc''​     * **Sauvegarde du fichier** ''​~/​.bashrc''​
     * Usage de root     * Usage de root
-  * [[#t1_-_le_type_term|T1 - Le type TERM]]+  * [[#t1-le-type-term|T1 - Le type $TERM]]
     * Présentation de la variable d'​environnement TERM.     * Présentation de la variable d'​environnement TERM.
     * Son usage dans le fichier ''​.bashrc''​ pour coloriser l'​invite de l'​interpréteur bash.     * Son usage dans le fichier ''​.bashrc''​ pour coloriser l'​invite de l'​interpréteur bash.
-  * [[#t2_-_configuration_avec_stty|T2 - Configuration avec stty]]+  * [[#t2-configuration-avec-stty|T2 - Configuration avec stty]]
     * Manipulation de la configuration d'un terminal.     * Manipulation de la configuration d'un terminal.
-  * [[#t3_la_commande_tty|T3. La commande tty]]+  * [[#t3-la-commande-tty|T3. La commande tty]]
     * Retourne le chemin du fichier périphérique du terminal utilisé.     * Retourne le chemin du fichier périphérique du terminal utilisé.
     * **Modification du fichier** ''​~/​.bashrc''​     * **Modification du fichier** ''​~/​.bashrc''​
-  * [[#t4_-_les_terminaux_virtuels|T4 - Les terminaux virtuels]]+  * (A venir) ​[[#t4-les-terminaux-virtuels|T4 - Les terminaux virtuels]]
     * Premières approches     * Premières approches
     * Visualisation des processus et des fichiers périphériques,​ **Modification du fichier** ''​~/​.bashrc''​     * Visualisation des processus et des fichiers périphériques,​ **Modification du fichier** ''​~/​.bashrc''​
     * Colorisation de l'​invite de bash, **Modification du fichier** ''​~/​.bashrc''​     * Colorisation de l'​invite de bash, **Modification du fichier** ''​~/​.bashrc''​
     * Graphisme avec le framebuffer. ​     * Graphisme avec le framebuffer. ​
-  * [[#t5_-_les_terminaux_fenetres|T5 - Les terminaux fenêtres]]+  * (A venir) ​[[#t5-les-terminaux-fenetres|T5 - Les terminaux fenêtres]]
     * Visualisation des processus et des fichiers périphériques     * Visualisation des processus et des fichiers périphériques
     * Redimensionnement du terminal     * Redimensionnement du terminal
     * Graphisme avec l’émulateur xterm.     * Graphisme avec l’émulateur xterm.
-  * [[#t6_-_les_terminaux_connectes|T6 - Les terminaux connectés]]+  * (A venir) ​[[#t6-les-terminaux-connectes|T6 - Les terminaux connectés]]
     * Visualisation des processus et des fichiers périphériques associés ;      * Visualisation des processus et des fichiers périphériques associés ; 
-  * [[#t7_-_les_peripheriques_tty_et_tty0|T7 - Les périphériques tty et tty0]]+  * (A venir) ​[[#t7-les_peripheriques-tty-et-tty0|T7 - Les périphériques tty et tty0]]
     * Deux fichiers de périphérique spéciaux.     * Deux fichiers de périphérique spéciaux.
-  * [[#t8_-_Le_peripherique_console|T8 - Le périphérique console]]+  * (A venir) ​[[#t8-Le_peripherique-console|T8 - Le périphérique console]]
     * Le terminal du noyau.     * Le terminal du noyau.
-  * [[#tx_-_retour_a_l_etat_initial|TX - Retour à l'​état initial]]+  * [[#tx-retour-a-l-etat-initial|TX - Retour à l'​état initial]]
     * Fin des tutos. Le système est remis à son état initial.     * Fin des tutos. Le système est remis à son état initial.
     * **Restauration du fichier** ''​~/​.bashrc''​     * **Restauration du fichier** ''​~/​.bashrc''​
Ligne 767: Ligne 804:
 Il nous sera alors pas possible de lire les instruction affichées sur cette page. Il nous sera alors pas possible de lire les instruction affichées sur cette page.
  
-Disposer d'une machine virtuelle, dont la console est affichée dans une fenêtre, pour exécuter les tutos, permet ​d'​avoir accoté, la fenêtre du navigateur qui affiche les instruction de cette page.+Disposer d'une machine virtuelle, dont la console est affichée dans une fenêtre, pour exécuter les tutos.\\ 
 +Permet ​d'​avoir accoté, la fenêtre du navigateur qui affiche les instruction de cette page.
  
-Pour créer facilement (sans ligne de commande) une machine virtuelle, voir le tuto  [[atelier:chantier:​virt-manager-un-gestionaire-graphique-de-machine-virtuelle|Virt-manager : Un gestionnaire graphique de machine virtuelle]].+Pour créer facilement (sans ligne de commande) une machine virtuelle, voir le tuto  [[https://​debian-facile.org/​doc:​autres:​vm:​virt-manager|Virt-manager : Un gestionnaire graphique de machine virtuelle]].
  
 ---- ----
  
-Vous devriez déjà avoir une sauvegarde de votre fichier ​bash.\\ +Vous devriez déjà avoir une sauvegarde de votre fichier ​''​.bashrc''​.\\ 
-LOL Nous ne jouerons pas là dessus.\\ +LOL Mais, nous ne jouerons pas là dessus.\\
- +
-... Alors, nous le ferons tout même plus bas ^_^+
  
 +... Alors, nous le sauvegarderons tout même plus bas ^_^
  
 ==== Conventions ==== ==== Conventions ====
    
-Nous y utilisons les termes suivants : +Dans cette suite de tutos, nous utilisons les termes suivants : 
  
 ^  Désignations ​ ^  Noms  ^  Périphériques (fichiers) ​ ^ ^  Désignations ​ ^  Noms  ^  Périphériques (fichiers) ​ ^
Ligne 799: Ligne 836:
 Ici, nous utilisons l'​utilisateur **DF**, pour nous connecter. Ici, nous utilisons l'​utilisateur **DF**, pour nous connecter.
  
-Une fois connecté, nous sommes sous le bureau d'​**Xfce**.\\+Une fois connecté, nous sommes sous le bureau d'​**Xfce**. 
 Nous lançons une **fenêtre de terminal** (ici, **xfce4-treminal**).\\ Nous lançons une **fenêtre de terminal** (ici, **xfce4-treminal**).\\
 ... L'​interpréteur de commande **bash** y est exécuté. ... L'​interpréteur de commande **bash** y est exécuté.
Ligne 807: Ligne 845:
 Les fichiers **~/​.profile** et **~/​.bashrc**,​ sont les fichiers donnés par défaut par un système Debian 11 GNU/Linux. Les fichiers **~/​.profile** et **~/​.bashrc**,​ sont les fichiers donnés par défaut par un système Debian 11 GNU/Linux.
 </​note>​ </​note>​
- 
  
 ==== Sauvegarde ==== ==== Sauvegarde ====
Ligne 813: Ligne 850:
 Plusieurs fois, nous modifierons notre fichier ''​.bashrc''​ : Plusieurs fois, nous modifierons notre fichier ''​.bashrc''​ :
  
-  * Au tuto [[#t3_la_commande_tty|T3La commande tty]], pour ajouter le nom du terminal utilisé à l'​invite (le prompt) de l'​interpréteur de commande (bash). +  * Au tuto [[#t3-la-commande-tty|T3 La commande tty]], pour ajouter le nom du terminal utilisé à l'​invite (le prompt) de l'​interpréteur de commande (bash). 
-  * Au tuto [[#t4_-_les_terminaux_virtuels|T4 - Les terminaux virtuels]], pour forcer la colorisation de l'​invite pour les terminaux virtuels et nous y ajouterons deux alias qui nous faciliterons l'​écriture de commande.+  * Au tuto [[#t4-les-terminaux-virtuels|T4 - Les terminaux virtuels]], pour forcer la colorisation de l'​invite pour les terminaux virtuels et nous y ajouterons deux alias qui nous faciliterons l'​écriture de commande.
  
 Ces modifications pourraient être réalisées en exécutant leurs commandes directement dans le terminal, sans modifier le fichier ''​.bashrc''​.\\ Ces modifications pourraient être réalisées en exécutant leurs commandes directement dans le terminal, sans modifier le fichier ''​.bashrc''​.\\
Ligne 844: Ligne 881:
  
 Nous utiliserons l'​utilisateur **root**((L'​utilisateur **root** est l'​administrateur de tout le système. Il a tout les droits sur tout. Il est aussi l'​utilisateur qui exécute les programmes nécessaires au fondement du système.)) via la commande **su**((La commande **[[doc:​systeme:​su|su]]** permet de changer d'​utilisateur,​ si nous en connaissons le mot de passe.)) pour exécuter des commandes sous son autorité. Nous utiliserons l'​utilisateur **root**((L'​utilisateur **root** est l'​administrateur de tout le système. Il a tout les droits sur tout. Il est aussi l'​utilisateur qui exécute les programmes nécessaires au fondement du système.)) via la commande **su**((La commande **[[doc:​systeme:​su|su]]** permet de changer d'​utilisateur,​ si nous en connaissons le mot de passe.)) pour exécuter des commandes sous son autorité.
- 
-Nous utilisons aussi le compte root ci-dessous pour installer des programmes. 
  
 Le mot de passe root doit donc être connu. Le mot de passe root doit donc être connu.
Ligne 1399: Ligne 1434:
 unset stty # Destruction de la variable stty unset stty # Destruction de la variable stty
 </​code>​ </​code>​
 +===== T3 - La commande tty =====
  
 +Dans un système GNU/Linux, un appareil (un périphérique) est caractérisé (accessible),​ par __un fichier spécial__, aussi nommé __fichier de périphérique__ (ou plus communément,​ __périphérique__).\\
 +Ces fichiers sont placés dans le répertoire ''/​dev''​ et ses sous-répertoires (dev pour device en anglais, appareil en français).
 +
 +**__Les périphériques des terminaux virtuels__**,​\\
 +Sont nommés **tty<​n>​** (avec <n>, un entier décimal, de 1 à 63).\\
 +Ils sont situés dans le répertoire ''/​dev''​ (''/​dev/​tty<​n>''​).\\
 +Par exemples : ''/​dev/​tty1'',​ ''/​dev/​tty2'',​ etc.
 +
 +<​note>​
 +Le fichier périphérique ''/​dev/​tty0''​ est particulier,​ il caractérise toujours le terminal virtuel qui est affiché.\\
 +(Actuellement le 7em, puisque nous affichons l'​interface graphique.)\\
 +Son usage est présenté dans la section [[#​t7_-_les_peripheriques_tty_et_tty0|T7 - Les périphériques tty et tty0]].
 +</​note>​
 +
 +**__Les périphériques des terminaux fenêtre ou connecté (les pseudo-terminaux)__**\\
 +Sont nommés **pts<​n>​** (avec <n> un entier décimal).\\
 +Leurs fichiers sont numérotés dans le répertoire ''/​dev/​pts''​ (''/​dev/​pts/<​n>''​).\\
 +Par exemples : ''/​dev/​pts/​0'',​ ''/​dev/​pts/​1'',​ etc.
 +
 +__**La commande tty**__,
 +
 +Retourne le chemin du fichier périphérique du terminal utilisé par la commande.
 +
 +<​note>​
 +La commande **tty**, ne doit pas être confondue avec le périphérique ''/​dev/​tty''​.\\
 +\\
 +Le fichier périphérique ''/​dev/​tty''​ est particulier,​ il caractérise toujours le terminal utilisé, qu'il soit virtuel, fenêtre ou connecté.\\
 +Son usage est présenté dans la section [[#​t7_-_les_peripheriques_tty_et_tty0|T7 - Les périphériques tty et tty0]].\\
 +\\
 +Le chemin de la commande **tty** est ''/​usr/​bin/​tty''​.\\
 +
 +<code user>
 +which tty
 +</​code><​code>​
 +/​usr/​bin/​tty
 +</​code>​
 +</​note>​
 +
 +<code user>
 +tty
 +</​code><​code>​
 +/dev/pts/0
 +</​code>​
 +
 +La commande nous indique que le terminal que nous utilisons, est le périphérique ''/​dev/​pts/​0''​.\\
 +Le chemin retourné montre que les terminaux fenêtres sont des pseudo-terminaux.
 +
 +Nous venons de redémarrer ; Avons  ouvert qu'un seul terminal fenêtre ; Et aucun PC distant n'est connecté au notre.\\
 +Alors le système n'a créé qu'un seul pseudo-terminal (celui que notre terminal utilise). Il l'a numéroté (et nommé) 0, le premier nombre disponible.\\
 +Mais, nous y reviendrons...
 +
 +----
 +
 +<note warning>
 +Par la suite, nous allons ouvrir plusieurs terminaux.\\
 +Pour mieux nous situer, nous allons insérer dans l'​invite de notre interpréteur de commande (le prompt), le nom du périphérique utilisé.\\
 +\\
 +L'​invite (le prompt) affichée, est le retour de l'​interprétation du contenu de la variable **PS1**, définit dans le fichier ''​~/​.bashrc''​.\\
 +\\
 +Nous pourrions modifier cette variable directement dans notre terminal, mais la modification ne serait pas disponible pour les autres terminaux que nous ouvrirons.\\
 +Pour qu'​elle le soit, elle doit être écrite dans le fichier ''​~/​.bashrc''​.\\
 +\\
 +**__Rappel__ :** A la section [[#​t0-tutos-preparatifs|T0 - Tutos, préparatifs]],​ nous avons sauvegardé le fichier ''​~/​.bashrc''​ afin de pouvoir le restaurer plus tard.
 +</​note>​
 +
 +Nous n'​allons pas insérer le chemin complet du périphérique dans l'​invite,​ mais son nom simplifié :
 +
 +  - La commande **tty** permet de récupérer le chemin du périphérique.
 +  - De ce chemin (''/​dev/​tty<​n>''​ ou ''/​dev/​pts/<​n>''​),​ est formé le nom du périphérique (tty<​n>​ ou pts<​n>​).\\
 +  - Puis, le nom obtenu est passé en majuscule, en étant ajouté au début du contenu de la variable PS1.
 +
 +<​note>​
 +L'​opérateur de redirection **>>​** permet d'​ajouter la sortie standard à la fin d'un fichier.\\
 +\\
 +Placer entre guillemets, simple ou double, une chaîne de caractère peut s'​étendre sur plusieurs lignes.\\
 +\\
 +Nous utilisons ici, les guillemets simples, pour que la chaîne de caractère ne soit pas interprété par bash.
 +</​note>​
 +
 +<code user>
 +echo '
 +# Insère le nom du terminal dans PS1
 +n=$(tty) # Récupère le chemin du périphérique dans la variable n
 +n=${n#/​dev/​} #​ Supprime /dev/ du chemin
 +n=${n/​\//​} #​ Supprime le / restant (si pseudo-terminal)
 +PS1=${n^^}:​$PS1 #​ Ajoute le nom en majuscule à PS1
 +unset n # Destruction de n
 +' >> ~/.bashrc
 +</​code>​
 +
 +Pour que cette modification soit prise en compte, il est nécessaire de réinterpréter le fichier ''​~/​.bashrc'',​ avec la commande **.** (point) ou **source**.
 +
 +<​note>​
 +La commande **.** (synonyme de **source**) est une commande interne de l'​interpréteur bash.\\
 +\\
 +Elle ne doit pas être confondue avec l'​usage du point dans les chemins de systèmes de fichiers :\\
 +\\
 +  * Le point seul **.**  ou **./** en début du chemin, indiquent le répertoire courant.
 +  * Un nom de fichier (ou de dossier) débutant par un point (**.<​nom>​**) , indique que cet élément est caché (par exemple ''​.bashrc''​).
 +</​note>​
 +
 +<code user>
 +. ~/.bashrc
 +</​code><​code>​
 +PTS0:​DF@pc24:​~
 +</​code>​
 +
 +Yes ! Maintenant, nous ne pouvons plus nous perdre.\\
 Nous allons maintenant nous intéresser aux terminaux virtuels. Nous allons maintenant nous intéresser aux terminaux virtuels.
  
 +===== TX - Retour à l'​état initial =====
 +
 +... Nous arrivons à la fin de cette suite de tutos.\\
 +Nous remettons ici le système, tel qu'il était lorsque nous avons commencé notre voyage.
 +
 +Le fichier ''​~/​.bashrc''​ **doit être restauré**.
 +
 +<code user>cd
 +cp -v ~/​DF-tuto/​.bashrc .
 +</​code><​code>​
 +'​DF-tuto/​.bashrc'​ -> '​./​.bashrc'​
 +</​code>​
 +
 +Et le répertoire ''​~/​.DF-tuto''​ **supprimé**.
 +
 +<code user>rm -vrf ~/DF-tuto
 +</​code><​code>​
 +'​DF-tuto/​.bashrc'​ supprimé
 +répertoire '​DF-tuto'​ supprimé
 +</​code>​
 +
 +Voila notre voyage est terminé.\\
 +La compagnie Debian-Facile vous remercie,\\
 +Et espère que vous avez réalisé un bon voyage.
 +8-)
atelier/chantier/terminaux-et-consoles-explications.1714233024.txt.gz · Dernière modification: 27/04/2024 17:50 par agp91

Pied de page des forums

Propulsé par FluxBB