在 Ubuntu 17.10 上使用 conda 安装软件包后,man <command> 不显示任何内容

Abh*_*ash 8 manpage conda pager anaconda 17.10

当我尝试获取联机帮助页时,man它似乎没有显示任何内容并且表现得好像我只是按了 Enter

~$ man ls
~$ man man
Run Code Online (Sandbox Code Playgroud)

我已经尝试了这些页面中的解决方案,但无济于事 question1 question2。最后一个问题完全符合我的条件,但修复似乎不起作用。虽然info似乎工作。

以下是一些附加信息:

~$ man --version
man 2.7.6.1

~$ type -p man
/usr/bin/man

~$ type -t man
file

~$ manpath
/home/abhilash/anaconda3/man:/usr/local/man:/usr/local/share/man:/usr/share/man:/usr/lib/jvm/java-8-oracle/man

~$ uname -a
Linux abhilash-ThinkPad-T440 4.13.0-38-generic #43-Ubuntu SMP Wed Mar 14 15:20:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

更新

~$ type -a man
man is /usr/bin/man

~$ env | grep 'PAGER\|^MAN'
~$ 
Run Code Online (Sandbox Code Playgroud)

更新 2

~$ ls -1 /usr/share/man/man1 | wc -l
2145

~$ ls -l "$(type -p pager)"
lrwxrwxrwx 1 abhilash abhilash 18 Apr 16 18:43 /home/abhilash/anaconda3/bin/pager -> ../lib/R/bin/pager

~$ ls -l "$(readlink "$(type -p pager)")"
ls: cannot access '../lib/R/bin/pager': No such file or directory
Run Code Online (Sandbox Code Playgroud)

Abh*_*ash 8

事实证明,在通过 conda 安装 anaconda 或某些包之后,重新编写了默认分页器。造成这种情况的确切原因尚不清楚。只是更多信息

~$ anaconda --version
anaconda Command line client (version 1.6.9)
~$ conda --version 
conda 4.4.10
~$ history | grep conda
  108  bash Anaconda3-5.1.0-Linux-x86_64.sh 
  110  anaconda-navigator
  181  anaconda-navigator
  187  anaconda-navigator
  311  conda info --envs
  312  conda install rpy2
  313  conda search PySide
  314  conda search Python
  366  conda install findspark
  367  conda info --envs
  370  conda install findspark
  373  conda search findspark
  374  conda install -c conda-forge findspark 
  495  anaconda --version
  496  conda --version 
  497  conda list
  499  history | grep conda
Run Code Online (Sandbox Code Playgroud)

我最强烈的猜测是 rpy2 安装具有根据事件时间更改寻呼机信息的这种效果。

但这些是我为解决问题而采取的步骤。

~$ update-alternatives --display pager
pager - auto mode
  link best version is /bin/less
  link currently points to /bin/less
  link pager is /usr/bin/pager
  slave pager.1.gz is /usr/share/man/man1/pager.1.gz
/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

~$ rm /home/abhilash/anaconda3/bin/pager
Run Code Online (Sandbox Code Playgroud)

通过键入以下内容进行确认,确保寻呼机默认为 man-db 附带的寻呼机

~$ ls -l "$(type -p pager)"
lrwxrwxrwx 1 root root 23 Apr  9 13:57 /usr/bin/pager -> /etc/alternatives/pager
Run Code Online (Sandbox Code Playgroud)

通过此链接尝试将寻呼机设置为默认值后,得出了此解决方案。

感谢glennterdon在解决这个问题方面的投入。

  • +1 为您的 Q 和 A。不要忘记在 40 小时左右后单击您的答案旁边的复选标记。 (3认同)