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 [14/06/2023 12:10]
agp91 Correction dans la section [Tuto] et sous sections
atelier:chantier:terminaux-et-consoles-explications [28/04/2024 07:10] (Version actuelle)
agp91 [Explications]
Ligne 330: Ligne 330:
 >​[[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) : La console système est le périphérique qui reçoit tous les messages du noyau et des avertissements et qui permet les connexions en mode mono-utilisateur. >​[[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) : La console système est le périphérique qui reçoit tous les messages du noyau et des avertissements et qui permet les connexions en mode mono-utilisateur.
  
-Ainsi la **console Linux** est **__la__ console** de l'​ordinateur. Elle est, ce qu'est une __console système__ ​pour l'​ordinateur central.+Ainsi la **console Linux** est **__la__ console** de l'​ordinateur. Elle est, ce qu'est une console système ​pour l'​ordinateur central.
  
-Elle n'​existe que dans le noyaumatériel et les drivers.+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)]])).\\ 
 +\\ 
 +Il y a 4 niveaux de sécurité (numérotés de 0 à 3) :\\ 
 +\\ 
 +  * Le **niveau 0** : Le noyau lui-même. 
 +  * Le **niveau 1** : Les drivers qui ordonnent le matériel
 +  * Le **niveau 2** : Les drivers qui implémentent l'​accès ​et l'​autorité aux ressources. 
 +  * Le **niveau 3** : L'​espace utilisateur. Où nous pouvons utiliser ​les ressources pour exécuter nos programmes. 
 + 
 +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. 
 + 
 +Pour simplifier ce schéma, **les trois premiers anneaux** (0, 1 et 2),\\ 
 +Sont regroupés en un seul, pour être **nommer** ''​l'​espace noyau''​.\\ 
 +Ainsi nous voyons le système avec  : 
 + 
 +  * L'​**espace noyau** (noyau + drivers
 +  * Et l'​**espace utilisateur**. 
 +</​note>​
  
 <file config La console Linux> <file config La console Linux>
-                 ​+------------------------Logiciel--------------------------+ +                 ​+------------------------Logiciel---------------------------------------+ 
-                 ​+---------------------Espace-noyau-------------------------+ +                 ​+---------------------Espace-noyau--------------------------------------+ 
- ​+------------Console-----------------------------------------------------+ | + ​+------------Console------------------------------------------------------------------+ ​
- | +-Matériel-+ ​ |  +-------+ ​  ​+---------+ ​   +----------+ ​   +-------+ ​ | | + ​| ​              ​| ​            ​+-------------Noyau-------------+ ​                      ​| ​
- | | +-----+ ​ |  |  |Drivers| ​  ​|         ​| ​   |          |    ​| ​      |  | | + | +-Matériel-+ ​ |  +-------+ ​ ​|  ​+---------+ ​   +----------+ ​ ​|  ​+------------------+ | | 
- | | |Ecran|<​-|--|--| vidéo |<​--|Emulateur| ​   |Discipline| ​   |Drivers|  | | + | | +-----+ ​ |  |  |Drivers| ​ ​|  ​|         ​| ​   |          |  |  ​|     ​Drivers ​     | | | 
- | | +-----+ ​ |  |  +-------+ ​  ​|   ​de ​   |<​==>​| ​         |<​==>​| ​      ​|  | | + | | |Ecran|<​-|--|--| vidéo |<-|--|Emulateur| ​   |Discipline| ​  |  ​+------------+ ​ | | | 
- | |+-------+ |  |  +-------+ ​  ​|terminal |    | de ligne |     ​TTY ​ ​| ​ | | + | | +-----+ ​ |  |  +-------+ ​ ​|  ​|   ​de ​   |<​==>​| ​   ​de ​   ​|<=|==|=>|/​dev/​console|  ​| | 
- | ||Clavier|-|--|->​|Drivers|-->​| ​        ​| ​   |          |    |       ​| ​ | | + | |+-------+ |  |  +-------+ ​ ​|  ​|terminal |    |  ligne   ​ |  |  ​+------------+ ​ | | | 
- | |+-------+ |  |  |Clavier| ​  ​+---------+ ​   +----------+ ​   +-------+ ​ | | + | ||Clavier|-|--|->​|Drivers|--|->​| ​        ​| ​   |          |  ​|  ​|       TTY        ​| | | 
- | +----------+ ​ |  +-------+ ​                                            ​| | + | |+-------+ |  |  |Clavier| ​ ​|  ​+---------+ ​   +----------+ ​ ​|  ​+------------------+ | | 
- ​+---------------|--------------------------------------------------------+ | + | +----------+ ​ |  +-------+ ​ ​+-------------------------------+ ​                      | | 
-                 ​+----------------------------------------------------------++ ​+---------------|---------------------------------------------------------------------+ | 
 +                 +-----------------------------------------------------------------------+
 </​file>​ </​file>​
  
-  * Le matériel UART et ses drivers ont disparu, laissant la place aux **drivers vidéo et clavier**. +Le matériel UART et ses drivers ont disparu, laissant la place aux **drivers vidéo et clavier**. 
-  L'**émulateur de terminal** ​est désigné ​comme **terminal physique**.+ 
 +**Le terminal ​est émulé** au sein du noyau.\\ 
 +Le noyau nous le présente donc comme **terminal physique**.\\ 
 +Son émulateur fut **nommé Linux**.\\ 
 +Ce qui donna **le type** ''​linux'',​ pour le différencier des autres types de terminaux. 
 + 
 +----
  
 Avec les systèmes GNU/Linux modernes, sur un PC et un écran moderne, la **console** est un __terminal graphique__. Avec les systèmes GNU/Linux modernes, sur un PC et un écran moderne, la **console** est un __terminal graphique__.
Ligne 389: Ligne 416:
 <file config Deux terminaux virtuels (tty1 et tty2), utilisés pour l'​exécution d'un shell chacun.> <file config Deux terminaux virtuels (tty1 et tty2), utilisés pour l'​exécution d'un shell chacun.>
                ​+-----------------------------Logiciel---------------------------------+                ​+-----------------------------Logiciel---------------------------------+
-               ​+----------------------Espace-noyau-------------------+-----Espace-----+ +               ​+----------------------Espace-noyau------------------------+--Espace---+ 
-               ​| ​                                                    |  utilisateur ​  +               ​| ​            +---------Noyau---------+ ​ +--Drivers-TTY--+ | utilisat. ​
- ​+-Matériel-+ ​ |  +-------+ ​  ​+---------+ ​  ​+---+ ​  +-------+ ​  +---------+ ​  ​+-----+ | + ​+-Matériel-+ ​ |  +-------+ ​ ​|  ​+---------+ ​  ​+---+ ​ ​| ​ |  ​+---------+ ​ | |  ​+-----+ ​ 
- | +-----+ ​ |  |  |Drivers| ​  ​|         ​| ​  ​| ​  ​| ​  ​      ​|<=>​|/​dev/​tty1|<​=>​|shell| | + | +-----+ ​ |  |  |Drivers| ​ ​|  ​|         ​| ​  ​| ​  |<=|==|=>​|/​dev/​tty1|<​=|=|=>​|shell| ​ 
- | |Ecran|<​-|--|--| vidéo |<​--|Emulateur| ​  | D |   ​|Drivers  ​+---------+ ​  ​+-----+ | + | |Ecran|<​-|--|--| vidéo |<-|--|Emulateur| ​  | D |    +---------+ ​ | |  ​+-----+ ​ 
- | +-----+ ​ |  |  +-------+ ​  ​|   ​de ​   |<=>| D |<=>      ​                      + | +-----+ ​ |  |  +-------+ ​ ​|  ​|   ​de ​   |<=>| D |   ​| ​              | |           ​
- ​|+-------+ |  |  +-------+ ​  ​|terminal |   | L |   ​|  ​TTY  |   +---------+ ​  ​+-----+ | + ​|+-------+ |  |  +-------+ ​ ​|  ​|terminal |   | L |  |  ​ ​+---------+ ​ | |  ​+-----+ ​ 
- ​||Clavier|-|--|->​|Drivers|-->​| ​        ​| ​  ​| ​  ​| ​  ​      ​|<=>​|/​dev/​tty2|<​=>​|shell| | + ​||Clavier|-|--|->​|Drivers|--|->​| ​        ​| ​  ​| ​  |<=|==|=>​|/​dev/​tty2|<​=|=|=>​|shell| ​ 
- ​|+-------+ |  |  |Clavier| ​  ​+---------+ ​  ​+---+ ​  ​+-------+ ​  ​+---------+ ​  ​+-----+ ​+ ​|+-------+ |  |  |Clavier| ​ ​|  ​+---------+ ​  ​+---+ ​ ​| ​ |  ​+---------+ ​ | |  ​+-----+ ​ | 
- +----------+ ​ ​| ​ ​+-------+ ​                                                        + +----------+ ​ ​|  ​+-------+ ​ +-----------------------+ ​ +---------------+ |           ​
-               ​+-----------------------------------------------------+----------------++               ​+----------------------------------------------------------+-----------+ 
 +Alice a ouvert deux terminaux virtuels, sur son PC, démarrant chacun un shell.
 DDL : Discipline de ligne DDL : Discipline de ligne
 </​file>​ </​file>​
Ligne 478: Ligne 506:
  
 <file config Deux terminaux fenêtre émulés par le processus xterm> <file config Deux terminaux fenêtre émulés par le processus xterm>
-               ​+--------------------------Logiciel-------------------------+ +               +---------------------------Logiciel--------------------------+ 
-               +-Espace-noyau-------------------------+-Espace-------------+ +               ​+--------------Espace-noyau--------------+-Espace-utilisateur-
-               ​| ​               +-------------+       ​       ​utilisateur | +               ​| ​               +------Drivers PTY----+ |                    | 
-               ​| ​               | Drivers PTY |       |                    | +               ​| ​               ​|  ​+-----esclave----+ | |                    | 
-               ​| ​               ​|  ​+-------+  |  +----------+ ​  ​+-----+ ​   +               ​| ​        ​+---+  ​| ​ ​| ​ +----------+ ​ | | |     +-------+ ​     
-               ​| ​                ​| ​      |<​=|=>​|/​dev/​pts/​0|<​=>​|shell| ​   +               ​| ​        ​  ​|<=|==|=>​|/​dev/​pts/​0|<​=|=|=|====>| shell |      |  
- +-Matériel-+ ​ ​| ​ +---+  +---+  |  |esclave ​|  ​+----------+ ​  ​+-----+    |  ​ +               |         ​| ​  ​| ​ |  ​| ​ +----------+  | | |     ​+-------+ ​     | 
- ​| ​+------+  ​| ​ ​| ​  |  ​|   ​| ​ |  | (PTS) |  |  +----------+ ​  ​+-----+ ​   + +-Matériel-+  |  +---+  | |  |  |  +----------+ ​ | | |     +-------+ ​     
- ​| ​|Souris|-|--|->|  | D |<=|=>|       |<=|=>​|/​dev/​pts/​1|<​=>​|shell| ​   + ​| ​+------+  ​| ​ |   |  | D |<​=|==|=>​|/​dev/​pts/​1|<​=|=|=|====>| shell |        ​ 
- ​| ​+------ |  | |  ​| D |  |  +-------+ ​ |  +----------+ ​  ​+-----+ ​   + ​| ​|Souris|-|--|->|  | |  |  |  +----------+ ​ | | |     +-------+      | 
- ​|+-------+ |  |  | I |  | |  |  +------+ ​  ​      ​|                    | + | +------+ ​|  |  | R |  |   ​|  |  ​+----------------+ ​| |                    ​
- ​||Clavier|-|--|->​| V |  |   ​|<​=|=>​|maitre| ​  ​      ​|            +-----+ | + ​|+-------+ |  |  | I |  |   ​|  |      +------+ ​      ​| |                    | 
- ​|+-------+ |  |  | E |  +---+  |  |(PTM) |<==|=======|===========>​| ​    | | + ​||Clavier|-|--|->​| V |  |   ​|<​=|=====>​|maitre| ​      ​| |            +-----+ | 
- | +-----+ ​ |  |  | R |         ​| ​ +------+ ​  ​      ​|  +-----+ ​  ​|xterm| | + ​|+-------+ |  |  | E |  +---+  |      |(PTM) |<======|=|===========>​| ​    | | 
- | |Ecran|<​-|--|--| S |         ​+-------------+ ​      ​|  |serv.|<​=>​| ​    | | + | +-----+ ​ |  |  | R |         ​| ​     +------+ ​      ​| |  +-----+ ​  ​|xterm| | 
- | +-----+ ​ |  |  |   ​|<​==============================|=>​| ​ X  |   ​+-----+ | + | |Ecran|<​-|--|--| S |         +---------------------+ |  |serv.|<​=>​| ​    | | 
- ​+----------+ ​ |  +---+                               ​|  +-----+ ​          | + | +-----+ ​ |  |  |   |<================================|=>​| ​ X  |   ​+-----+ | 
-               ​+--------------------------------------+--------------------+ + ​+----------+ ​ |  +---+                                 ​|  +-----+ ​          | 
-DDL Discipline de ligne+               +----------------------------------------+--------------------+ 
 +Alice à ouvert deux terminaux fenêtre sur son PC. 
 +DDL Discipline de ligne
 </​file>​ </​file>​
  
Ligne 538: Ligne 568:
  
 <file config Deux accès distants au shell sur un ordinateur hôte> <file config Deux accès distants au shell sur un ordinateur hôte>
-+---------------------Logiciel-------------------+ +                          Hôte 
-+--------Espace-noyau-----------+-Espace---------+ ++-----------------Logiciel-----------------------+ 
-|        +-------------+           utilisateur ​++----------Espace-noyau----------+--Espace-------+ 
-|        | Drivers PTY |        |                ​+|        +------Drivers-PTY----+ |  utilisateur ​ 
-|        |  +------+ ​  ​       |  +---------+ ​  ​+|        |  +------+ ​          ​| |  +---------+ ​ 
-|        |  |      |<==|========|=>​|sshd@pts0| ​  ​+|        |  |      |<​==========|=|=>​|sshd@pts0|<=|==//=> Alice 
-+---+  ​|  |maître| ​  ​       |  +---------+ ​  ​+       |  |maître| ​          ​| |  +---------+ ​ 
-|   ​| ​ ​| ​ |(PTM) |   ​       |  +---------+ ​  ​++---+  ​| ​ |(PTM) |           ​| |  +---------+ ​ 
-| | |<​=|=>​| ​     |<==|========|=>​|sshd@pts1| ​  ​+| |   ​|<​=|=>​| ​     |<​==========|=|=>​|sshd@pts1|<=|==//=> Bob 
-| | |  |  +------+ ​  ​       |  +---------+ ​  ​+| |   ​|  |  +------+ ​          ​| |  +---------+ ​ 
-| | |  |  +-------+  |  +----------+ ​  ​+-----+ | +| | |  |  +--Esclave-(PTS)-+ | |               | 
-| |   ​|<=|=>|       |<=|=>​|/​dev/​pts/​0|<​=>​|shell| | +| | D |  |  ​| ​ +----------+ ​ | | |    ​+-----+ ​   
-+---+  ​|  ​|esclave|  |  +----------+ ​  ​+-----+ | +| | |<​=|==|=>​|/​dev/​pts/​0|<​=|=|=|===>​|shell| ​   
-       |  ​| (PTS) |  |  +----------+ ​  ​+-----+ | +|   |  |  |  +----------+ ​ | | |    ​+-----+ ​   |  
-        ​| ​      |<​=|=>​|/​dev/​pts/​1|<​=>​|shell| | +|   |  |  |  +----------+ ​ | | |    ​+-----+ ​   
-       ​|  ​+-------+  |  +----------+ ​  ​+-----+ | +| |   ​|<=|==|=>​|/​dev/​pts/​1|<​=|=|=|===>​|shell| ​   
-|        +-------------+ ​                      +| +---+  |  +----------------+ ​| |    ​+-----+ ​   
-+-------------------------------+----------------+ +|        +---------------------+ |               ​
-DDL : Discipline++--------------------------------+---------------+ 
 +Alice et Bob se sont connectés à distance sur l'​hôte pour ouvrir un shell. 
 +DDL : Discipline ​de ligne 
 +PTM : Drivers PTY maître 
 +PTS : Drivers PTY esclave
 </​file>​ </​file>​
  
Ligne 565: Ligne 599:
  
 <file config Accès à distance via un terminal virtuel> <file config Accès à distance via un terminal virtuel>
-   PC local    ​+---------------------------Logiciel------------------------+ ​     +----------------Logiciel-----------------+            ​PC local--------------------Logiciel----------------------+ ​     ​ 
-               +---------------Espace-noyau---------------+----------------+      +-Espace----------+----Espace-noyau-------+ +               +------------------Espace-noyau--------------+-Espace--+                     PC distant 
- ​+-Matériel-+ ​ |  +---+                                   ​| ​               |      |      utilisateur| ​                      | + +-Matériel-+  |  +---+                                     | utilis. |    ​+------------- ---Logiciel----------------+ 
- | +-----+ ​ |  |  | D |   ​+---+ ​  ​+---+ ​  ​+-------+   +---------+   +---+  |       +----------+   ​| ​        +---+   +---+ | + | +-----+ ​ |  |  | D |   ​+---+ ​  ​+---+ ​ +---------------+ ​ |         ​   +-Espace---------+-----Espace-noyau-------+ 
- | |Ecran|<​-|--|--| R |   | L |   ​| ​  ​| ​  ​      ​|<=>|/dev/tty1|<=>|ssh|<​=|==//​==|=>​|sshd@pts42|<​==|========>​|PTM|<​=>​| ​  | | + | |Ecran|<​-|--|--| R |   | L |   ​| ​  ​| ​  ​Drivers TTY  ​         ​      ​utilisateur ​                       
- | +-----+ ​ |  |  | I |<--| i |   | D |   ​|Drivers| ​  +---------+ ​  ​+---+  |      |  +----------+ ​  ​        ​+---+   | D | + | +-----+ ​ |  |  | I |<--| i |   | D |   +---------+ ​ ​| ​ |  ​+---+  |    |  +----------+ ​     +-----+ ​     ​+---+ |     ​ 
- ​|+-------+ |  |  | V |   | n |<=>| D |<​=>​| ​      ​                     ​                     ​                ​| D | | + ​|+-------+ |  |  | V |   | n |<=>| D |<=|=>|/dev/tty1|<=|==|=>|ssh|<​=|=//​=|=>​|sshd@pts42|<​=|====>​| PTM |<​====>​| D | | 
- ​||Clavier|-|--|->​| E |   | u |   | L |    ​TTY ​ ​| ​       ​| ​   Espace ​    ​| ​     | +-----+ ​  ​+-----------+ ​  ​+---+   ​| | + ​||Clavier|-|--|->​| E |   | u |   | L |  |  +---------+ ​ ​| ​ |  ​+---+  |    |  +----------+ ​ ​| ​    +-----+      | | 
- ​|+-------+ |  |  | R |-->| x |   ​| ​  ​| ​  |       ​| ​       ​|               ​| ​     | |shell|<​=>​|/​dev/​pts/​42|<​=>​|PTS|<​=>​| ​  | | + ​|+-------+ |  |  | R |-->| x |   ​| ​  ​| ​ |               ​| ​         ​       +-----+ ​   ​ +----PTS----+   ​| L | | 
- ​+----------+ ​ |  | S |   ​+---+ ​  ​+---+ ​  ​+-------+ ​       |  ​utilisateur  ​     | +-----+ ​  ​+-----------+   +---+   +---+ | + ​+----------+ ​ |  | S |   ​+---+ ​  ​+---+ ​ +---------------+ ​ ​| ​        ​| ​   |     ​|shell|<​===|=>​|/​dev/​pts/​42|<​=>​| ​  | | 
-               |  ​+---+                                    |               ​| ​     |                 ​| ​                      | +               |  ​+---+                                             ​   ​| ​    +-----+ ​   ​|  ​+-----------+ ​  +---+ | 
-               +-------------------------------------------+---------------+ ​     +-----------------+-----------------------+ ​        ​ +               ​+--------------------------------------------+---------+ ​   +----------------+------------------------+ 
-Linux : Émulateur ​de terminal ​                                                                   ​PC distant+Bob utilise ssh depuis une console virtuelle, pour se connecter et ouvrir un shell distant, sur le PC d'​Alice. 
 +Linux : L'​émulateur ​de terminal ​du noyau                                                                    
 DDL : Discipline de ligne            DDL : Discipline de ligne           
 PTM : Drivers PTY maître PTM : Drivers PTY maître
 PTS : Drivers PTY esclave PTS : Drivers PTY esclave
- 
 </​file>​ </​file>​
  
Ligne 587: Ligne 621:
  
 <file config Accès à distance via un terminal fenêtre>​ <file config Accès à distance via un terminal fenêtre>​
-   PC local    ​+-----------------------Logiciel-----------------------+ ​     +------------------Logiciel-----------------+ +            ​PC local-----------------Logiciel-----------------------+ ​   +----------------Logiciel------------------+ 
-               ​+--------Espace-noyau-------------+-Espace-------------+ ​     +-Espace----------+-----Espace-noyau--------+ +               +----------Espace-noyau---------+-Espace-------------+ ​   +-Espace----------+------Espace-noyau------+ 
- ​+-Matériel-+ ​ |  +---+                          |     ​utilisateur ​   |      |      utilisateur| ​                        ​+ ​+-Matériel-+ ​ |  +---+                        |     ​utilisateur ​   |    |      utilisateur| ​                       
- | +------+ |  |  |   ​| ​ +---+   +-----+   ​+----------+   ​+---+       ​     |  +----------+ ​  ​| ​        ​+-----+ ​  ​+---+ | + | +------+ |  |  |   ​| ​ +---+   +---PTS----+  ​| ​      +---+           |  +----------+ ​  ​| ​    ​+-----+ ​     +---+ | 
- | |Souris|-|--|->​| D |  |   |<=>| PTS |<​=>​|/​dev/​pts/​0|<​=>​|ssh|<​======|==//==|=>​|sshd@pts42|<​==|========>| PTM |<​=>​| ​  ​| | + | |Souris|-|--|->​| D |  |   ​|<​=>​|/​dev/​pts/​0|<​=|======>​|ssh|<​=======|=//​=|=>​|sshd@pts42|<​==|====>​| PTM |<====>​| ​| | 
- | +------+ |  |  | R |  | D |   +-----+ ​  +----------+ ​  ​+---+       ​     |  +----------+ ​  ​| ​        ​+-----+ ​  ​| D | | + | +------+ |  |  | R |  | D |   ​+----------+ ​ ​| ​      +---+           |  +----------+ ​  ​| ​    ​+-----+ ​     | D | | 
- ​|+-------+ |  |  | I |  | D |                   ​|                    |                      ​                  ​| | + ​|+-------+ |  |  | I |  | D |                 ​|                    |        +-----+ ​     ​+----PTS----+ ​  | | 
- ​||Clavier|-|--|->​| V |  | L |   ​+-----+ ​        ​|            +-----+ |      +-----+ ​  ​+-----------+ ​  ​+-----+ ​  | | + ​||Clavier|-|--|->​| V |  | L |     ​+-----+ ​    ​|            +-----+ |        ​|shell|<​====|=>​|/​dev/​pts/​42|<​=>​| ​  | | 
- ​|+-------+ |  |  | E |  |   ​|<​=>​| PTM |<========|===========>​| ​    | |      | |shell|<​=>​|/​dev/​pts/​42|<​=>​| PTS |<​=>​| ​  ​+ ​|+-------+ |  |  | E |  |   |<===>| PTM |<​====|===========>​| ​    | |        +-----+ ​     ​+-----------+ ​  ​+---+ 
- | +-----+ ​ |  |  | R |  +---+   ​+-----+ ​        ​|  +-----+ ​  ​|xterm| |      ​| ​+-----+   +-----------+   +-----+   +---+ | + | +-----+ ​ |  |  | R |  +---+     ​+-----+ ​    ​|  +-----+ ​  ​|xterm| |    +-----------------+------------------------+ 
- | |Ecran|<​-|--|--| S |                          |  |serv.|<​=>​| ​    ​| ​|      |                 ​| ​                        + | |Ecran|<​-|--|--| S |                        |  |serv.|<​=>​| ​    | |  
- | +-----+ ​ |  |  |   |<=========================|=>​| ​ X  |   ​+-----+ |      ​+-----------------+-------------------------+ + | +-----+ ​ |  |  |   ​|<​=======================|=>​| ​ X  |   ​+-----+ |                    PC distant 
- ​+----------+ ​ |  +---+                          |  +-----+ ​          ​| ​                     PC distant + ​+----------+ ​ |  +---+                        |  +-----+ ​          | 
-               +---------------------------------+--------------------++               ​+-------------------------------+--------------------+ 
 +Bob utilise ssh depuis un terminal fenêtre, pour se connecter et ouvrir un shell distant, sur le PC d'​Alice.
 DDL : Discipline de ligne DDL : Discipline de ligne
 PTM : Drivers PTY maître PTM : Drivers PTY maître
-PTS : Drivers PTY esclave 
 </​file>​ </​file>​
 +
 +==== Les consoles graphiques ====
 +
 +Une **consoles graphique *** est une **console système graphique**.\\
 +Elle permet de communiquer avec l'​ordinateur depuis sont démarrage.\\
 +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.
 +
 +Une telle console affiche les messages du système et permet la communication entrante, depuis le démarrage de la machine virtuelle.\\
 +Une fois démarrée, elle permet d'​utiliser le système graphique.
 +
 +Les machines virtuelles sont vues comme des machines physiques distantes.\\
 +Pour qu'une console graphique (qui est locale) puisse communiquer avec une machine (virtuelle) distante, le réseau doit être utilisé.\\
 +Des projets comme
 +**VNC**((**VNC** est une suite logiciel historique, de type client/​serveur,​ qui permet l'​usage d'une console graphique connectée à système distant. Il a alors été développé un protocole réseau, qui établit, ​ la communication entre la console et la machine distante, par un flux graphique. [[https://​fr.wikipedia.org/​wiki/​VNC|(wikipedia)(fr) Virtual_Network_Computing]]))
 +ou
 +**SPICE**((**SPICE** est projet qui fourni une console graphique permettant d'​accéder à une machine virtuelle. La communication entre la console et la machine virtuelle est réalisée par un flux vidéo. [[https://​fr.wikipedia.org/​wiki/​SPICE_(protocole)|(wikipedia)(fr) SPICE (protocol)]] - [[http://​www.spice-space.org/​|(spice-space)(en)]]))
 +ont développés des protocoles réseaux, dont la console communique graphiquement avec la machine. ​
 +
 +  * **VNC** véhicule un flux graphique.
 +  * **SPICE** véhicule un flux vidéo.
 +
 +<​note>​Qui dit vidéo, dit graphisme et audio...\\
 +\\
 +LOL Pouvons-nous voir là, une //console système graphique audio// ?</​note>​
 +
 +----
 +
 +Un autre exemple de **console graphique** est celle que nous utilisons pour communiquer avec un BIOS graphique.
  
 ==== Les terminaux X ==== ==== Les terminaux X ====
Ligne 618: Ligne 682:
  
 <file config Accès à un ordinateur via un terminal X> <file config Accès à un ordinateur via un terminal X>
-                                           +------------------Logiciel---------------------+ +                                                       ​Ordinateur distant 
-          ​Terminal X                       +-Espace utilisateur--+-------Espace noyau------+ +          Terminal X                    ​+------------------Logiciel--------------------+ 
- +-Matériel-+  ​+------Logiciel------+ ​     ​| ​                    ​| ​                        | + +-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| |    ​Ordinateur ​          + | |Ecran|<​-|--|--| S |   ​|     ​| ​ |    |  |     ​|<​=>​|Clt. X| |                        
- | +-----+ ​ |  |  +---+    +-----+ ​ |      |  +-----+ ​  ​+------+ |                         ​+ | +-----+ ​ |  |  +---+   ​+-----+ ​ |    |  +-----+ ​  ​+------+ |                        
- ​+----------+ ​ +--------------------+ ​     +---------------------+-------------------------++ ​+----------+ ​ +-------------------+ ​   +---------------------+------------------------+ 
 +Depuis un terminal X, Alice se connecte à la machine distante, pour y exécuter un shell.
 DDL : Discipline de ligne DDL : Discipline de ligne
 PTM : Drivers PTY maître PTM : Drivers PTY maître
Ligne 653: Ligne 718:
 D'​autres permettent d'en afficher plusieurs à l'​écran ou dans une fenêtre. D'​autres permettent d'en afficher plusieurs à l'​écran ou dans une fenêtre.
  
-===== Tuto =====+===== T0 - Tutos, préparatifs ​=====
  
-Ce tuto propose un voyage initiatique dans le monde des terminaux GNU/​Linux.\\ +Voila le moment où nous devons expliquer ​par la pratique.
-Après la présentation de la variables d'​environnement **TERM** et de la commande **stty**, il mettra en évidences ​par la pratique ​la théorie donnée plus haut.+
  
-Dans ce tuto, nous utilisons les termes suivants : +==== Itinéraire ==== 
 + 
 +Cette suite de tutos propose un voyage initiatique dans le monde des terminaux GNU/​Linux. 
 + 
 +  * T0 - Tutos préparatifs 
 +    * Itinéraire :-) **nous sommes ici** 
 +    * Recommandations (conseil pour un meilleur confort) 
 +    * Conventions (qui est quoi et qui somme nous) 
 +    * **Sauvegarde du fichier** ''​~/​.bashrc''​ 
 +    * Usage de root 
 +  * [[#​t1-le-type-term|T1 - Le type $TERM]] 
 +    * Présentation de la variable d'​environnement TERM. 
 +    * Son usage dans le fichier ''​.bashrc''​ pour coloriser l'​invite de l'​interpréteur bash. 
 +  * [[#​t2-configuration-avec-stty|T2 - Configuration avec stty]] 
 +    * Manipulation de la configuration d'un terminal. 
 +  * [[#​t3-la-commande-tty|T3. La commande tty]] 
 +    * Retourne le chemin du fichier périphérique du terminal utilisé. 
 +    * **Modification du fichier** ''​~/​.bashrc''​ 
 +  * (A venir) [[#​t4-les-terminaux-virtuels|T4 - Les terminaux virtuels]] 
 +    * Premières approches 
 +    * Visualisation des processus et des fichiers périphériques,​ **Modification du fichier** ''​~/​.bashrc''​ 
 +    * Colorisation de l'​invite de bash, **Modification du fichier** ''​~/​.bashrc''​ 
 +    * Graphisme avec le framebuffer.  
 +  * (A venir) [[#​t5-les-terminaux-fenetres|T5 - Les terminaux fenêtres]] 
 +    * Visualisation des processus et des fichiers périphériques 
 +    * Redimensionnement du terminal 
 +    * Graphisme avec l’émulateur xterm. 
 +  * (A venir) [[#​t6-les-terminaux-connectes|T6 - Les terminaux connectés]] 
 +    * Visualisation des processus et des fichiers périphériques associés ;  
 +  * (A venir) [[#​t7-les_peripheriques-tty-et-tty0|T7 - Les périphériques tty et tty0]] 
 +    * Deux fichiers de périphérique spéciaux. 
 +  * (A venir) [[#​t8-Le_peripherique-console|T8 - Le périphérique console]] 
 +    * Le terminal du noyau. 
 +  * [[#​tx-retour-a-l-etat-initial|TX - Retour à l'​état initial]] 
 +    * Fin des tutos. Le système est remis à son état initial. 
 +    * **Restauration du fichier** ''​~/​.bashrc''​ 
 + 
 + 
 +==== Recommandations ==== 
 + 
 +Pour un confort pratique, nous conseillons de réaliser cette suite de tutos dans une machine virtuelle. 
 + 
 +Car nous allons utiliser des terminaux virtuels en ligne de commande.\\ 
 +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. 
 + 
 +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 ''​.bashrc''​.\\ 
 +LOL Mais, nous ne jouerons pas là dessus.\\ 
 + 
 +... Alors, nous le sauvegarderons tout même plus bas ^_^ 
 + 
 +==== Conventions ==== 
 +  
 +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 668: Ligne 791:
 |Avec **N**, le numéro du terminal (un décimal entier).||| |Avec **N**, le numéro du terminal (un décimal entier).|||
  
-Nous utilisons ici un PC nommé **pc24**, ​disposant d'un système Debian GNU/linux 11 (Bullseye).\\+---- 
 + 
 +Nous utilisons ici d'un PC disposant d'un système Debian GNU/linux 11 (Bullseye).\\
 Le bureau graphique **xfce4** y a été installé. Le bureau graphique **xfce4** y a été installé.
  
Ligne 674: Ligne 799:
 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é.
  
 <​note>​ <​note>​
-Les fichiers de configuration de bash de l'​utilisateur **DF**, n'ont pas été modifiés. +Les fichiers de configuration de bash de l'​utilisateur **DF**, n'ont pas été modifiés.\\ 
- +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+
-  * Et le fichier **~/​.bash_aliases**,​ n'​existe pas.+
 </​note>​ </​note>​
  
-<note warning> +==== Sauvegarde ==== 
-Au court de ce tuto, nous modifierons ​les fichiers ​:\\ + 
-\\ +Plusieurs fois, nous modifierons ​notre fichier ''​.bashrc'' ​
-  * **~/​.bashrc** afin de : + 
-    * Décommenter ​la variable ​de colorisation **force_color_prompt**+  * 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)
-    Modifier ​la variable ​de l'interpréteur **PS1** définissant ​l'invite ​de l'​interpréteur (le **prompt**). Pour y ajouter ​le nom du terminal utilisé+  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. 
-  * Nous ajouterons aussi 2 **alias** ​dans le fichier ​**~/.bash_aliases** pour nous simplifier 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''​.\\ 
 +Mais elles seraient appliquées qu'​à ​l'​interpréteur ​de commande de ce terminal ​(dans l'​interface où elles ont été exécutéeset ne le seraient pas pour les autres.\\ 
 +C'est pourquoi nous plaçons nos commandes ​dans le fichier ​''​.bashrc'', qui lui, est interprété à chaque démarrage interactif ​de bash.
  
 Ainsi ces modifications seront disponibles pour tous shells bash que nous exécuterons,​ lorsque nous ouvriront un nouveau terminal. Ainsi ces modifications seront disponibles pour tous shells bash que nous exécuterons,​ lorsque nous ouvriront un nouveau terminal.
  
-Nous allons doncsauvegarder ces deux fichiers, dans le répertoire **DF-tuto**,​ que nous créons dans notre répertoire personnel.\\ +<​note>​Avant de modifier le fichier ''​~/​.bashrc''​nous devons en réaliser une sauvegarde.\\ 
-Ainsi nous pourrons **les restaurer à la fin du tuto**.+Ainsi nous pourrons restaurer son état actuelà la fin de notre voyage.\\ 
 + 
 +Nous le copions simplement ​dans le répertoire **''​~/​DF-tuto''​**, que nous créons ​préalablement, ​dans le répertoire personnel ​de notre utilisateur.
 </​note>​ </​note>​
  
Ligne 705: Ligne 834:
 # Copie du fichier .bashrc dans DF-tuto # Copie du fichier .bashrc dans DF-tuto
 cp -v .bashrc DF-tuto cp -v .bashrc DF-tuto
- 
-# Si pour votre utilisateur,​ le fichier .bash_aliases existe, copie le dans DF-tuto 
-[ -f .bash_aliases ] && cp -v .bash_aliases DF-tuto 
 </​code><​code>​ </​code><​code>​
 mkdir: création du répertoire '​DF-tuto'​ mkdir: création du répertoire '​DF-tuto'​
Ligne 714: Ligne 840:
  
 Voila qui est bien fait ;-) Voila qui est bien fait ;-)
 +
 +==== Root ====
  
 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 installerons aussi des programmes avec la commande **apt-get**((La commande **[[doc:​systeme:​apt:​apt-get|apt-get]]** permet d'​installer,​ supprimer ou mettre à jour les programmes d'un système Debian GNU/​Linux.)) pour montrer les capacités graphique des terminaux.\\ +Le mot de passe root doit donc être connu.
-Seront installés : +
- +
-  * **Fbi** un visualiseur d'​image pour terminal virtuel. +
-  * **Imagemagick** pour convertir les formats d'​images. +
-  * Et les lecteurs multi-médias **mplayer** et **vlc**, pour lire des vidéos. +
- +
-Ces programmes seront supprimés à la fin du tuto. +
- +
-Pour installer correctement des programmes, il nous est recommandé, ​de mettre à jour le système. +
- +
-<code root> +
-apt-get update && apt-get upgrade +
-</​code>​+
  
-==== Le type $TERM ====+=====T1 - Le type $TERM =====
  
 La variable d'​environnement **TERM** contient le type du terminal utilisé. La variable d'​environnement **TERM** contient le type du terminal utilisé.
Ligne 976: Ligne 1091:
 Sinon, il est définit sans. Sinon, il est définit sans.
  
-==== Configuration avec stty ====+===== T2 - Configuration avec stty =====
  
 La commande **stty** (set tty) permet d'​afficher ou de modifier la configuration d'un terminal. La commande **stty** (set tty) permet d'​afficher ou de modifier la configuration d'un terminal.
Ligne 1282: Ligne 1397:
 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.1686737420.txt.gz · Dernière modification: 14/06/2023 12:10 par agp91

Pied de page des forums

Propulsé par FluxBB