Nautilus 的 Hash Check 脚本

下载一些光盘镜像文件后,最好进行 Hash 校验保证文件的正确性。这一点对于 Linux 用户而言,属于常识的常识。只不过我经常因为一时想不起来校验命令,又懒得再去 google,所以就不校验。这个 Nautilus 的 Hash Check 脚本利用了 Zentiy 实现了一个图形界面的校验工具,可以直接在 Nautilus 中选中文件后在右键菜单中调出校验工具生成校验码,并且还能够将校验码与文件名扔给 google,完成校验码的核对工作。

继续阅读

用鱼鱼换掉了 bash

鱼鱼(fishfish)是鱼(fish)的一个 fork。

fish 不是真的 fish,只是 friendly interactive shell 的简写。

继续阅读

面向 GTK+ 3 的 GtkGLExt 现状

自 GTK+ 3.0 发布后,GtkGLExt 一直没有支持它,并且这个项目已沉寂了很久。最近 GtkGLExt 邮件列表中 Thomas Zimmermann 的三封邮件,让这件事情看上去有了一些眉目。

继续阅读

PulseAudio 跨网络应用

我们屋里有一台计算机是专门用来做报告的,为它配备了一台投影仪。在作报告的时候,有时想播放一些音频文件,但是这台计算机没有扬声器。为了便于问题的描述,可以将这台计算机称为“哑巴机”。除了这台哑巴机之外,其他的计算机都内置了音效挺好的扬声器,相应的,我们管这些带扬声器的机器称为“有声机”。由于我们比较缺钱,所以不想为哑巴机再配备一个外部音箱,只想找个办法使得哑巴机可以通过有声机的扬声器播放音频。使用 PulseAudio 可以很简单的解决这个问题。

继续阅读

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# 帖,将该帖附件中的补丁打到内核源码并编译。

Fedora 16 环境编译安装 FreeCAD 记略

FreeCAD [1] 是以 OpenCascade 为核心,采用 Coin 实现三维图形渲染,采用 Qt4 实现 GUI 的三维 CAD 系统,软件协议为 GPL/LGPL,支持 Linux, Windows 与 Mac OS X 平台。目前,FreeCAD 已具备特征建模、草图建模、工程制图、网格模型编辑等功能,一些重要功能尚在开发中,例如逆向工程、机器手臂运动仿真、CAM 等。虽然 FreeCAD 整体功能与 Windows 平台的商业 CAD 系统(NX, PRO/E, Catia 等)相去甚远,但是对于开源的 CAD 软件而言,FreeCAD 是最堪用的。

继续阅读

使用 cups-pdf 解决 VUE 不支持中文 PDF 导出问题

VUE [1] 是我在 Linux 环境中最喜欢的思维导图软件,以前写过一篇文章 [2] 介绍过它。但是对于中文用户而言,在 VUE 中绘制的思维导图保存为 PDF 文档时,无法显示中文。这是因为 VUE 没有为中文设定正确的 PDF 字体,事实上对于非西文用户都面临这一问题。解决这一问题的方法有两种,一种是对 VUE 的源码进行 dirty hack 与编译,即修改 VUE_SRC/src/edu/tufts/vue/pdf/VueFontMapper.java 文件;另一种是使用 cups-pdf 虚拟 PDF 打印机。由于我不熟悉 Java 编程及 itext 库,所以避重就轻的选择了后者。

继续阅读

GNOME 3 应用程序菜单的定制

GNOME 3 因其革新幅度较大,一些应用程序显然未能跟得上形势,alacarte 这个在 GNOME 2 时代用于定制 GNOME 应用程序菜单的主要工具就是个例子,它不仅依然重度依赖几个 GNOME 2 的核心库,而且尚未与较新的 gnome-menus 库取得兼容 [1]。目前定制 GNOME 3 应用程序菜单比较好的方法是 gmenu-simple-editor 与 lxmed 这两个工具的配合使用。

继续阅读

使用 Zenity 为命令行程序制作交互界面

GNOME 项目为命令行程序以及 Shell 脚本程序提供了一套对话框交互工具,即 Zenity [1],可将用户输入转化为标准输出。命令行程序可从 Zenity 的标准输出中获取有用的信息,用于组织命令行程序选项参数。KDE 桌面项目也有类似的工具——KDialog。本文以 Cikada 程序 [2] 的用户交互界面制作为例,介绍一下 Zenity 的基本用法。

继续阅读

使用 xournal 阅读页数较多的 PDF 文档的最佳方法

首先说个坏消息,就是在『ConTeXt 辅助 Xournal 实现页数较多的 PDF 文档的批注』这篇文章中讲的方法在实践中非常的不实用。主要是因为 Xournal 会将 ConTeXt 所分割的 PDF 文档页面当成了图片,导致批注产生的 PDF 文档变成了类似实体书的扫描版。一份 100 KB 的 PDF 文档经过一番折腾后,最后产生的带批注的 PDF 文档变成了 12 MB。

然后再说个好消息,利用 Xournal 自身的功能便可完成页数较多的 PDF 文档的阅读与批注,不过为了获得更好的体验,还需要一款 PDF 阅读器(我用的是 Evince) 的配合,方法如下:

  • 勾选 Xournal 的菜单项『Options -> Progressive Backgrounds』,默认应该就是被勾选了的。如果不勾选这个选项,那么 Xournal 会一举将 PDF 文档的所有页面都转化为图像数据。
  • 对于已经打开的文档,一定不要随意拖动滚动条进行翻页以定位到阅读位置,而是要借助 Evince 确定所要阅读的页面对应的 PDF 文档的实际页码(并非文档页面中所显示的页码)。
  • 如下图所示,使用 Xournal 界面左下角的页码输入框中输入页码并回车,跳转到待阅读的页面。

剩下的事情就是老老实实的一页一页的阅读,思考,批注……切忌使用滚动条乱翻页。按照正常的阅读速度,一天下来很难读个上百页,所以内存的问题便不是什么大问题了。