28

What is the default PAGER used by man pages.

I,e what is the program runs the man pages?

It look some like more or less. I'm sure it's not more since more doesn't support reverse backward.

1
  • 1
    It looks more or less like more (or less), I think. Aug 11, 2016 at 7:07

2 Answers 2

29

From man man:

                                                  ... The pager can  be
specified  in  a number of ways, or else will fall back to a default is
used (see option -P for details). 

...
-P pager, --pager=pager
       Specify  which  output pager to use.  By default, man uses pager
       -s.  This option overrides the $MANPAGER  environment  variable,
       which  in turn overrides the $PAGER environment variable.  It is
       not used in conjunction with -f or -k.

pager (/usr/bin/pager) is set using the Debian alternatives system (via /etc/alternatives/pager), and defaults to less.

$ update-alternatives --display pager
pager - auto mode
  link currently points to /bin/less
/bin/less - priority 77
  slave pager.1.gz: /usr/share/man/man1/less.1.gz
/bin/more - priority 50
  slave pager.1.gz: /usr/share/man/man1/more.1.gz
/usr/bin/pg - priority 10
  slave pager.1.gz: /usr/share/man/man1/pg.1.gz
/usr/bin/w3m - priority 25
  slave pager.1.gz: /usr/share/man/man1/w3m.1.gz
Current 'best' version is '/bin/less'.

Apparently, this particular default (using a command named pager) is a Debian-derivative trait. See Which systems have 'pager' shortcut/alias? over on Unix & Linux.

14
  • Thanks.. I'm confused which one to mark as answer. Both were quick with good information and two different methods to check the symlink of pager.
    – Maythux
    May 15, 2015 at 9:28
  • 1
    @NewUSer Toss a coin. :)
    – muru
    May 15, 2015 at 9:29
  • In addition I think you can change this with the MANPAGER in the environment.
    – Ron
    May 15, 2015 at 9:30
  • @Ron oh, yes. But that variable is not set by default, AFAICT.
    – muru
    May 15, 2015 at 9:31
  • 2
    @NewUSer ah, don't. Pick the best answer, not the earliest.
    – muru
    May 15, 2015 at 9:33
20

By default, it's less. As explained in man man:

-P pager, --pager=pager

Specify which output pager to use. By default, man uses pager
-s
. This option overrides the $MANPAGER environment variable, which in turn overrides the $PAGER environment variable. It is not used in conjunction with -f or -k.

The value may be a simple command name or a command with argu‐
ments, and may use shell quoting (backslashes, single quotes, or
double quotes). It may not use pipes to connect multiple com‐
mands; if you need that, use a wrapper script, which may take the file to display either as an argument or on standard input.

On Debian-based systems, including Ubuntu, pager is a symlink to less:

$ readlink -f /usr/bin/pager 
/bin/less

This means that man's default, pager -s, is less -s. You can change this by i) using the -P option of man; ii) setting the MANPAGER or PAGER environmental variables.

7
  • Thanks.. I'm confused which one to mark as answer. Both were quick with good information and two different methods to check the symlink of pager.
    – Maythux
    May 15, 2015 at 9:28
  • Sorry Friend I'm considering @muru answer since he was the first to answer.. But I wish I could choose both, you desrve
    – Maythux
    May 15, 2015 at 9:29
  • 1
    @NewUSer don't worry about it. Both Muru and I have enough rep to keep us happy :) Just accept whichever one you feel answers your question better. I assure you that nobody will be offended.
    – terdon
    May 15, 2015 at 9:34
  • both of answers are good enough. Thanks for your sportsman soul
    – Maythux
    May 15, 2015 at 9:35
  • @terdon readlink -f /usr/bin/pager shows /bin/less but when I run man command it opens in more pager. why?
    – alhelal
    Oct 5, 2017 at 16:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .