2006年5月28日星期日

Picasa for Linux有什么意义?

Google总算推出了PicasaLinux版本,但让众多Linux拥趸有点失望的是,它并不是native的,而是采用wine来实现的。这也导致了它不小的体积。

不过,有网友说,这至少说明了wine的成功:-) (当然,google也修正了wine当中的不少问题)

另外,据说f-spot完全可以作为Picasa的替代品(只是这个东西是用Mono写的,俺总觉得要加一个庞大的run-time还是有点不爽――也许以前对Java程序的印象很有些影响:-()。

debian-installer有望使用新的gtk+-directfb

在framebuffer上构建图形界面也是越来越红火了,基于svgalib的肯定是越来越少了。gtk+本来有x11和win32两种front-end,后来见到一个gtk+-directfb,但当时仅仅算是个hacking,倒是debian胆子大,拿来做debian-installer的图形界面,不过也被限定了只能用gtk-2.09版本。

这个directfb front-end已经在合入了gtk+的2.10版本。但gtk+-2.10目前还没有进入debian,于是又有人提供了一份backport,使得可以在gtk+-2.8上使用directfb。

不过debian是否会采用,还没有定论。

PS: Debian Installer图形界面展示(Hiweed定制版)

让firefox支持mht (以及我为什么喜欢Firefox)

是的,我喜欢Firefox。即使在Windows上,也喜欢用它。至于原因,首先是多标签、免除无用的ActiveX(音频、视频等)的骚扰、也不用担心流氓软件的骚扰,这些就不多说了。说点别的,不算插件带来的功能的话,主要原因是:

一是现在常常看电脑太多而眼累,所以需要放大字体,IE对于没有硬性指定字体大小的可以放大,但很多网页偏偏喜欢写死,而firefox总是可以很好地完成这个任务。

二是保存网页,IE的保存很慢,还有进度条显示正在从哪个网站读取哪个图片,真搞不懂,刚才浏览不是已经都取过来了么?而且还常常报告“无法保存此文档”!让你气得够呛。同样,firefox总是可以做的很好。

三是打印,IE的打印常常会不完整,右边的文字会被截掉,Firefox也没这个问题。

只是有一个地方不太爽,就是将一个网页保存下来发给朋友,用firefox保存后还得用tar大包,别人收到后也要先解压才能阅读。这时候我就会去用IE的mht格式(尽管如上所说,常常保存不下来),但要是在Linux上时就只有土办法了。

不过MAF(Mozilla Archive Format)这个插件可以解决这个问题。The Maf project is an archive extension that allows complete web pages to be saved in a single archive file. MAF stands for Mozilla Archive Format and the extension uses RDF to save page meta-data such as the original URL of the page and the date/time the page was put in the archive.

2006年5月26日星期五

Joel: UNIX与Windows二元文化

买了一本《Joel谈软件》在看,里面有一篇《二元文化》讲到了Windows与UNIX在文化上的差别。

搜了一下,找到了原文Biculturalism 和繁体翻译《双元文化主义》。

这是篇老文章了,说UNIX倡导的是对其他程序员有用的输出,而Windows倡导的是让你的姨妈能够用软件做点事情。倒无所谓谁对谁好,只是出发点不一样。有一腚道理哈。

2006年5月24日星期三

(转)三联: Linux使手机的草根成为可能

一年前,英国的通讯工程师苏吉-帕特尔(Surj Patel)就在 博客上写道:“我想要一个Linux手机,这样我就可以用我想要的任何语言来编程。我想进入呼叫控制,我想进入数据层。我不想为一个开发软件花上3000 美元,也不想接受遮遮掩掩的功能。我是个开发者,是个骇客,我想让我的电话做我想要的事,让我得到我想要的应用。”在这篇博客中,他发出了惊人却颇具叛逆 精神的口号:“如果你不能和他们一起干,就打倒他们。”

阅读全文(原载于本周《三联生活周刊》)

2006年5月21日星期日

图标的位置问题以及其它(即XDG规范)

在cygwin下编译xfce-4.4beta1时,俺按老习惯将prefix设置成了/opt/xfce4,方便以后删除。但这样就出现一个问 题, 很多程序的图标不能正常显示出来。

-------------------------
虽然xfce要求的hicolor-icon-theme包我也装了,但俺检查xfce安装图标时都是放到 /opt/xfce4/share/icons/hicolor下面去的(hicolor-icon-theme包是cygwin官方版,图标主题在 /usr/share/icons/hicolor下面)。

俺先用了一个土办法,把/opt/xfce4/share/icons/hicolor下的图标都拷到了/usr下面的去,结果当然好使。但这显然不是正确的解决方法,按照UNIX习惯,应该有两种方法解决这个问题:

1. 应用程序编译、安装时检测hicolor的安装目录,然后将图标安装到该位置。

2. 通过一个配置(很可能是环境变量)设置查找图标时要搜索的目录。

隐约记得XDG制定过这方面的规范,并且正在合入LSB。俺翻阅了一下,发现有两个规范跟这个问题相关,一个是基准目录规范,一个是图标主题规范

前者要求设置XDG_DATA_DIRS和XDG_CONFIG_DIRS环境变量(缺省为/usr/share: /usr/local/share),应用程序应该在这些查找菜单、图标等等数据;后一规范要求各个应用程序至少应该给hicolor这个主题提供图标 (至少要有一个48x48的),因为这个主题是图标查找的最后目录。

好了,回到俺的问题,设置XDG_DATA_DIRS环境变量为/usr/share:/usr/local/share:/opt/xfce4/share,搞定。

BTW: 虽然我喜欢用rox,但觉得为每个应用转换一个rox的launcher很是有点麻烦,前两天看见了一个提供XDG菜单的rox应用XDG-Menu。与launcher相比的一个缺点这种情况下不能拖文件启动程序了,不过很多应用程序不需要这样。想要了解X桌面环境的"start menu"上会出现哪些应用程序,可以阅读desktop entries files规范

2006年5月18日星期四

GIMPshop: 模仿Photoshop界面的GIMP

GIMP算是自由软件界的一个明星,它甚至导致了gtk+的诞生。如果说让Photoshop从Windows转移到Linux,估计很多人都会想到推荐GIMP。

但据年初Novell的一份调查 显示,最被用户期望移植到Linux桌面的应用程序还是Adobe Photoshop。GIMP并不被Photoshop的用户所接受,有不少人在讨论为什么会这样(Why Photoshop tops most-wanted Linux app list, GIMP Not Enough for Linux Users? )。

首先习惯是个很麻烦的问题: 有很多人很受不了GIMP的SDI界面,而且还想用他们在Photoshop里面用熟了的快捷键。

于是有了GIMPshop: GIMPshop is a hack of The GIMP to make it look more like Photoshop.

2006年5月14日星期日

书籍: The Art of UNIX Programming

五一前在书店看见了这本《UNIX编程艺术》(The Art of UNIX Programming), 早听说过这本书了,ESR也把它发布在了网上,但阅读大篇幅的英文的俺还是觉得费劲,而且也越来越不喜欢在电脑上看书了。

“此书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为此书贡献了宝贵的内容。此书内容涉及社群文化、软件开发设计与实现,覆盖面 广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。”

用了三天把它囫囵吞枣地看完了,感觉还不错。通过这本书,不能具体地学习到某种技术,但可以更多地了解“UNIX为什么是这个样子,为什么要这样来 做某个功能”。过两天要给一帮新员工进行“UNIX基础”培训,我一直在为这个太泛的主题具体应该怎样讲有些发愁,这下有内容了。

不过作者似乎有点罗嗦。另外似乎总是对其他系统总是不屑一顾的样子,似乎连“尺有所短,寸有所长”都不肯承认。跟Joel On Software 对比着看你会发现相当有意思。

不过,还是需要仔细研读一番。

链接:

一篇评论

CHM版本(并非长期有效)

2006年5月7日星期日

用coLinux玩虚拟Linux

开始看见这个东西还是在kde-cygwin的新闻栏,该项目负责人在解释为什么停止kde-cygwin时提及了两个外部因素,一个是X.org的Windows版本Xming,另一个就是允许在Windows上运行Linux的coLinux

但因为原来比较熟悉VMWare,所以也没有去试这个coLinux。节前工作略有点闲,于是玩了一下这个Cooperative Linux




1. 安装

安装比较简单。安装程序一步步走下来,再安装说明文件配置一下就可以了。

coLinux的运行有两种方式,一种是普通程序方式,另一种是服务方式,建议先用普通方式,系统基本配置完成后再安装为服务。

2. Linux系统

coLinux预备了几个磁盘镜像可供下载,可免去自己配置cofs等设备驱动的麻烦。俺用了Debian 3.0r0的那个,解压后是1G。

另外需要自己做一个swap device,如果有cygwin就比较简单:

dd if=/dev/zero of=swap bs=1024k count=512

然后修改一下配置文件里面的设置就可以了。

coLinux目前带的Debian磁盘镜像是3.0r0的,俺开始就想用apt直接升级为testing,没想到因为包依赖关系会造成严重问题,只得重来。这次先升级到最新的stable(3.1r2),然后在升级到testing。

3. 网络

用coLinux比较复杂的一步是配置网络,同VMWare一样,它也提供了NAT和Bridged两种方式,只是配置起来比较麻烦,关键是要搞明白自己的网络环境适合用那种方式。所以一定要看wiki上的配置说明

我用的是NAT方式,采用TAP驱动(另一个选择是winpcap),倒也简单,在“网络邻居”里面将“真实”网络设备共享出来就可以了(在网络设置的“属性- 高级”里设置)。

4. 运行X程序

coLinux并没有象vmware那样也虚拟一个显卡设备出来,所以要运行X程序有两种方式,一种是其他地方的X server(比如cygwin的X或者Xming)来显示,另一种就是用vncserver。

考虑到虚拟世界还是有点慢,俺没有安装GNOME或KDE,只装了一个xfce4,浏览器用opera(还兼有邮件客户端)。