iwlagn 网卡在 linux 3.1.5—3.1.7 中频繁掉线问题的修复

如果你的无线网卡是 iwlagn 驱动,并且它在最近的 Linux 3.1.5, 3.1.6 内核上无法与无线 AP 正常连接,症状是连上即断,继而再连……那么你可能需要查看 http://www.gossamer-threads.com/lists/linux/kernel/1466171 第 10# 帖,将该帖附件中的补丁打到内核源码并编译。

ConTeXt 辅助 Xournal 实现页数较多的 PDF 文档的批注

如果你恰好拥有正版的 Windows 与 Acrobat 的话,恭喜你,这篇文档可以不用再读下去了。

在 Linux 桌面中阅读 PDF 格式的电子书,如何添加批注一直以来都是个问题。虽然 Okular 支持分离式的批注,但是那些不使用 KDE 桌面的用户是看不到批注的。虽然 Evince 现在可在 PDF 文档中嵌入批注,但是目前仅仅是可以观瞻而不实用,所缺乏的功能太多了。

目前 Linux 桌面环境中只有 Xournal 才可以算得上是一款真正的 PDF 批注软件。但是 Xournal 对于篇幅较长的 PDF 文档,可能会耗尽你所有的内存,因为它会将 PDF 文档中所有的页面都转化为图像数据置于内存之中并且不再释放。你可以做个实验,用 Xournal 打开一份 200 多页 PDF 文档,然后慢悠悠的从首页拖曳到尾页,保证每个页面都被显示一次,在拖曳的过程中注意 Xournal 占用内存的变化。通常不建议使用 Xournal 批注页数超过 50 页的文档。所以i要让 Xournal 支持页数更多的文档,我们首先应对文档进行分割。

可惜的是 Linux 里可对 PDF 文档进行分割的工具并不是太多,对周边环境依赖较少的工具应该是 pdfshuffler,但是它的项目也已经很久没有更新,现在正处于与 poppler 0.18 不兼容的阶段。不过,如果你恰好可以使用它,或者你找到了你认为更好的 PDF 文档分割工具,那么这篇文章也可以不必再读下去。

继续阅读

C 库的编写 [2]

这是有关 C 库编写经验的一系列文档的第二部分,讲述了事件处理、主循环、同步与异步 I/O 等功能的实现经验。原文见:http://davidz25.blogspot.com/2011/06/writing-c-library-part-2.html

本文只是对原文的不完全翻译及意译,对其中所有错误不负任何责任。

继续阅读

C 库的编写 [1]

这是有关 C 库编写经验的一系列文档的一部分,原文见:http://davidz25.blogspot.com/2011/06/writing-c-library-part-1.html

本文只是对原文的不完全翻译及意译,对其中所有错误不负任何责任。

继续阅读

做了一个 Fedora 14 的 live usb 盘

当年我翻译的这篇文档 Gentoo Linux LiveUSB HOWTO 虽然有几处翻译上的低级错误,现在貌似还是万能的,只是很惭愧,因为懒惰没有更新。

但是,只靠那篇文档来制作 Fedora 14 的 live usb 是不行的,启动时会提示“No root device found. Boot has failed, sleeping forever”。

这是因为 Fedora 14  live cd 里的 isolinux.cfg 文件在指定 root 分区时用的是光盘卷标,而对于我们所制作的 live usb,没有为分区设置卷标,所以导致内核启动时找不到 root 区。

解决方案两种,第一种方案是为 live usb 的分区设定与 isolinux.cfg 一致的卷标,这种方案因为还需要我去 google 上百度一下 Linux 的卷标设置命令,便未采用。第二种方案是不使用卷标,而使用 usb 盘的 uuid,步骤如下:

(1)使用命令`ls -l /dev/disk/by-uuid/`,查看 usb 盘的 uuid,例如:

$ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Jan 28 08:55 3074d378-18aa-4ca0-8e72-80b11b76d82e -> ../../sda6
lrwxrwxrwx 1 root root 10 Jan 28 09:17 58B9-170B -> ../../sdb1
lrwxrwxrwx 1 root root 10 Jan 28  2011 94566E61566E43D8 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jan 28 08:55 a4a6ae62-10a1-4a0a-b557-efbb6478c3de -> ../../sda7
lrwxrwxrwx 1 root root 10 Jan 28  2011 D40C96740C96517A -> ../../sda5

那个 sdb1 分区对应的“58B9-170B”就是我的 usb 盘的 uuid。如果对于 uuid 的知识比较陌生,推荐阅读“用 UUID 在 fstab 中挂载分区”。

(2)将 live usb 盘中的 syslinux.cfg 文件中的所有“root=live:LABEL=Fedora-14-i686-Live-SoaS”替换为“root=live:UUID=58B9-170B”。

这样,便成功的将 Fedora 14  live cd 转化为 Fedora 14 live usb 盘。使用这一 live usb 盘,我顺利的将上网本中莫名其妙崩溃了的 sabayong 换成了 Fedora 14。

GIMP 撕裂纸张效果

作一些屏幕截图的时候,可能会需要营造一些撕裂纸张一样的效果,主要用于表示所截的图是不完整的。Windows 或者 Mac OS X 可能有许多截图软件提供了这样的效果,在 Linux 的穷人世界里,GIMP 可以通过一个叫做 tear-off 的插件来实现。

继续阅读

evince 的变化

这次, 虽然 gnome 2.32 将 gnome 3.0 的票跳到了明年春天,但是它的发布还是比较吸引我的注意的。对我而言,此次 gnome 最大的变化在于 evince。

阅读全文