我全新安装了 Ubuntu 16.04 LTS,并尝试使用新的 snap 包安装一些应用程序。这些包的安装很容易,但当我尝试安装时,man <package>
我无法打开手册页。例如:
$ man tmux
No manual entry for tmux
See 'man 7 undocumented' for help when manual pages are not available.
该whereis
命令给出以下输出:
$ whereis tmux
tmux: /snap/bin/tmux
但事实是手册页文件是存在的:
$ ls -l $PWD/*
-rw-r--r-- 1 root root 100394 Abr 20 06:46 /snap/tmux/current/share/man/man1/tmux.1
我该如何让它工作? snap 包管理有问题吗?
答案1
一个“临时”解决方案是从命令行运行以下命令:
export MANPATH=":/snap/tmux/current/share/man"
然后该命令man tmux
将像您现有的所有手册页一样工作。请记住,Ubuntu不是通常使用$MANPATH
和标准手册页 PATH 如下所示:
andrew@athens:~$ man -w
/usr/local/man:/usr/local/share/man:/usr/share/man
运行上面建议的“创可贴”解决方案后,您应该看到:
andrew@athens:~$ man -w
/usr/local/man:/usr/local/share/man:/usr/share/man:/snap/tmux/current/share/man
此设置也可以永久保留~/.bashrc
,记住,放置后请注销然后重新登录,或者直接运行:source ~/.bashrc
我必须说,这不太令人满意,尤其是如果每个软件包的手册页位于不同的位置。希望随着标准的巩固,这个问题会越来越少……
参考:
- AskUbuntu:如何找出 $MANPATH 的设置位置?一个优秀的 AskUbuntu 问答,描述了什么是 MANPATH 以及如何操作它。
- Snappy 安装的手册页无法通过 man 访问启动板错误,其中讨论了查看 snap 手册页的问题。
- 支持手册页这次来自 snapcraft 论坛的进一步讨论。
答案2
sudo ln -s /snap/tmux/current/share/man/man1/tmux.tar.gz /usr/share/man1/tmux.tar.gz
也可以达到目的。这样,任何 snap 命令的手册页都可以添加到默认的 manpath 中。我尝试使用该jq
命令,效果很好。
答案3
这
sudo ln -s /snap/curl/current/share/man/man1/curl.1 /usr/share/man/man1/curl.1