Ce livre présente les méthodes de programmation dans l'environnement Linux, y compris les commandes système Linux, les scripts Shell, les langages de programmation (gawk, Perl), le noyau système, le système de sécurité, X Window, etc. Il est riche en contenu et complet en discussion. , couvrant tous les aspects du système Linux. Le CD fourni avec ce livre comprend la dernière version du système RedHat Linux et la méthode d'installation, ainsi qu'une grande quantité de code de programme dans ce livre, ce qui facilite grandement les lecteurs et fournit une référence complète aux techniciens qui utilisent et utiliseront. Systèmes Linux.
Table des matières Préface Chapitre 1 Introduction au système Linux Chapitre 1 Introduction à Linux…1
1.1 L'origine de Linux 1
1.2 Le projet GNU 1 de la Free Software Foundation
1.3 Prononciation Linux 2
1.4 Fonctionnalités de Linux 2
1.5 Configuration matérielle de base requise 3
1.6 Comment obtenir Linux 3
1.6.1 Télécharger Linux 3 depuis Internet
1.6.2 Obtention de Linux 3 à partir du CD
1.7 Sites Web et groupes de discussion d'actualités liés à Linux 6
1.8 Inconvénients de Linux 7
Chapitre 2 Shell et commandes communes 8
2.1 Connexion et déconnexion8
2.2 Shell du système Linux 8
2.3 Commandes shell courantes 9
2.3.1 Modifier le mot de passe du compte 9
2.3.2 Aide en ligne 9
2.3.3 Connexion à distance 9
2.3.4 Traitement de fichiers ou de répertoires 9
2.3.5 Changer le répertoire de travail 10
2.3.6 Copier le fichier 10
2.3.7 Déplacer ou modifier les noms de fichiers et de répertoires 10
2.3.8 Créer un nouveau répertoire10
2.3.9 Supprimer le répertoire 11
2.3.10 Supprimer des fichiers 11
2.3.11 Répertorier l'emplacement actuel du répertoire 11
2.3.12 Afficher le contenu du fichier 11
2.3.13 Afficher le contenu du fichier par page 11
2.3.14 Vérifier l'espace disque occupé par le répertoire 11
2.3.15 Transfert de fichiers 11
2.3.16 Définition des autorisations de fichiers 12
2.3.17 Vérifiez le nom du groupe de travail auquel vous appartenez13
2.3.18 Modification de la propriété d'un groupe de travail sur un fichier ou un répertoire 13
2.3.19 Modifier l'heure de la dernière modification d'un fichier ou d'un répertoire13
2.3.20 Liens vers les fichiers 13
2.3.21 Recherche de chaînes dans les fichiers 14
2.3.22 Rechercher le chemin d'un fichier ou d'une commande 14
2.3.23 Comparaison du contenu de fichiers ou de répertoires14
2.3.24 Impression du fichier 14
2.3.25 Impression des documents généraux 14
2.3.26 Impression des fichiers troff 14
2.3.27 Commande de contrôle de l'imprimante 14
2.3.28 Contrôle du processus 15
2.3.29 Variable shell 16
2.3.30 Variables d'environnement 16
2.3.31 Alias 16
2.3.32 Commandes historiques 17
2.3.33 Compression de fichiers 17
2.3.34 Utilisation des commandes pipeline 17
2.3.35 Contrôle des entrées/sorties 18
2.3.36 Afficher les utilisateurs dans le système 18
2.3.37 Changer le nom d'utilisateur18
2.3.38 Afficher le nom d'utilisateur 18
2.3.39 Afficher les utilisateurs de tous les postes de travail sur le système actuel 19
2.3.40 Discuter avec un utilisateur sur un poste de travail 19
2.3.41 Vérifier si le système distant est normal 19
2.3.42 Introduction à l'utilisation du courrier électronique 19
Chapitre 3 Fonctions réseau des systèmes Linux 21
3.1 Protocoles réseau pris en charge par Linux 21
3.1.1 TCP/IP 21
3.1.2 TCP/IP version 6 21
3.1.3 IPX/SPX21
3.1.4 Suite de protocoles AppleTalk 21
3.1.5 Réseau étendu 22
3.1.6 RNIS 22
3.1.7 PPP, SLIP et PLIP 22
3.1.8 Radioamateurisme 22
3.1.9 GAB 22
3.2 Partage de fichiers et partage d'impression sous système Linux 22
3.2.1 Environnement Machintosh 22
3.2.2 Environnement Windows 22
3.2.3 Environnement Novell 23
3.2.4 Environnement UNIX 23
3.3 Fonctions Internet/Intranet dans les systèmes Linux 23
3.3.1 Courriel 23
3.3.2 Serveur Web 24
3.3.3 Navigateur Internet 24
3.3.4 Serveur FTP et client 24
3.3.5 Service de nouvelles 24
3.3.6 Système de noms de domaine 24
3.3.7 DHCP et démarrage 24
3.3.8 24 NSI
3.4 Exécution à distance d'applications sous système Linux 24
3.4.1 Telnet 25
3.4.2 Commandes à distance 25
3.4.3 Fenêtre X 25
3.5 Fonction d'interconnexion réseau du système Linux 25
3.5.1 Routeur 25
3.5.2 Pont 25
3.5.3 Masquage IP 25
3.5.4 Statistiques IP 26
3.5.5 Alias IP 26
3.5.6 Limiteur de débit 26
3.5.7 Pare-feu 26
3.5.8 Téléchargement de ports 26
3.5.9 Équilibrage de charge 26
3.5.10 EQL 27
3.5.11 Serveur proxy 27
3.5.12 Appel à la demande 27
3.5.13 Pipes, IP mobile et réseaux personnels virtuels 27
3.6 Gestion du réseau dans les systèmes Linux 27
3.6.1 Applications de gestion de réseau sous système Linux 27
3.6.2 SNMP28
3.7 Réseau Linux d'entreprise 28
3.7.1 Haute disponibilité 28
3.7.2 RAID28
3.7.3 Réseaux redondants 28
Chapitre 4 Introduction à la gestion du système Linux 29
4.1 compte racine 29
4.2 Démarrage et arrêt du système 29
4.2.1 Démarrage à partir d'une disquette 29
4.2.2 Démarrer avec LILO 29
4.2.3 Arrêter le système Linux 30
4.3 Montage du système de fichiers 30
4.3.1 Monter la disquette 30
4.3.2 Création d'un nouveau système de fichiers 30
4.3.3 Démontage du système de fichiers 31
4.4 Vérification du système de fichiers 31
4.5 Utiliser des fichiers comme zones d'échange 31
4.6 Sauvegarde du système et des fichiers 32
4.7 Configuration du système 33
4.7.1 Définir le nom du système 33
4.7.2 Utilisation du disque de maintenance 33
4.7.3 Réinitialiser le mot de passe du compte root 33
4.7.4 Définir les informations de connexion 33
Partie 2 Langage de haut niveau Linux et programmation de gestion Chapitre 5 Programmation Shell 35
5.1 Création et exécution de shells 35
5.1.1 Création d'un shell 35
5.1.2 Exécution du shell 35
5.2 Utilisation des variables shell36
5.2.1 Affectation de valeurs aux variables 36
5.2.2 Lecture de la valeur d'une variable 37
5.2.3 Variables de position et autres variables système 37
5.2.4 Le rôle des guillemets 37
5.3 Commandes de fonctionnement numérique 38
5.4 Expression conditionnelle 40
5.4.1 si expression 40
5.4.2 expression de cas 41
5.5 Instruction de boucle 42
5.5.1 pour l'énoncé 43
5.5.2 instruction while 43
5.5.3 jusqu'à l'instruction 44
5.6 commande de changement de vitesse 44
5.7 instruction de sélection 45
5.8 répéter la déclaration 46
5.9 Sous-fonction 46
Chapitre 6 Programmation en langage gawk 48
6.1 Principales fonctions de gawk 48
6.2 Comment exécuter le programme gawk 48
6.3 Fichiers, enregistrements et champs 48
6.4 Modèles et actions 49
6.5 Opérations de comparaison et opérations numériques 50
6.6 Fonctions internes 50
6.6.1 Nombres aléatoires et fonctions mathématiques 51
6.6.2 Fonctions internes des chaînes 51
6.6.3 Fonctions internes d'entrée et de sortie 52
6.7 Chaînes et nombres52
6.8 Sortie formatée 52
6.9 Changer les séparateurs de champs 54
6.10 Métacaractères 54
6.11 Appeler le programme gawk 55
6.12 DÉBUT et FIN 55
6.13 Variable 56
6.14 Variables intégrées 56
6.15 Structure de contrôle 57
6.15.1 si expression 57
6.15.2 boucle while 57
6.15.3 pour la boucle 58
6.15.4 suivant et sortie 58
6.16 Tableau 58
6.17 Fonctions définies par l'utilisateur 58
6.18 Plusieurs exemples 59
Chapitre 7 Programmation en langage Perl 60
7.1 Qu'est-ce que Perl 60
7.2 État actuel de Perl 60
7.3 Premier essai avec Perl 60
7.4 Variables Perl 60
7.4.1 Scalaire 60
7.4.2 Tableau 63
7.4.3 Tableaux associés 65
7.5 Descripteurs de fichiers et opérations sur les fichiers 65
7.6 Structure de boucle 66
7.6.1 boucle foreach 66
7.6.2 Opération de jugement 66
7.6.3 pour la boucle 67
7.6.4 Boucles while et jusqu'à ce que 67
7.7 Structure conditionnelle 67
7.8 Correspondance des caractères 68
7.9 Remplacement et traduction 69
7.9.1 Remplacement 69
7.9.2 Traduction 70
7.10 Sous-processus 70
7.10.1 Définition du sous-processus 70
7.10.2 Paramètre 70
7.10.3 Valeur de retour 70
7.11 Exemple complet d'un programme Perl 71
Partie 3 Analyse du noyau du système Linux Chapitre 8 Introduction au noyau Linux 73
8.1 Initialisation du système 73
8.2 Fonctionnement du système 73
8.3 Divers appels système fournis par le noyau 74
8.3.1 Concepts de base des processus et structures de données de base du système 74
8.3.2 Création et destruction de processus 74
8.3.3 Exécution du programme 74
8.4 Accès aux systèmes de fichiers 75
Chapitre 9 Processus système 76
9.1 Qu'est-ce qu'un processus 76
9.2 Structure des processus 76
9.3 Planification des processus 78
9.4 Fichiers utilisés par les processus 79
9.5 Mémoire virtuelle utilisée par les processus 80
9.6 Création de processus 81
9.7 Temps de traitement et minuteries 81
9.7.1 Horloge temps réel 81
9.7.2 Horloge virtuelle 81
9.7.3 Horloge d'images 81
9.8 Exécution du programme 82
9.8.1 Fichiers ELF 82
9.8.2 Fichiers de scripts 82
Chapitre 10 Gestion de la mémoire 83
10.1 Le rôle de la gestion de la mémoire 83
10.2 Modèle abstrait de mémoire virtuelle 83
10.3 Chargement de pages à la demande 84
10.4 Échange 85
10.5 Mémoire virtuelle partagée 85
10.6 Contrôle d'accès 85
10.7 Mise en cache 86
10.7.1 Cache tampon 86
10.7.2 Cache des pages 86
10.7.3 Cache d'échange 86
10.7.4 Cache matériel 86
10.8 Tableau des pages système 86
10.9 Allocation et désallocation de pages 87
10.9.1 Attribution des pages 88
10.9.2 Libération des pages 88
10.10 Mappage mémoire 88
10.11 Demande de pagination 89
10.12 Mise en cache des pages 89
10.13 Démon d'échange de noyau 90
Chapitre 11 Communication interprocessus 91
11.1 Mécanisme de signalisation 91
11.2 Mécanisme de pipeline 92
11.3 Mécanisme IPC du Système V 93
11.3.1 File d'attente des messages 93
11.3.2 Sémaphores 94
11.3.3 Mémoire partagée 96
Chapitre 12 PCI 98
12.1 Système PCI 98
12.2 Espace d'adressage PCI 98
12.3 En-tête de configuration PCI 99
12.4 E/S PCI et adresse mémoire PCI 100
12.5 Pont PCI-ISA 100
12.6 Pont PCI-PCI 100
12.7 Initialisation PCI 101
12.7.1 Structure des données du noyau du système Linux liée à PCI 101
12.7.2 Pilotes de périphériques PCI 102
12.7.3 Fonctions du BIOS PCI 105
12.7.4 Correction PCI 105
Chapitre 13 Interruptions et gestion des interruptions 106
13.1 Interruptions 106
13.2 Contrôleur d'interruption programmable 106
13.3 Initialisation de la structure de données pour le traitement des interruptions 107
13.4 Traitement des interruptions 108
Chapitre 14 Pilotes de périphérique 109
14.1 Gestion des périphériques matériels 109
14.2 Interrogation et interruptions 110
14.3 Accès direct à la mémoire 110
14.4 Mémoire 111
14.5 Interface entre le pilote de périphérique et le noyau 111
14.5.1 Dispositifs de caractères 112
14.5.2 Bloquer des appareils 113
14.6 Disque dur 113
14.6.1 Disque dur IDE 115
14.6.2 Initialisation du sous-système de disque dur IDE 115
14.6.3 Disque dur SCSI 115
14.6.4 Initialisation du sous-système de disque SCSI 116
14.6.5 Transmission des requêtes de périphérique de blocage 118
14.7 Équipements réseau 118
14.7.1 Nom du fichier du périphérique réseau 118
14.7.2 Informations sur les bus 118
14.7.3 Balises d'interface réseau 119
14.7.4 Informations sur le protocole 119
14.7.5 Initialisation des périphériques réseau 119
Chapitre 15 Systèmes de fichiers 121
15.1 Présentation du système de fichiers Linux 121
15.2 Système de fichiers ext2 122
15.2.1 Nœud d'index de ext2 122
15.2.2 superbloc ext2 124
15.2.3 Descripteur de groupe de blocs de données ext2 124
15.2.4 Répertoires dans ext2 125
15.2.5 Recherche de fichiers dans un système de fichiers ext2 125
15.2.6 Modification de la taille des fichiers dans le système de fichiers ext2 126
15.3 VFS127
15.3.1 Superbloc VFS 128
15.3.2 Inode VFS 129
15.3.3 Enregistrement du système de fichiers 129
15.3.4 Montage du système de fichiers 130
15.3.5 Recherche de fichiers dans VFS 131
15.3.6 Annuler un système de fichiers 131
15.3.7 Cache d'inodes VFS 132
15.3.8 Mise en cache du répertoire VFS 132
15.4 Mise en cache du tampon 133
15.5 /proc système de fichiers 135
Chapitre 16 Systèmes de réseau 136
16.1 Introduction au réseau TCP/IP 136
16.2 Superposition de réseaux TCP/IP 137
16.3 Prises BSD 138
16.4 Couche de socket INET 140
16.4.1 Création d'un socket BSD 141
16.4.2 Spécification d'une adresse pour le socket INET BSD 141
16.4.3 Création de connexions sur les sockets INET BSD 142
16.4.4 Ecoute sur le socket INET BSD 142
16.4.5 Réception des demandes de connexion 143
16.5 Couche IP 143
16.5.1 Tampon de socket 143
16.5.2 Réception de paquets IP 144
16.5.3 Envoi de paquets IP 144
16.5.4 Fragmentation des données 144
16.6 Protocole de résolution d'adresse 145
Chapitre 17 Mécanisme du noyau système 147
17.1 Traitement de la moitié inférieure 147
17.2 File d'attente des tâches 148
17.3 Minuteries 149
17.4 File d'attente 149
17.5 Sémaphore 150
Partie 4 Programmation avancée des systèmes Linux Chapitre 18 Programmation du module du noyau Linux 151
18.1 Un programme simple Hello World 151
18.2 Fichiers de l'appareil 152
18.3 Système de fichiers /proc 156
18.4 Utilisation de /proc pour saisir 158
18.5 Communication avec les fichiers de l'appareil 162
18.6 Paramètres de démarrage 169
18.7 Appels système 170
18.8 Processus de blocage 172
18.9 Remplacement de printk 177
18.10 Planification des tâches 178
Chapitre 19 Programmation pour la communication de processus 181
19.1 Introduction à la communication inter-processus 181
19.2 Tuyaux UNIX semi-duplex 181
19.2.1 Notions de base 181
19.2.2 Création de pipelines en langage C 182
19.2.3 Une manière simple de créer un pipeline 185
19.2.4 Automatisation par canalisations 187
19.2.5 Points à noter lors de l'utilisation de tuyaux semi-duplex 188
19.3 Tubes nommés 188
19.3.1 Notions de base 188
19.3.2 Création du FIFO 188
19.3.3 Fonctionnement FIFO 189
19.3.4 Blocage FIFO 190
19.3.5 Signal SIGPIPE 190
19.4 Système V IPC 190
19.4.1 Concepts de base 190
19.4.2 Concepts de base de la file d'attente de messages 191
19.4.3 Appel système msgget() 194
19.4.4 Appel système msgsnd() 195
19.4.5 Appel système msgctl() 197
19.4.6 Une instance de msgtool 199
19.5 Programmation avec des sémaphores 201
19.5.1 Notions de base 201
19.5.2 Appel système semget() 202
19.5.3 Appel système semop() 203
19.5.4 Appel système semctl() 204
19.5.5 Exemples d'utilisation d'ensembles de sémaphores : semtool 205
19.6 Mémoire partagée 209
19.6.1 Notions de base 209
19.6.2 Structure des données utilisateur internes du système
shmid_ds 209
19.6.3 Appel système shmget() 210
19.6.4 Appel système shmat() 211
19.6.5 Appel système shmctl() 211
19.6.6 Appel système shmdt() 212
19.6.7 Exemples d'utilisation de la mémoire partagée : shmtool 212
Chapitre 20 Programmation threadée avancée 215
20.1 Le concept et l'utilisation des threads 215
20.2 Un exemple simple 215
20.3 Synchronisation des threads 217
20.4 Utilisation du coordinateur de sémaphore 218
20.5 Implémentation du sémaphore 220
20.5.1 Sémaphore.h 220
20.5.2 Sémaphore.c 221
Chapitre 21 Programmation réseau du système Linux 225
21.1 Qu'est-ce qu'une prise 225
21.2 Deux types de prises Internet 225
21.3 Superposition de protocoles réseau 225
21.4 Structures de données 225
21.5 Adresses IP et comment elles sont utilisées 226
21.5.1 socket() 226
21.5.2 liaison() 226
21.5.3 connecter() 227
21.5.4 écouter() 228
21.5.5 accepter() 228
21.5.6 send() et recv() 229
21.5.7 sendto() et recvfrom() 230
21.5.8 close() et shutdown() 230
21.5.9 getpeername() 231
21.5.10 gethostname() 231
21.6DNS231
21.7 Modèle client/serveur 232
21.8 Programme serveur de streaming de données simple 232
21.9 Un programme client de streaming simple 234
21.10 Prise de datagramme 235
21.11 Blocage 237
Chapitre 22 Programmation des ports d'E/S Linux 240
22.1 Comment utiliser le port E/S 240 en langage C
22.1.1 Méthodes générales 240
22.1.2 Autre alternative : /dev/port 241
22.2 Alarmes matérielles et accès DMA 241
22.3 Heure très précise 241
22.3.1 Temporisation 241
22.3.2 Mesure du temps 243
22.4 Utilisation d'autres langages de programmation 243
22.5 Quelques ports d'E/S utiles 243
22.5.1 Port parallèle 243
22.5.2 Port de jeu 244
22.5.3 Port série 245
Partie 5 Analyse de la sécurité du système Linux Chapitre 23 Sécurité de l'administrateur système 247
23.1 Gestion de la sécurité 247
23.2 Super utilisateur 247
23.3 Sécurité du système de fichiers 247
23.3.1 Présentation du système de fichiers Linux 247
23.3.2 Fichiers de l'appareil 248
23.3.3 Commande /etc/mknod 249
23.3.4 Considérations de sécurité 249
23.3.5 commande de recherche 250
23.3.6 programme sécurisé 250
23.3.7 Commande ncheck 250
23.3.8 Installation et suppression de systèmes de fichiers 250
23.3.9 Répertoires et fichiers système 251
23.4 Programmes exécutés en tant que root 251
23.4.1 Démarrage du système 251
23.4.2 processus d'initialisation 251
23.4.3 Entrée multi-utilisateurs 252
23.4.4 commande d'arrêt 252
23.4.5 Programme cron du système V 252
23.4.6 programmes cron après System V version 252
23.4.7 /etc/profil 253
23.5 Fichier /etc/passwd 253
23.5.1 Vieillissement du mot de passe 253
23.5.2 UID et GID 254
23.6 Fichier /etc/group 254
23.7 Ajouter, supprimer et déplacer des utilisateurs 254
23.7.1 Ajout d'utilisateurs 254
23.7.2 Supprimer un utilisateur 255
23.7.3 Déplacement des utilisateurs vers un autre système 255
23.8 Contrôle de sécurité 255
23.8.1 Comptabilité 255
23.8.2 Autres commandes de contrôle 256
23.8.3 Problèmes liés aux procédures d'inspection de sécurité 256
23.8.4 Que faire en cas de fuite du système 257
23.9 Environnements restreints 258
23.9.1 Enclos restreints 258
23.9.2 Utiliser chroot() pour restreindre les utilisateurs 258
23.10 Sécurité des petits systèmes 259
23.11 Sécurité physique 259
23.12 Sensibilisation des utilisateurs 260
23.13 Sensibilisation de l'administrateur système 261
23.13.1 Assurer la sécurité des connexions personnelles des administrateurs système 261
23.13.2 Assurer la sécurité des systèmes 261
Chapitre 24 Sécurité du programmeur système 263
24.1 Sous-programmes système 263
24.1.1 Sous-programmes d'E/S 263
24.1.2 Contrôle du processus 263
24.1.3 Attributs du fichier 264
24.1.4 Traitement des UID et GID 265
24.2 Bibliothèque C standard 265
24.2.1 E/S standard 265
24.2.2 Traitement de /etc/passwd 266
24.2.3 Traitement /etc/group 267
24.2.4 Sous-programme de chiffrement 268
24.2.5 Exécution du shell 268
24.3 Ecriture de programmes C sécurisés 268
24.3.1 Problèmes de sécurité à prendre en compte268
24.3.2 Lignes directrices du programme SUID/SGID 269
24.3.3 Méthodes de compilation et d'installation des programmes SUID/SGID 269
24.4 Conception du programme utilisateur root 270
Chapitre 25 Sécurité réseau des systèmes Linux 272
25.1 Présentation du système UUCP 272
25.1.1 Commandes UUCP 272
25.1.2 Commandes uux 272
25.1.3 Programme uucico 273
25.1.4 Programme uuxqt 273
25.2 Problèmes de sécurité de l'UUCP 273
25.2.1 Fichier USERFIL 273
25.2.2 Fichier L.cmds 274
25.2.3 Connexion uucp 274
25.2.4 Fichiers et répertoires utilisés par uucp 274
25.3 HONEYDANBER UUCP 275
25.3.1 Différences entre HONEYDANBER UUCP et l'ancienne UUCP 275
25.3.2 Règles relatives au nom de connexion 276
25.3.3 Règles MACHINES 277
25.3.4 Combinaison de MACHINE et LOGNAME
Règle 278
25.3.5 Commande uucheck 278
25.3.6 Passerelle 278
25.3.7 Vérification du fichier de connexion 279
25.4 Autres réseaux 279
25.4.1 Connexion au travail à distance 279
25.4.2 Système de réseau NSC 280
25.5 Sécurité des communications 280
25.5.1 Sécurité physique 280
25.5.2 Chiffrement 281
25.5.3 Authentification de l'identité de l'utilisateur 282
25.6 Sécurité du réseau du système SUN OS 283
25.6.1 Sécurisation de NFS 283
25.6.2 Failles de sécurité NFS 284
25.6.3 Authentification des appels de procédure distante 284
25.6.4 Mécanisme d'authentification Linux 284
25.6.5 Système d'authentification DES 285
25.6.6 Encodage des mots-clés publics 286
25.6.7 Nommer les entités du réseau 286
25.6.8 Application du système d'identification DES 287
25.6.9 Problèmes de sécurité restants 287
25.6.10 Performances 288
25.6.11 Problèmes causés par les programmes de démarrage et setuid 288
25.6.12 Résumé 289
Chapitre 26 Sécurité des utilisateurs des systèmes Linux 290
26.1 Sécurité par mot de passe 290
26.2 Autorisations de fichiers 290
26.3 Licence d'annuaire 291
26.4 Commande umask 291
26.5 Définir les autorisations de l'ID utilisateur et de l'ID utilisateur de groupe 291
26.6 Commandes cp mv ln et cpio 291
26.7 Commandes su et newgrp 292
26.7.1 commande su 292
26.7.2 Commande newgrp 292
26.8 Cryptage de fichiers 292
26.9 Autres problèmes de sécurité 293
26.9.1 Fichier .profile de l'utilisateur 293
26.9.2 ls-a 293
26.9.3 Fichiers .exrc 293
26.9.4 Fichiers et répertoires temporaires 293
26.9.5 UUCP et autres réseaux 293
26.9.6 Cheval de Troie 294
26.9.7 Leurre 294
26.9.8 Virus informatiques 294
26.9.9 Pour quitter le terminal où vous êtes connecté294
26.9.10 Terminal intelligent 294
26.9.11 Déconnexion du système 294
26.9.12 commande cu 295
26.10 Conseils pour sécuriser votre compte 295
Sixième partie : Structure interne et utilisation du système X Window Chapitre 27 Connaissance de base du système X Window 297
27.1 Introduction au système X Window 297
27.1.1 Caractéristiques du X 297
27.1.2 Qu'est-ce qu'un système de fenêtres 298
27.1.3 Historique du développement de X 299
27.1.4 Produit de X 299
27.1.5 X 299 publié par le MIT
27.2 Structure de base du X 302
27.2.1 Éléments de base de X 303
27.2.2 Comment les programmes de service et les programmes clients interagissent et communiquent 304
27.2.3 Présentation du réseau X 306
27.3 Vue d'ensemble de X 307 du point de vue de l'interface utilisateur
27.3.1 Interface de gestion : Gestionnaire de fenêtres 307
27.3.2 Interfaces applicatives et boîtes à outils 309
27.3.3 Autres perspectives du système 309
27.4 Terminologie et notation 310
27.4.1 Terminologie 310
27.4.2 Symboles 311
27.5 Démarrage et arrêt du X 312
27.5.1 Démarrage de X 312
27.5.2 Façons d'exécuter un programme X 313
27.5.3 Fermer X 314
27.6 Notions de base du gestionnaire de fenêtres—uwm 315
27.6.1 Qu'est-ce qu'un gestionnaire de fenêtres315
27.6.2 Démarrage de l'uwm 315
27.6.3 Opérations de base sur les fenêtres—uwm
Menu 315
27.6.4 Déplacement des fenêtres 316
27.6.5 Redimensionner les fenêtres 316
27.6.6 Création d'une nouvelle fenêtre 316
27.6.7 Gestion de l'espace écran 318
27.6.8 Abandon des fenêtres d'application 320
27.6.9 Autres façons d'activer le menu uwm 320
27.7 Périphériques réseau utilisant x 320
27.7.1 Spécifier le terminal distant—affichage
Option 321
27.7.2 Utilisation pratique des afficheurs déportés 322
27.7.3 Contrôle des moniteurs d'accès—xhost 322
27.8 Émulateur de terminal – introduction détaillée à xterm 323
27.8.1 Sélection des fonctions xterm—options de menu et de ligne de commande 323
27.8.2 Défilement de l'écran xterm 324
27.8.3 Enregistrement du processus d'interaction avec le terminal – rédaction d'enregistrements 325
27.8.4 Couper le texte 325
27.8.5 Utilisation des fonctions de simulation de Tektronix 326
27.8.6 Utilisation de différentes polices 327
27.8.7 Utilisation de la couleur 327
27.8.8 Autres options xterm 327
27.8.9 Configuration du clavier du terminal 328
Chapitre 28 Utilitaires et outils 329
28.1 Utilitaires 329
28.2 Sauvegarde, affichage et impression d'images d'écran 330
28.3 Applications utilisant X 332
28.3.1 Éditeur de texte—Xedit 333
28.3.2 Systèmes de messagerie/courrier—xmh 336
28.4 Exemples et programmes de jeu 336
28.4.1 Trouver un chemin à travers un labyrinthe aléatoire – labyrinthe 336
28.4.2 Le grand œil qui sert de pointeur de la souris—
yeux x 336
28.4.3 Jeu de société de sagesse – puzzle 337
28.4.4 Imprimer un grand logo X—xlogo 337
28.4.5 Polyèdre sautant—ico 337
28.4.6 Motifs géométriques dynamiques – muncher et
plaid 337
28.7 Programmes d'affichage des informations et de l'état 337
28.7.1 Répertorier les caractéristiques des programmes de service X—
xdpyinfo 338
28.7.2 Obtenir des informations sur une fenêtre 338
28.7.3 Observer l'événement de X—xev 340
Chapitre 29 Personnalisation du système X Window 341
29.1 Utiliser les polices et les couleurs X 341
29.1.1 Polices préliminaires 341
29.1.2 Dénomination des polices 342
29.1.3 Observer le contenu d'une police spécifique—xfd 343
29.1.4 Sauvegarde des polices et des positions 343
29.1.5 Exemple : Ajouter une nouvelle police à votre programme de service 345
29.1.6 Utilisation de la couleur de X 346
29.2 Définir et utiliser des graphiques 347
29.2.1 Bibliothèque graphique du système 347
29.2.2 Édition de graphiques interactifs—bitmap 347
29.2.3 Autres façons d'éditer des graphiques 349
29.2.4 Personnalisation de la fenêtre racine—xsetroot 349
29.3 Définition des options par défaut de l'application—
Ressources 350
29.3.1 Que sont les ressources350
29.3.2 XToolkit 351
29.3.3 Gestion des ressources—Resource Manager 353
29.3.4 Types de ressources : comment spécifier des valeurs 358
29.4 Utilisation réelle des ressources 359
29.4.1 Où enregistrer les valeurs par défaut des ressources 359
29.4.2 Sauvegarde des valeurs par défaut sur les programmes de service—
xrdb363
29.4.3 Bogues et correctifs courants 366
29.5 Personnalisation du clavier et de la souris 367
29.5.1 Utilisation pratique des conversions 368
29.5.2 Conversion—formats et règles 374
29.5.3 Problèmes courants dans les spécifications de conversion 377
29.6 Clavier et souris – correspondances et paramètres 379
29.6.1 Mappage du clavier et de la souris—xmodmap 379
29.6.2 Paramètres du clavier et de la souris—xset 382
29.7 Introduction et personnalisation supplémentaires de l'uwm 384
29.7.1 Nouvelles fonctionnalités de l'uwm 384
29.7.2 Personnalisation de l'uwm 386
29.8 Gestionnaire d'affichage—xdm 390
29.8.1 Ce qu'il faut faire 390
29.8.2 xdm 391
29.8.3 Plus d'informations sur xdm 392
29.8.4 Configuration UWM 395
Annexe A Introduction à l'utilisation de Gcc 396
Annexe B Installation du système X Window Window 410
Développer