I have been using
fish on Manjaro KDE for a while and only recently did I notice that
man fish does not show the manpage for
fish. Instead it just returns
/t/stuff> man fish
No manual entry for fish
Additionally, trying to get help for
fish functions does not work either:
/t/stuff> functions --help
fish: Missing man page for 'functions'. Did you install the documentation?
This is not something specific to my system though: it happens even on a freshly downloaded ISO from
manjaro.org (KDE Plasma 21.0.5).
Looking at the paths under
/usr/share/fish/man/, I can see that the manpages do exist so this has to be an issue with how manpages are discovered. Does anybody know if this is intended behaviour and if so, what’s the right way to go about fixing this?
Some applications inherited from Arch does not install man pages or documentation. Sometimes it is provided in an additional package - but it not a rule.
Also there is an indexer for man-pages - maybe it still need rebuilding?
The fish package installs man pages in
These should be indexed as they are in the PATHs mentioned in
It also has got the man pages @hasref speaks about
I don’t know what these are for or why they are kept in a separate location
but these are probably not indexed with the default configuration in/etc/man_db.conf
Thank you for taking the time to reply!
I tried rebuilding the man database using
mandb but that does seem to help.
I guess you’d need to edit
/etc/man_db.conf to include this somewhat unusual location
Interestingly enough, on both my current installation of Manjaro KDE and on a virtual machine booted with a fresh ISO from
manjaro.org (KDE plasma 21.0.5), after installing
fish, there are no fish manpages under
/usr/share/man/man1/fish/. The directory does not exist:
manjaro@manjaro ~> ls /usr/share/man/man1/ | grep fish
manjaro@manjaro ~ [0|1]> cd /usr/share/man/man1/fish/
cd: The directory "/usr/share/man/man1/fish/" does not exist
In fact, the only directories under
/usr/share/ which are named “fish” are the following:
manjaro@manjaro /u/share> find ./ -type d -name 'fish'
find: './polkit-1/rules.d': Permission denied
I don’t have fish installed - I just looked inside the package and this is what I saw.
I don’t know why the contents of the package would not be all installed - or selectively.
To test this I just installed it:
ls /usr/share/man/man1/ | grep fish
that’s the result
… the little differences - once again
I run Arch.
When I tested in in my Manjaro VM
the man pages are indeed not there.
I’d have thought that this package was the same as in Arch.
Note to self:
do not assume anything if knowing is easily possible
Funnily enough that’s exactly why I posted this:
man fish works perfectly on my other system running Arch too and I see the same files as you do under
/usr/share/man/man1 but for some reason this seems to be broken on Manjaro.
I have tried setting
MANDATORY_MANPATH /usr/share/fish/man in
~/.manpath) and updating the database using
sudo mandb but this does not help either.
manpath -d does confirm that the Mandatory mandir is being set but
man fish still returns nothing. Of course, reading the pages directly
man /usr/share/fish/man/man1/1/fish.1 does work but that’s a little inconvenient.