LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4008|回复: 17

[做贡献]+[原创]在Debian中使用中文手册页

[复制链接]
发表于 2006-2-18 04:52:43 | 显示全部楼层 |阅读模式
[color="Red"]如果你找到这里,你一定要先看新的版本,在这里http://www.linuxsir.cn/bbs/showthread.php?p=1696594
大家有没有发现在Debian(至少Sid版)中有一个manpages-zh的包?这就是一个中文手册页包,由linuxforum.net组织翻译的,但是大家有没有用过呢?试过的恐怕不能用吧(以前要安装一个cman,不知道哪里找了)。中文的手册页虽然没有英文的精确,但是对于中国人来说,还是有用的。现在就要把它用起来!
为什么Debian中有这个包而又不能用呢?(不会就俺的不能用吧?!直接能用的希望给出个环境)这个问题俺不知道答案,但是经过俺努力,改造man后俺的现在是能用了,下面是步骤
1、安装manpages-zh软件包(废话)
2、太简单了,把附件man.bz2下载解压后,代替/usr/lib/man-db/man即可,当然之前最好是备份一下
补充一下:解压之后的man文件的可执行属性会被丢弃,要使用命令chmod +x man增加可执行属性
3、如果想知道改了什么,或者想从源码开始,下载附件patch-man-db_2.4.3-3-zh.bz2,解开看看吧,可以自己apt-get源代码,然后打上这个补丁后再编译即可。

说明:
首先,中文的问题是由于groff中的设备不支持引起的(man的原因由这个补丁解决!),这里修改man使它使用groff的utf8输出设备,在输出到屏幕时是没有问题的,如果指定使用groff的其它输出设备可能有问题,如打印等。
第二、现在支持UTF-8、GBK、GB2312、BIG5、EUCTW,GB18030 Debian未支持,香港的BIG5-HKSCS也没有支持,因为还没有相应的手册页目录!
第三、使用UTF-8环境的效果还是不错的,建议使用。但是使用info来显示这些手册页时,会出现一些多余的字符,原因不明
第四、如果不使用UTF-8有可能出现部分乱码!乱码的原因是缺省使用了less命令的原因,不是man本身的原因!如果不想用UTF-8,临时解决方法是给less加上-u参数,即在环境中设置Less=-u,但是这样就牺牲了粗体(本来就是粗体显示不正常,没有损失),另一个解决方法可以安装w3m浏览器或者lv,然后用以下命令配置不使用less而使用w3m或者lv来显示手册页,没有乱码,就是使用习惯可能要改一下了:
# update-alternatives --config pager
选择w3m或者lv即可
[color="Red"]注:俺已经修正了less命令了,完全可以使用less了,见 http://linuxsir.cn/bbs/showthread.php?p=1397416#post1397416
第五、某些手册页好像有点旧了,不知道有没有新版的,不适用莫怪俺不说明,查看英文手册页可以man命令前加LANG=C,如:
$ LANG=C man man
第六、手册页在/usr/share/man下面,补丁中俺预先设置了一个目录“zh”,是保留给未来使用UTF-8编译的手册页的,如果不幸造成什么不便,对不住了,自己改吧!
第七、附件man.bz2是针对Debian环境的,解压后即可测试了,补丁应该是通用的,其他发行版也可以用。
第八、其实,如果使用UTF-8环境,只要把手册页转换成UTF-8编码的就可以使用了,不须搞什么补丁,至少在表面上可用

欢迎大家讨论并提出建议,营造更好的中文环境。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2006-3-16 13:20:07 | 显示全部楼层
我在ubuntu 5.10上按这个操作后,没有效果啊。
man还是英文地
回复 支持 反对

使用道具 举报

发表于 2006-3-16 20:33:08 | 显示全部楼层
其实有一些"另类"的方法也可以解决这个问题.
比如我是用KDE的, 并且安装了中文的手册页, 那么在Konqueror或者任何可以输入地址的地方输入
man:ls
就可找到ls的英文与中文的帮助页,点击中文的那个,打开后是乱码 别急,在菜单中改一下编码(GBK)就好了
回复 支持 反对

使用道具 举报

发表于 2006-3-17 11:32:15 | 显示全部楼层
在ubuntu上搞定了

http://dlnow.com/blog/?p=51
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-17 17:52:43 | 显示全部楼层
Post by ynzheng
我在ubuntu 5.10上按这个操作后,没有效果啊。
man还是英文地

1、确认您的Locale,它是根据locale的设置来运作的,看看你的locale命令的结果中是不是包含zh_CN
2、确认安装了manpages-zh, ls /usr/share/man/zh_CN/man1看看不是有内容
我没装过ubuntu,也许有什么地方不一样吧,希望老兄能继续反馈
回复 支持 反对

使用道具 举报

发表于 2006-5-29 14:58:35 | 显示全部楼层
楼主,按你的弄了之后,man不能用了
错误是:bash /usr/bin/man:权限不够

我的步骤是:
1.安装manpages-zh
2.下载man.bz2,解压覆盖/usr/lib/man_db/ 目录下的man
可是在终端执行 man 时,出现上述错误

怎么解决????
回复 支持 反对

使用道具 举报

发表于 2006-6-25 19:09:30 | 显示全部楼层
权限不够,加上执行权限就好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-26 01:08:23 | 显示全部楼层
Post by szjq
楼主,按你的弄了之后,man不能用了
错误是:bash /usr/bin/man:权限不够

我的步骤是:
1.安装manpages-zh
2.下载man.bz2,解压覆盖/usr/lib/man_db/ 目录下的man
可是在终端执行 man 时,出现上述错误

怎么解决????

cspcoo兄正解!权限不够,加上执行权限就好了
具体命令如下:
# chmod +x /usr/lib/man_db/man
前面的#号表示要以root权限执行命令
回复 支持 反对

使用道具 举报

发表于 2006-6-26 23:25:14 | 显示全部楼层
Post by waq
1、确认您的Locale,它是根据locale的设置来运作的,看看你的locale命令的结果中是不是包含zh_CN
2、确认安装了manpages-zh, ls /usr/share/man/zh_CN/man1看看不是有内容
我没装过ubuntu,也许有什么地方不一样吧,希望老兄能继续反馈


我的显示是乱码,locale命令已经包含了zh_CN了
  1. YSM:/home/ysm# locale
  2. LANG=zh_CN
  3. LC_CTYPE="zh_CN"
  4. LC_NUMERIC="zh_CN"
  5. LC_TIME="zh_CN"
  6. LC_COLLATE="zh_CN"
  7. LC_MONETARY="zh_CN"
  8. LC_MESSAGES="zh_CN"
  9. LC_PAPER="zh_CN"
  10. LC_NAME="zh_CN"
  11. LC_ADDRESS="zh_CN"
  12. LC_TELEPHONE="zh_CN"
  13. LC_MEASUREMENT="zh_CN"
  14. LC_IDENTIFICATION="zh_CN"
  15. LC_ALL=
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-6-27 18:41:25 | 显示全部楼层
utf8 的 locale怎么办?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表