Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/02/2021, à 17:43

Francis Gernet

[Résolu] Variable d'environnement PAGER (résolu car printenv ≠ set)

Bonjour à toutes et à tous,

Je suis sous Ubuntu 20.4
Quand j'ouvre une terminal (gnome-terminal-server), mes commandes passent par un pager
echo $PAGER renvoie most,
mais printenv | grep PAGER ne me renvoie rien (printenv | grep most non plus) !

Mon problème n'est ni grave ni urgent, simplement j'aimerais bien avoir une piste pour un début d'explication.

Cordialement,

Dernière modification par Francis Gernet (Le 13/02/2021, à 15:09)


Francis

Hors ligne

#2 Le 12/02/2021, à 18:02

MicP

Re : [Résolu] Variable d'environnement PAGER (résolu car printenv ≠ set)

Bonjour

Sur mon système Xubuntu,
la variable PAGER n'est pas définie.

=======
Regarde la page man de la commande update-alternatives

man update-alternatives

Regarde aussi le retour de la ligne de commande suivante :

update-alternatives --get-selections

=======
Sur ma machine, c'est la commande less qui est utilisé comme pager

michel@debT450:~$ which pager
/usr/bin/pager
michel@debT450:~$ file /usr/bin/pager
/usr/bin/pager: symbolic link to /etc/alternatives/pager
michel@debT450:~$ file /etc/alternatives/pager
/etc/alternatives/pager: symbolic link to /bin/less
michel@debT450:~$ file /bin/less
/bin/less: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=6d0d4abd1777981660120e47aa351fed96bd3d46, stripped
michel@debT450:~$ 

En plus court, on aurait pu faire :

michel@debT450:~$ readlink -f $(which pager)
/usr/bin/less
michel@debT450:~$ 

Donc, quand je tape la commande suivante :

pager ~/.bashrc

c'est en fait la commande less qui affiche le contenu de mon fichier ~/.bashrc

less ~/.bashrc

J'ai le choix parmi 2 alternatives :

michel@debT450:~$ update-alternatives --list pager
/bin/less
/bin/more
michel@debT450:~$ 

et je peux faire ce choix en lançant la ligne de commande suivante :

update-alternatives --config pager
michel@debT450:~$ update-alternatives --config pager
Il existe 2 choix pour l'alternative pager (qui fournit /usr/bin/pager).

  Sélection   Chemin          Priorité  État
------------------------------------------------------------
* 0            /bin/less        77        mode automatique
  1            /bin/less        77        mode manuel
  2            /bin/more        50        mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :
michel@debT450:~$ 

Dernière modification par MicP (Le 12/02/2021, à 18:25)

Hors ligne

#3 Le 12/02/2021, à 19:22

Francis Gernet

Re : [Résolu] Variable d'environnement PAGER (résolu car printenv ≠ set)

Merci MicP pour cette piste intéressante, j'avais oublié l'existence d'/etc/alternatives/
Mais ma variable PAGER n'est toujours pas affectée dans mon environnement. Y aurait-il une affectation par défaut ? Si sur ta station elle n'est pas définie, mais que less est utilisé par défaut, c'est sans doute le cas.
Du coté d'alternatives, sur ma station :

francis@tito2:~$ update-alternatives --config pager
There are 3 choices for the alternative pager (providing /usr/bin/pager).

  Selection    Path            Priority   Status
------------------------------------------------------------
* 0            /usr/bin/less    77        auto mode
  1            /bin/more        50        manual mode
  2            /usr/bin/less    77        manual mode
  3            /usr/bin/most    60        manual mode

donc le choix par défaut sur ma station serait less, comme sur la tienne,
et, bien que ma variable PAGER n'est toujours pas affectée dans mon environnement, une fois lancé mon terminal, cette variable a pour valeur most. D'où cela peut-il bien venir ?

Merci de ta réponse,
Bonne soirée,


Francis

Hors ligne

#4 Le 12/02/2021, à 20:05

Watael

Re : [Résolu] Variable d'environnement PAGER (résolu car printenv ≠ set)

PAGER est bien assignée, puisque tu peux en faire un echo qui retourne most.
mais, printenv ne montre pas toutes les variables d'environnement; essaie la commande set

si PAGER n'est pas définie dans ton .bashrc, c'est qu'elle est définie globalement dans un fichier sous /etc/
tu peux surcharger cette valeur en assignant la variable dans ton ~/.bashrc.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 13/02/2021, à 08:16

serged

Re : [Résolu] Variable d'environnement PAGER (résolu car printenv ≠ set)

Moi non plus, j'ai pas de PAGER, mais un MANPAGER :

serge@slibovix:~$ printenv|grep PAGER
MANPAGER=most
serge@slibovix:~$ echo $PAGER

serge@slibovix:~$ 

LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#6 Le 13/02/2021, à 09:13

FrancisFDZ

Re : [Résolu] Variable d'environnement PAGER (résolu car printenv ≠ set)

Bonjour,
A ma connaissance, il existe au moins 3 pager, qui sont
- more : le plus ancien, présent dans unix
- less : plus "léger" ?
- most : le plus récent des 3, avec une gestion des couleurs dans l'intention de le rendre plus lisible.
Ces trois pager sont (AMHA) des versions plus ou moins améliorées (au sens de l'utilisateur) de la version de base "more" qui n'est toujours pas considérée comme obsolète.

Dernière modification par FrancisFDZ (Le 13/02/2021, à 09:13)


-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]

Hors ligne

#7 Le 13/02/2021, à 15:07

Francis Gernet

Re : [Résolu] Variable d'environnement PAGER (résolu car printenv ≠ set)

Merci Watael,
comme tu l'écris :

Watael a écrit :

printenv ne montre pas toutes les variables d'environnement; essaie la commande set

Une fois compris que printenv n'affichait pas tout, j'ai regardé la différence avec set :
printenv n'affiche que les variables exportées, transmises à tous les programmes, alors que
set affiche les variables exportées, et les variables locales (celles du shell en cours), et aussi les fonctions shell.
Merci de votre aide. On maîtrise mieux un système si on comprend bien comment il fonctionne,
Cordialement


Francis

Hors ligne

#8 Le 13/02/2021, à 15:57

MicP

Re : [Résolu] Variable d'environnement PAGER (résolu car printenv ≠ set)

Désolé, je n'avais pas compris la question.

Hors ligne