5

On a Debian system, one can type pager in order to use whatever pager program happens to be default/available. By default, less is used, and if not available, the lesser more gets to do the job. Is such a thing available in other Unix and Linux systems?

7

The unix tradition is for applications that want to call a pager to call $PAGER, i.e. use the contents of the environment variable PAGER as a command name. (Whether shell metacharacters are expanded in $PAGER is not consistent between applications.) The unix tradition further uses more if the PAGER variable is not set. There is a similar tradition for text editors: use $EDITOR (or, for historical reasons, $VISUAL), falling back to vi.

Having a command named pager is specific to Debian (and derivatives, including Ubuntu). /usr/bin/pager is in fact a symbolic link to /etc/alternatives/pager, which points to the the “best” available pager (the Debian maintainers decide which is best, and the system administrator can override their choice), using the alternatives framework.

Debian also provides /usr/bin/sensible-pager. This script runs $PAGER if the variable is set, and falls back to pager otherwise. Its purpose is to be used in programs where a single pager path has to be hard-coded. This behavior is documented in the Debian policy manual.

3
  • 1
    Just as an addendum, while not included by default, a pager generic could be used by the alternative system that is found in Red Hat derivatives such as Fedora. Also, if one really wanted to, I'll bet one could implement such a system on other Unixes since I've seen alternative frameworks implemented in perl. – Steven D Jan 4 '11 at 20:42
  • @Steven: It's not surprising that Red Hat's alternatives look like Debian's. And the framework is implemented as a Perl script (/usr/bin/update-alternatives) — or was. – Gilles 'SO- stop being evil' Jan 4 '11 at 21:13
  • POSIX specifies that man shall interpret $PAGER as an string passed to sh -c. So at least man recognises metachars in $PAGER. – Tom Hale Aug 29 '20 at 10:00
5
$ update-alternatives --list pager
/bin/less
/bin/more
/usr/bin/pg
/usr/bin/w3m

YMMV depending on what you have installed, but this is Debian-specific (well, and derivatives too).

Customarily one uses $PAGER with a fallback to more.

1

All Linux-Distributions I have used so far (Gentoo, Debian, Slackware, Fedora, OpenSuse) had an Environment-Variable called PAGER which set the pager (default, as said, less). It's set in your shell environment.
I think the command man uses this variable..

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.