1

My main machine is running macOS 14 Sonoma, but I often ssh into Ubuntu servers. Recently I noticed a strange difference between the man program on these platforms.

On Ubuntu, man displays a useful "prompt" in the bottom-left corner: ubuntu man

It can be configured with the --prompt option - man --prompt "hey unix stackexchange!" man results in:

enter image description here

But on macOS, prompt is not there:

macos man

At first I thought that I may be simply using different versions of man. On Ubuntu man --version prints man 2.11.2, but on macOS this option doesn't exist:

$ man --version
/usr/bin/man: illegal option -- -
Usage:
 man [-adho] [-t | -w] [-M manpath] [-P pager] [-S mansect]
     [-m arch[:machine]] [-p [eprtv]] [mansect] page [...]
 man -f page [...] -- Emulates whatis(1)
 man -k page [...] -- Emulates apropos(1

Then I decided to see what the man executables really are, and the result surprised me.

On Ubuntu:

$ file $(which man)
/usr/bin/man: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93e22c77b20c329ec51dad530c40fd0d64fc696f, for GNU/Linux 3.2.0, stripped

on macOS:

$ file $(which man)
/usr/bin/man: POSIX shell script text executable, ASCII text

My questions are:

  • why does man on Ubuntu (and probably on Debian and many other) differ so much from macOS's man?
  • how can I have a more fully-featured man on macOS?
2
  • 3
    MacOS is not GNU. Commented Nov 26, 2023 at 20:36
  • 1
    Hmmm... let's see - how can I put this politely? Well, the truth is that macOS man pages mostly just suck. Disregarding for a moment that they (Apple) have never adopted man-db, many of their man pages are truly vintage - not updated in 20 years (e.g. man ls). The only salvation from this malfeasance is (e.g.) MacPorts. I love my Macs (have several), but I really do not care for their cavalier attitude toward the system manuals.
    – Seamus
    Commented Nov 27, 2023 at 7:35

1 Answer 1

4

The default version of man on most Linux distributions is man-db, which is quite different from the default version of man on macOS. The macOS version is probably based on a BSD version.

You can install man-db on macOS using Homebrew or MacPorts; with the latter, run

sudo port install man-db

You must log in to answer this question.

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