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?

tshepang
  • 65,642

3 Answers3

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.

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.

ephemient
  • 15,880
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..