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
variables_d_environnement [Le 13/01/2024, 09:54]
160.178.162.239 [Principe de fonctionnement des variables d'environnement]
variables_d_environnement [Le 28/11/2024, 07:02] (Version actuelle)
krodelabestiole +voir aussi +contrib
Ligne 1: Ligne 1:
-{{tag>​script}} +{{tag>​script ​administration système}}
-----+
  
 ====== Les variables d'​environnement ====== ====== Les variables d'​environnement ======
  
 +Les variables d'​environnement constituent un moyen d'​influencer le comportement des logiciels sur votre système. Par exemple, la variable d'​environnement ''​LANG''​ détermine la langue que les logiciels utilisent pour communiquer avec l'​utilisateur.
  
-Les variables d'​environnement constituent un moyen d'​influencer le comportement des logiciels sur votre système. Par exemple, la variable d'​environnement « LANG » détermine la langue que les logiciels utilisent pour communiquer avec l'​utilisateur. +Les variables sont constituées de **noms** auxquels on assigne des **valeurs**. Ainsi, le système d'un utilisateur français devrait avoir la valeur ​''​fr_FR.UTF-8'' ​assignée à la variable ​''​LANG''​.
- +
-Les variables sont constituées de **noms** auxquels on assigne des **valeurs**. Ainsi, le système d'un utilisateur français devrait avoir la valeur ​« fr_FR.UTF-8 ​» assignée à la variable ​« LANG ».+
  
  
 La signification d'une variable d'​environnement et le type de valeur qui peut lui être assignée sont déterminés par l'​application qui utilise celle-ci. Il existe un petit nombre de variables d'​environnement bien connues, dont le sens et le type de valeur sont bien déterminés,​ et qui sont utilisées par de nombreuses applications. La signification d'une variable d'​environnement et le type de valeur qui peut lui être assignée sont déterminés par l'​application qui utilise celle-ci. Il existe un petit nombre de variables d'​environnement bien connues, dont le sens et le type de valeur sont bien déterminés,​ et qui sont utilisées par de nombreuses applications.
- 
- 
  
 ===== Manipuler les variables d'​environnement ===== ===== Manipuler les variables d'​environnement =====
Ligne 22: Ligne 18:
 ===== Assigner des valeurs aux variables d'​environnement ===== ===== Assigner des valeurs aux variables d'​environnement =====
  
-Pour affecter une valeur à une variable d'​environnement **existante**,​ nous utilisons une expression d'​affectation. Par exemple pour assigner la valeur ​« fr_FR.UTF-8 ​» à la variable ​« LANG », nous utilisons la commande suivante :+Pour affecter une valeur à une variable d'​environnement **existante**,​ nous utilisons une expression d'​affectation. Par exemple pour assigner la valeur ​''​fr_FR.UTF-8'' ​à la variable ​''​LANG''​, nous utilisons la commande suivante :
  
 <​code>​ <​code>​
Ligne 30: Ligne 26:
 Si nous utilisons une expression d'​affectation pour une variable qui n'​existe pas, l'​interpréteur de commande créera une « variable de shell », qui est similaire à une variable d'​environnement mais qui n'​affectera pas le comportement d'​autres applications. Si nous utilisons une expression d'​affectation pour une variable qui n'​existe pas, l'​interpréteur de commande créera une « variable de shell », qui est similaire à une variable d'​environnement mais qui n'​affectera pas le comportement d'​autres applications.
  
-Une variable de shell peut être exportée pour devenir une variable d'​environnement grâce à la commande **export**. Pour créer la variable d'​environnement ​« EDITOR ​» et lui assigner la valeur ​« nano », plusieurs méthodes peuvent être utilisée. Voici celle que nous proposons : +Une variable de shell peut être exportée pour devenir une variable d'​environnement grâce à la commande **export**. Pour créer la variable d'​environnement ​''​EDITOR'' ​et lui assigner la valeur ​''​nano''​, plusieurs méthodes peuvent être utilisée. Voici celle que nous proposons :
  
 <​code>​ <​code>​
Ligne 57: Ligne 52:
 </​code>​ </​code>​
  
-La valeur de la variable peut également être récupérée en utilisant le signe « » devant son nom, comme dans l'​exemple suivant :+La valeur de la variable peut également être récupérée en utilisant le signe ''​$'' ​devant son nom, comme dans l'​exemple suivant :
  
 <​code>​ <​code>​
Ligne 77: Ligne 72:
 == Effacer des variables d'​environnement == == Effacer des variables d'​environnement ==
  
-Dans la plupart des cas, affecter une valeur vide à une variable d'​environnement suffit à annuler son effet, comme dans l'​exemple ci-dessous. Cependant certaines variables comme « POSIXLY_CORRECT ​» ont une influence sur les programmes du fait même de leur existence, et ce, même si leur valeur est vide.+Dans la plupart des cas, affecter une valeur vide à une variable d'​environnement suffit à annuler son effet, comme dans l'​exemple ci-dessous. Cependant certaines variables comme ''​POSIXLY_CORRECT'' ​ont une influence sur les programmes du fait même de leur existence, et ce, même si leur valeur est vide.
  
 <​code>​ <​code>​
Ligne 107: Ligne 102:
 Lorsqu'​un processus enfant est créé à partir d'un processus parent, le processus enfant hérite de toutes les variables du processus parent, avec leurs valeurs. Par exemple, si on lance **gedit** depuis un terminal, **bash** le processus parent, engendre le processus enfant **gedit**. Lorsqu'​un processus enfant est créé à partir d'un processus parent, le processus enfant hérite de toutes les variables du processus parent, avec leurs valeurs. Par exemple, si on lance **gedit** depuis un terminal, **bash** le processus parent, engendre le processus enfant **gedit**.
  
-En conséquence,​ si nous définissons la valeur de la variable d'​environnement ​« LANG » dans un terminal, et que nous lançons depuis le même terminal **gedit**, celui-ci héritera de la nouvelle valeur de la variable LANG, et s'​affichera donc dans une langue différente du reste des applications du système.+En conséquence,​ si nous définissons la valeur de la variable d'​environnement ​''​LANG'' ​dans un terminal, et que nous lançons depuis le même terminal **gedit**, celui-ci héritera de la nouvelle valeur de la variable LANG, et s'​affichera donc dans une langue différente du reste des applications du système.
  
 Notez bien que du fait de la portée des variables, expliquée plus haut, une fois le processus **gedit** lancé, les modifications de variables dans le processus parent ne seront pas répercutées sur le processus enfant et vice-versa. Notez bien que du fait de la portée des variables, expliquée plus haut, une fois le processus **gedit** lancé, les modifications de variables dans le processus parent ne seront pas répercutées sur le processus enfant et vice-versa.
  
 <​note>​ <​note>​
-Dans l'​environnement de bureau GNOME, « gnome-session » est le processus parent de tous les processus s'éxecutant ​dans cet environnement. Ceci constitue (avec le principe d'​héritage) le point clé qui nous permet d'​influencer le comportement de notre environnement de bureau grâce aux variables d'​environnement. L'​équivalent pour KDE est « kde-session ».+Dans l'​environnement de bureau GNOME, « gnome-session » est le processus parent de tous les processus s'exécutant ​dans cet environnement. Ceci constitue (avec le principe d'​héritage) le point clé qui nous permet d'​influencer le comportement de notre environnement de bureau grâce aux variables d'​environnement. L'​équivalent pour KDE est « kde-session ».
 </​note>​ </​note>​
  
Ligne 119: Ligne 114:
 Le nom des variables d'​environnement est sensible à la casse. Ce qui signifie que //LANG// n'est pas la même variable que //lang//, //Lang// ou encore //laNg//. Le nom des variables d'​environnement est sensible à la casse. Ce qui signifie que //LANG// n'est pas la même variable que //lang//, //Lang// ou encore //laNg//.
  
-La pratique courante est de nommer toutes les variables d'​environnement uniquement en anglais, en majuscules avec éventuellement des tirets de soulignement ​« ». +La pratique courante est de nommer toutes les variables d'​environnement uniquement en anglais, en majuscules avec éventuellement des tirets de soulignement ​''​_''​.
  
 ===== Affectation rapide et héritage avec Bash ===== ===== Affectation rapide et héritage avec Bash =====
  
-L'​interpréteur de commandes **bash** nous permet de définir une ou plusieurs variables d'​environnement et de lancer un processus enfant en une seule commande. Par exemple, pour définir les variables ​« LANG » et « FOO », puis lancer **gedit**, nous pouvons utiliser la commande :+L'​interpréteur de commandes **bash** nous permet de définir une ou plusieurs variables d'​environnement et de lancer un processus enfant en une seule commande. Par exemple, pour définir les variables ​''​LANG'' ​et ''​FOO''​, puis lancer **gedit**, nous pouvons utiliser la commande :
  
 <​code>​ <​code>​
Ligne 130: Ligne 124:
 </​code>​ </​code>​
  
-Remarque : En utilisant cette commande, les nouvelles valeurs sont uniquement assignées au processsus enfant, ici **gedit**. Les variables du shell conservent leurs valeurs d'​origine. Ainsi, dans cet exemple, la valeur de « LANG » restera inchangée (sans doute fr_FR.UTF-8 pour vous) pour les commandes suivantes dans le terminal.+Remarque : En utilisant cette commande, les nouvelles valeurs sont uniquement assignées au processsus enfant, ici **gedit**. Les variables du shell conservent leurs valeurs d'​origine. Ainsi, dans cet exemple, la valeur de ''​LANG'' ​restera inchangée (sans doute fr_FR.UTF-8 pour vous) pour les commandes suivantes dans le terminal.
  
 Un comportement similaire peut être obtenu avec d'​autres terminaux en utilisant la commande **env**. Un comportement similaire peut être obtenu avec d'​autres terminaux en utilisant la commande **env**.
Ligne 137: Ligne 131:
  
 Jusqu'​à présent nous avons vu comment définir ou modifier une variable d'​environnement **temporairement**,​ jusqu'​à ce que la session se ferme. Jusqu'​à présent nous avons vu comment définir ou modifier une variable d'​environnement **temporairement**,​ jusqu'​à ce que la session se ferme.
 +
 ==== Variables d'​environnement au niveau session utilisateur === ==== Variables d'​environnement au niveau session utilisateur ===
  
 Pour définir une variable d'​environnement de manière à ce qu'​elle affecte l'​ensemble de la session d'un utilisateur,​ il suffit de placer une commande la définissant dans l'un des fichiers cachés de script présent dans le répertoire personnel de l'​utilisateur. Voici les fichiers les plus courants qui peuvent être utilisés : Pour définir une variable d'​environnement de manière à ce qu'​elle affecte l'​ensemble de la session d'un utilisateur,​ il suffit de placer une commande la définissant dans l'un des fichiers cachés de script présent dans le répertoire personnel de l'​utilisateur. Voici les fichiers les plus courants qui peuvent être utilisés :
  
-  * **~/​.profile** - C'est probablement le meilleur endroit pour placer une définition de variable d'​environnement. En effet, il est exécuté automatiquement par le gestionnaire de connexion lors du démarrage d'une session graphique, mais aussi lors du démarrage d'une session en mode console texte.+  * **~/​.profile** - C'est probablement le meilleur endroit pour placer une définition de variable d'​environnement. En effet, il est exécuté automatiquement par le gestionnaire de connexion ​<del>lors du démarrage d'une session graphique</​del>​ (seulement sous X11, sous Wayland il semble que ce n'est plus le cas), mais aussi lors du démarrage d'une session en mode console texte.
  
   * **~/​.bash_profile** ou **~/​.bash_login** - Si l'un de ces fichiers existe, il sera exécuté par **Bash** préférentiellement à **~/​.profile** lors d'une connexion sur une console. (Bash utilisera ~/​.bash_profile de préférence à ~/​.bash_login). Cependant, ces fichiers n'​auront par défaut aucune influence sur une session en mode graphique.   * **~/​.bash_profile** ou **~/​.bash_login** - Si l'un de ces fichiers existe, il sera exécuté par **Bash** préférentiellement à **~/​.profile** lors d'une connexion sur une console. (Bash utilisera ~/​.bash_profile de préférence à ~/​.bash_login). Cependant, ces fichiers n'​auront par défaut aucune influence sur une session en mode graphique.
Ligne 158: Ligne 153:
  
 **Remarque :** sur des systèmes destinés à un usage personnel, il est sans doute préférable de définir les variables au niveau utilisateur tel que décrit plus haut, plutôt qu'au niveau système. En effet les fichiers utilisateurs peuvent être modifiés sans nécessiter les privilèges d'​administration contrairement à ceux-ci. **Remarque :** sur des systèmes destinés à un usage personnel, il est sans doute préférable de définir les variables au niveau utilisateur tel que décrit plus haut, plutôt qu'au niveau système. En effet les fichiers utilisateurs peuvent être modifiés sans nécessiter les privilèges d'​administration contrairement à ceux-ci.
- 
- 
  
 ===== Liste des variables d'​environnement communes ===== ===== Liste des variables d'​environnement communes =====
Ligne 168: Ligne 161:
  
 Les variables suivantes permettent au système de savoir où se trouvent divers fichiers, pour pouvoir fonctionner. Les variables suivantes permettent au système de savoir où se trouvent divers fichiers, pour pouvoir fonctionner.
- 
  
 ^ Variable ^ Exemples de valeur ^ Rôle ^ ^ Variable ^ Exemples de valeur ^ Rôle ^
Ligne 175: Ligne 167:
 |LD_LIBRARY_PATH|/​opt/​app/​oracle/​lib|Liste de dossiers où le système doit chercher les bibliothèques d'​exécution en plus de celles définies dans //ld// et ///​etc/​ld.so.conf//​| |LD_LIBRARY_PATH|/​opt/​app/​oracle/​lib|Liste de dossiers où le système doit chercher les bibliothèques d'​exécution en plus de celles définies dans //ld// et ///​etc/​ld.so.conf//​|
 |TMPDIR|/​var/​tmp|Le dossier utilisé pour les fichiers temporaires créés par de nombreux programmes| |TMPDIR|/​var/​tmp|Le dossier utilisé pour les fichiers temporaires créés par de nombreux programmes|
- 
  
 ==== Variables de paramètres régionaux ​ ==== ==== Variables de paramètres régionaux ​ ====
Ligne 182: Ligne 173:
  
 Les valeurs qui peuvent être assignées à ces variables d'​environnement correspondent aux paramètres régionaux installés sur le système. Pour voir quels sont ces paramètres installés, vous pouvez utiliser la commande **locale -a**. les paramètres régionaux peuvent être générés par la commande **locale-gen**. Cependant, Ubuntu inclut des paramètres régionaux prédéfinis dans les paquets de langue (language-pack-xx) disponibles au travers du système de gestion de paquets Les valeurs qui peuvent être assignées à ces variables d'​environnement correspondent aux paramètres régionaux installés sur le système. Pour voir quels sont ces paramètres installés, vous pouvez utiliser la commande **locale -a**. les paramètres régionaux peuvent être générés par la commande **locale-gen**. Cependant, Ubuntu inclut des paramètres régionaux prédéfinis dans les paquets de langue (language-pack-xx) disponibles au travers du système de gestion de paquets
- 
  
 ^ Variable ^ Rôle ^ ^ Variable ^ Rôle ^
Ligne 203: Ligne 193:
  
 Ces variables peuvent prendre le pas les unes sur les autres dans certaines combinaisons. L'​examen de la valeur des variables elles-mêmes ne fournit donc pas forcément une information claire sur la manière dont le système se comportera. La commande **locale** peut être utilisée pour examiner les valeurs effectives de ces variables pour les applications. Ces variables peuvent prendre le pas les unes sur les autres dans certaines combinaisons. L'​examen de la valeur des variables elles-mêmes ne fournit donc pas forcément une information claire sur la manière dont le système se comportera. La commande **locale** peut être utilisée pour examiner les valeurs effectives de ces variables pour les applications.
- 
- 
- 
- 
  
 ==== Variables pour les applications préférées ==== ==== Variables pour les applications préférées ====
Ligne 213: Ligne 199:
  
 En général, ces variables ne sont pas respectées par les applications en mode graphique qui intègrent leur propres éditeurs et afficheurs de texte. La plupart des environnements de bureau proposent en outre leur propre système de sélection des applications préférées. En général, ces variables ne sont pas respectées par les applications en mode graphique qui intègrent leur propres éditeurs et afficheurs de texte. La plupart des environnements de bureau proposent en outre leur propre système de sélection des applications préférées.
- 
- 
  
 ^ Variable ^ Exemple de valeur ^ Rôle ^ ^ Variable ^ Exemple de valeur ^ Rôle ^
 |PAGER|/​usr/​bin/​less|Le nom de l'​application utilisée pour afficher des textes longs (sur plusieurs pages écran) par des commandes telles que **man**| |PAGER|/​usr/​bin/​less|Le nom de l'​application utilisée pour afficher des textes longs (sur plusieurs pages écran) par des commandes telles que **man**|
 |EDITOR|usr/​bin/​nano|Le nom de l'​éditeur de texte préféré pour les utilisateurs. Il sera utilisé par des commandes telles que **mutt** ou **sudoedit**| |EDITOR|usr/​bin/​nano|Le nom de l'​éditeur de texte préféré pour les utilisateurs. Il sera utilisé par des commandes telles que **mutt** ou **sudoedit**|
-|VISUAL|/​usr/​bin/​gedit|A le même rôle que la variable ​« EDITOR ​» mais est prioritaire. Si elle n'a pas de valeur ​« EDITOR ​» définie la valeur de l'​application qui sera utilisée.|+|VISUAL|/​usr/​bin/​gedit|A le même rôle que la variable ​''​EDITOR'' ​mais est prioritaire. Si elle n'a pas de valeur ​''​EDITOR'' ​définie la valeur de l'​application qui sera utilisée.|
 |BROWSER|/​usr/​bin/​lynx|Le nom du navigateur Web préféré pour les utilisateurs| |BROWSER|/​usr/​bin/​lynx|Le nom du navigateur Web préféré pour les utilisateurs|
  
- +==== Variables liées à l'​environnement ​de bureau ​====
-==== Variables liées à l'​environnement ​graphique ​====+
  
 ^ Variable ^ Exemple de valeur ^ Rôle ^ ^ Variable ^ Exemple de valeur ^ Rôle ^
Ligne 233: Ligne 216:
 |XDG_CACHE_HOME|~/​.cache|un emplacement utilisé par les applications conformes aux spécifications freedesktop.org,​ pour mettre en cache les données temporaires. En général cette variable n'est pas définie puisqu'​une valeur de secours par défaut est implémentée dans les spécifications| |XDG_CACHE_HOME|~/​.cache|un emplacement utilisé par les applications conformes aux spécifications freedesktop.org,​ pour mettre en cache les données temporaires. En général cette variable n'est pas définie puisqu'​une valeur de secours par défaut est implémentée dans les spécifications|
  
-Les variables XDG_* sont définies pour chaque utilisateur dans le fichier ~/​.config/​user-dirs.dirs. Leurs valeurs par défaut sont récupérés dans le fichier /etc/xdg/user-dirs.defaults.+=== xdg-user-dirs ​===
  
-Pour redéfinir ces variables ​utilisez une commande du type :+Les variables ​appelées [[https://​freedesktop.org/​wiki/​Software/​xdg-user-dirs/​|xdg-user-dirs]],​ de la forme ''​%%XDG_***_DIR%%'',​ indiquent l'​emplacement des données personnelles.
  
-<​code>​xdg-user-dirs-update --set DIR path</​code>​+Lorsqu'​on déplace ses données personnelles (sur un support physique autre que celui du système, par exemple) ces variables offrent la possibilité d'​indiquer au système où elles se trouvent, pour une meilleure intégration des données personnelles au sein de l'​environnement de bureau.
  
-Remplacez DIR par un nom de variable présent dans /​etc/​xdg/​user-dirs.defaults ​et path par le dossier ​de votre choix.+On peut indiquer différents emplacements pour les répertoires du **bureau**, des **documents**,​ des **images**, des **vidéos**,​ des **musiques**, ​de **téléchargement**,​ des données **partagées** ​et des **modèles** ​de documents.
  
-Par exemple pour redéfinir le dossier du bureau :+== Fichier caché ==
  
-<​code>​xdg-user-dirs-update --set DESKTOP $HOME/toto</​code>​+Ces variables sont définies pour chaque utilisateur dans le répertoire personnel caché ''​~/​.config'',​ dans le fichier ''​user-dirs.dirs''​. Quand elles n'y sont pas spécifiées les valeurs par défaut sont récupérées depuis le fichier ''/​etc/​xdg/​user-dirs.defaults''​.\\  
 +Les gestionnaires de fichiers masquent par défaut les [[:​fichier_cache|répertoires et fichiers cachés]]. On peut utiliser le raccourci ''​Ctrl''​ + ''​H''​ (pour //Hidden//, //caché// en anglais) pour les afficher. 
 + 
 +Cela permet d'​[[:​tutoriel:​comment_modifier_un_fichier#​sous_ubuntu_gnome_unity_budgie|éditer le fichier]] ''​~/​.config/​user-dirs.dirs''​. Voici son contenu par défaut (pour une version française d'​Ubuntu) : 
 + 
 +<file ~/​.config/​user-dirs.dirs>​ 
 +XDG_DESKTOP_DIR="​$HOME/​Bureau"​ 
 +XDG_DOWNLOAD_DIR="​$HOME/​Téléchargements"​ 
 +XDG_TEMPLATES_DIR="​$HOME/​Modèles"​ 
 +XDG_PUBLICSHARE_DIR="​$HOME/​Public"​ 
 +XDG_DOCUMENTS_DIR="​$HOME/​Documents"​ 
 +XDG_MUSIC_DIR="​$HOME/​Musique"​ 
 +XDG_PICTURES_DIR="​$HOME/​Images"​ 
 +XDG_VIDEOS_DIR="​$HOME/​Vidéos"​ 
 +</​file>​ 
 + 
 +''​$HOME''​ correspond ici au répertoire personnel de l'​utilisateur Linux : ''/​home/​nom_d_utilisateur''​.\\ On peut remplacer dans chacune de ces lignes la valeur des variable ''​%%XDG_***_DIR%%''​ en indiquant le [[:​chemins|chemin]] de son choix après le ''​=''​ (de préférence un [[:​chemins#​chemin absolu]] entre guillemets doubles ''"''​). 
 + 
 +== Ligne de commande == 
 + 
 +Il est également possible de modifier directement chacune de ces variables depuis le [[:​terminal]] au moyen de la commande ''​[[man>​xdg-user-dirs-update]]''​ : 
 +<​code>​xdg-user-dirs-update --set DIR /​chemin</​code>​ 
 +Remplacer ''​DIR''​ par un des noms de variables disponibles (en anglais et en majuscule) et ''/​chemin''​ par le répertoire de son choix. 
 + 
 +Par exemple : 
 +<code bash> 
 +xdg-user-dirs-update --set DESKTOP ​    /media/$USER/data/​Bureau 
 +xdg-user-dirs-update --set DOWNLOAD ​   /​media/​$USER/​data/​Téléchargements 
 +xdg-user-dirs-update --set TEMPLATES ​  /​media/​$USER/​data/​Modèles 
 +xdg-user-dirs-update --set PUBLICSHARE /​media/​$USER/​data/​Public 
 +xdg-user-dirs-update --set DOCUMENTS ​  /​media/​$USER/​data/​Documents 
 +xdg-user-dirs-update --set MUSIC       /​media/​$USER/​data/​Musique 
 +xdg-user-dirs-update --set PICTURES ​   /​media/​$USER/​data/​Images 
 +xdg-user-dirs-update --set VIDEOS ​     /​media/​$USER/​data/​Vidéos 
 +</​code>​ 
 + 
 +Cela aura exactement le même effet - en éditant automatiquement le fichier ''​user-dirs.dirs''​.
  
 === Redéfinir (ou recréer) les répertoires par défaut === === Redéfinir (ou recréer) les répertoires par défaut ===
  
-Si vous avez une ancienne installation d'​Ubuntu que vous mettez à jour, il est probable que vous gardiez les anciens répertoires (Desktop pour le bureau, pas de répertoire Téléchargements,​ etc).+Si vous avez une ancienne installation d'​Ubuntu que vous mettez à jour, il est probable que vous gardiez les anciens répertoires (''​Desktop'' ​pour le bureau, pas de répertoire Téléchargements,​ etc).
  
 Pour forcer la redéfinition des répertoires,​ il faut lancer la commande suivante : Pour forcer la redéfinition des répertoires,​ il faut lancer la commande suivante :
Ligne 263: Ligne 282:
  
 La variable d'​environnement suivante est incontestablement la plus puissante mais également la plus **dangereuse**. Elle permet de modifier la manière dont les applications s'​exécutent. La variable d'​environnement suivante est incontestablement la plus puissante mais également la plus **dangereuse**. Elle permet de modifier la manière dont les applications s'​exécutent.
- 
- 
  
 ^ Variable ^ Exemple de valeur ^ Rôle ^ ^ Variable ^ Exemple de valeur ^ Rôle ^
 |LD_PRELOAD|/​usr/​lib/​valgrind.so|Cette variable peut être utilisée pour injecter une bibliothèque dynamique personnalisée lors du chargement de l'​application en mémoire. Cela peut servir à certaines choses, comme remplacer la bibliothèque d'​allocation mémoire intégrée à l'​application par une version de débogage, afin de détecter des fuites mémoire.| |LD_PRELOAD|/​usr/​lib/​valgrind.so|Cette variable peut être utilisée pour injecter une bibliothèque dynamique personnalisée lors du chargement de l'​application en mémoire. Cela peut servir à certaines choses, comme remplacer la bibliothèque d'​allocation mémoire intégrée à l'​application par une version de débogage, afin de détecter des fuites mémoire.|
- 
  
 ==== Variables de compilation ==== ==== Variables de compilation ====
Ligne 280: Ligne 296:
 |INCLUDE| /​opt/​app/​src/​include | Une liste de dossiers (séparés par deux-points) où chercher les fichiers d'​en-têtes | |INCLUDE| /​opt/​app/​src/​include | Une liste de dossiers (séparés par deux-points) où chercher les fichiers d'​en-têtes |
 |CPATH| ..:​$HOME/​include:/​usr/​local/​include | Une liste de dossiers (séparés par deux-points) où chercher les fichiers d'​en-têtes | |CPATH| ..:​$HOME/​include:/​usr/​local/​include | Une liste de dossiers (séparés par deux-points) où chercher les fichiers d'​en-têtes |
- 
- 
- 
- 
- 
- 
- 
  
 ==== Autres variables d'​environnement. ==== ==== Autres variables d'​environnement. ====
Ligne 295: Ligne 304:
 |HOME|/​home/​utilisateur|Emplacement du répertoire personnel de l'​utilisateur actuellement connecté.| |HOME|/​home/​utilisateur|Emplacement du répertoire personnel de l'​utilisateur actuellement connecté.|
 |PWD|/​home/​utilisateur/​Desktop|Le répertoire de travail courant de l'​interpréteur de commande.| |PWD|/​home/​utilisateur/​Desktop|Le répertoire de travail courant de l'​interpréteur de commande.|
-|SHELL|/​bin/​bash|L'​interpréteur de commande préféré de l'​utilisateur tel qu'il est défini dans le fichier ​ « /​etc/​passwd » .|+|SHELL|/​bin/​bash|L'​interpréteur de commande préféré de l'​utilisateur tel qu'il est défini dans le fichier ​''​/etc/passwd''​.|
 |POSIXLY_CORRECT|s.o.|L'​existence même de cette variable d'​environnement,​ indépendamment de sa valeur, oblige quelques utilitaires à se comporter de manière plus conforme au standard POSIX. Cela peut provoquer le dysfonctionnement de divers outils GNU qui facilitent la vie, mais c'est peut être justement ce qui est recherché pour faire fonctionner correctement de vieux scripts UNIX.| |POSIXLY_CORRECT|s.o.|L'​existence même de cette variable d'​environnement,​ indépendamment de sa valeur, oblige quelques utilitaires à se comporter de manière plus conforme au standard POSIX. Cela peut provoquer le dysfonctionnement de divers outils GNU qui facilitent la vie, mais c'est peut être justement ce qui est recherché pour faire fonctionner correctement de vieux scripts UNIX.|
 |HOSTALIASES|/​etc/​host.aliases|Le nom du fichier contenant les alias des noms d'​hôtes pour utiliser avec divers logiciels réseau.| |HOSTALIASES|/​etc/​host.aliases|Le nom du fichier contenant les alias des noms d'​hôtes pour utiliser avec divers logiciels réseau.|
Ligne 305: Ligne 314:
 |LINES|25|Le nombre de lignes sur la fenêtre de console. Essayez d'​ajuster cette variable si vous obtenez des résultats étranges lorsque vous faites défiler le texte.| |LINES|25|Le nombre de lignes sur la fenêtre de console. Essayez d'​ajuster cette variable si vous obtenez des résultats étranges lorsque vous faites défiler le texte.|
 |http_proxy|http://​user:​passwd@proxy:​port/​|La variable pour utiliser un proxy, marche aussi avec HTTP_PROXY, ftp_proxy et FTP_proxy .| |http_proxy|http://​user:​passwd@proxy:​port/​|La variable pour utiliser un proxy, marche aussi avec HTTP_PROXY, ftp_proxy et FTP_proxy .|
 +
 +===== Voir aussi=====
 +
 +  * Cette page est en partie adaptée de la documentation **(//​en//​)** //​[[https://​help.ubuntu.com/​community/​EnvironmentVariables|EnvironmentVariables]]//​.
  
 ---- ----
-Cette page est une adaptation en français de la page https://help.ubuntu.com/community/EnvironmentVariables+ 
 +//Contributeurs : [[:​utilisateurs/​krodelabestiole]]//
  • variables_d_environnement.1705136056.txt.gz
  • Dernière modification: Le 13/01/2024, 09:54
  • par 160.178.162.239