Comment savoir dans quel fichier de configuration la variable d'environnement $MANPATH
est définie? Y a-t-il un moyen de retracer les valeurs?
Je suis conscient du fait que je peux graper tout le système de fichiers en utilisant find
ou grep
. J'utilise zsh
la plupart du temps au lieu de bash
. Je lance Ubuntu Precise.
Comme d'autres l'ont déjà écrit, Ubuntu ne définit pas la MANPATH
par défaut. Vous pouvez éditer votre .profile
et ajouter le MANPATH
à votre guise. Mais où Ubuntu obtient-il les informations sur votre manpath?
Cette information est définie dans /etc/manpath.config
. Le package man-db
utilise ces informations pour configurer les chemins d'accès pour man. La variable d'environnement MANPATH
a priorité sur le fichier manpath.config
. Le fichier contient les entrées suivantes (et probablement plus):
MANDATORY_MANPATH /usr/share/man
MANPATH_MAP /usr/bin /usr/man
DEFINE troff groff -mandoc
La première ligne indique à un logiciel qui génère automatiquement la MANPATH
les répertoires qu’il doit contenir. Typiquement /usr/man
, /usr/share/man
et autres sont configurés ici.
Vient ensuite un mappage des utilisateurs PATH
sur le correct MANPATH
. Si un utilisateur a /usr/bin
dans sa PATH
, la MANPATH
doit contenir /usr/man
dans mon exemple ci-dessus.
La valeur DEFINE
a un ensemble d'arguments et de programmes par défaut pour les utilitaires de pageur.
Ubuntu par défaut ne définit pas $MANPATH
, votre recherche peut donc être limitée à votre ~/.{ba,z}shrc
et aux fichiers qu’elles contiennent.
Le chemin de recherche compilé dans la commande man peut être vu avec man -w
. Sur mon système (12.10), cela retourne /usr/local/man:/usr/local/share/man:/usr/share/man
Essayez de courir
zsh -x -ls -c "exit" 2> Shell-startup-output
Après avoir exécuté cette commande, le fichier Shell-startup-output
devrait vous montrer chaque fichier créé au démarrage du shell. Vous pouvez ensuite examiner chacun de ces fichiers pour déterminer lequel définit $MANPATH$
.
Si cela ne fonctionne pas pour vous, la seule autre façon de le faire est d'utiliser grep
ou find
.