典型用户如何阅读/ usr / share / doc中的文档?
我最近了解到/usr/share/doc
有大量/usr/share/doc
。
似乎有很多内容被gzip压缩,因此没有管理权限就无法直接访问它:
$ gunzip examples/letter.tex.gz gzip: examples/letter.tex: Permission denied
虽然对此的一个解决方案是每个用户复制其主目录中的每个项目只是为了阅读它,但这种安排似乎不利于常规浏览。
普通人如何阅读此文档?
我不倾向于认为典型用户只需阅读本地文本文档即可安装和维护Web服务器。
jgbelacqua用于终端,大多数人已经说过并且很好地解释了。 只需为桌面管理员上的人添加:
从图形桌面(此处为GNOME),从/usr/share/doc
读取文档的最简单方法是(双击)使用标准存档管理器(此处为File Roller)打开压缩文件,从中可以(双)单击打开并在标准编辑器中读取它们(此处为Gedit)。 只要您不解压缩文件,就不需要写入权限。
这里至少有两个问题:
- 无痛地阅读.gz文件
- 目录的权限
- (tex文件可选)
对于#1 ,有许多应用程序可以无缝地处理gzip压缩文件。 你可以使用的一对夫妇less
和vim
。
less README.gz vim -R README.Debian.gz view Important.bits.gz
view
是vim -R
的别名,它只是说以只读方式打开文件。
在过去,在我的系统上安装less之前,我会使用gzcat
并将输出传递给另一个实用程序。 显然,它现在只在Ubuntu上被称为zcat
,但你会像这样使用它,例如:
/usr/share/doc/xpdf$ zcat changelog.Debian.gz | more
zcat仍然可用,并且在某些情况下使用它来管道压缩内容在某些地方可能很有用。 (对于.bz2文件的情况, bzcat
可用。)
对于#2 ,我在/ usr / share / doc下看到的所有文件都在具有其他+ rx权限的目录中,这意味着所有用户都可以搜索目录(例如,列表内容)并读取其中的文件。 你不能做什么(因为只有root默认具有写权限),就是创建文件。 因为您试图解压缩到该目录,我想它会拒绝您的权限,因为您已经读取但默认情况下没有写入权限。
对于#3,我猜你比我更多地使用.tex文件。 但这是处理它们而不复制到home或临时文件的一种方法。 为此,您将创建一个命名管道,但您可以将其重用于其他tex管道和处理需求。 它应该是这样的:
- zcat或gzcat文本
- …并管道到您的TeX处理器
- …并将其发送到您的命名管道(在这里,我会称他为
pipey
) - …然后在一个单独的屏幕中抓住你的输出
- …并将其发送到dvi显示过程。
如果您使用与此处不同或更好的实用程序,您显然可以更改这些步骤。
我的示例将使用mkfifo
实用程序来创建命名管道pipey
。 要处理的目标文件是/usr/share/doc/gdb/refcard.tex.gz
。 您需要两个shell命令行(通过终端,Alt + F2,或者然而)。
您将键入终端1:
mkfifo pipey
您现在拥有一个持久命名管道。 您可以使用ls -l
来查看它。
zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey
请注意,在对输入到命名管道的输出执行某些操作之前,此命令不会返回。
现在,在终端2中,您将输入: tex pipey | xdvi
tex pipey | xdvi
它很有效(好吧,无论如何)。 这个过程可以进行优化以获得更漂亮的输出,但如果您正在寻找快速且相对无混乱的方法,那么这就是一种方法。
也许现在回答太晚了,但我找到了最好的解决方案(易用性和完整性)
- 安装dwww
典型的Linux系统具有多种格式的文档(手册页,信息文件,自述文件等)。 dwww可以通过相同的界面,WWW浏览器访问所有这些。 这样可以更轻松地使用文档。
dwww是Debian系统上所有在线文档的Web界面。 它构建了一些列出所有已安装文档的网页,并将所有文档转换为HTML。 转换在用户请求文档时完成。
-
打开浏览器并指向: http:// localhost / dwww /
-
完成!
您在一个地方的所有info
页面, man
页, /usr/share/doc
文件和包描述! 您的个人文档网站!
gunzip file.gz
尝试将file.gz
解压缩到file
,删除file.gz
这就是为什么你得到一个“权限被拒绝”的错误,你不能写入/usr/share/doc
。 要获取文件的内容,请使用gunzip -c file.gz
或zcat file.gz
阅读gzip压缩的文本文件可以使用zless
完成。 正如它的名字所暗示的那样,它只是less
,但对于gzip压缩文件。
用法示例:
zless /usr/share/doc/bash/NEWS.gz
.gz
后缀也可以省略:
zless /usr/share/doc/bash/NEWS
首先安装apache2
sudo apt-get install apache2 apache2-doc
apache2-doc
就是这里的特例。 它允许您通过Web浏览器浏览文档/usr/share/doc/
。 来自http://localhost/doc/
。
但这并不合适。 您需要更改Apache的配置以使其解压缩并将* .gz文件显示为纯文本。
我在Stack Overflow上发布了一种方法,使用Apache在/usr/share/doc/
目录中显示* .gz文档的内容。 这是作为可能的解决方案发布的内容。
这些是简要说明。 它告诉Apache如何处理.gz文件以纯文本forms处理它们并将它们作为纯文本发送到浏览器。
sudo a2enmod headers sudo a2enmod deflate gksu gedit /etc/apache2/sites-enabled/000-default
转到文件的底部,找到包含Alias /doc/ "/usr/share/doc/"
,并将其更改为如下所示。
Alias /doc/ "/usr/share/doc/" Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 AddEncoding gzip gz ForceType text/plain Header set Content-Encoding: gzip
然后重启Apache:
sudo apache2ctl restart
你不应该阅读.tex文件! 它是humand可读格式,但它被设计为在reanding之前处理。 您可以使用tex2pdf工具将其转换为.pdf。