Recently in Mac Category
June 29, 2010
塑料的还是不够结实
自从 2008 年 4 月 1 日我把目前使用的这台 MacBook 买回家后,一直用到了今天。总体上还是令我满意的:操作系统上虽说我从一些细节上更希望用 Linux 一些,但 Mac OS X 与 Linux 也算是各有千秋;我看中 MacBook 的主要还是它的硬件。我上一台笔记本电脑 DELL XPS M1330 的差劲质量实在让我怕了,那台电脑属于 DELL 的家用机系列,没有全球保修,所以一旦出了我修不了的问题,就直接天地不应了。上次就是在学期中间电脑的屏幕坏了,实在给我带来了很多麻烦。
当时我买电脑的时候也从不同品牌的电脑之中挣扎了几下。那一阵子我用 Gentoo 用的正爽,感觉无论从速度上还是从实用性上来说,Gentoo 都能满足我。但我对硬件上的选择没有信心,几年来我用过的笔记本电脑也只有 DELL 和 Thinkpad 的。其它的像宏基什么的,我只给别人修过,具体用上去怎样我不了解。DELL 是不用考虑了,Thinkpad 系列据说对 Linux 的支持挺好的,但在我们这边没有卖的,我也从来没有见过当地人使用 Thinkpad 系列的,而且 Thinkpad 系列的行价比低到了极点,所以从硬件角度上我选择了 MacBook。我买之前一直借用当时室友买的 MacBook,因此对 Mac OS X 也算比较适应了,感觉可以用来完成日常工作,这从软件上加强了我买 MacBook 的信心。当然我买回 MacBook 不久就想着把 Gentoo 安装到 MacBook 上去,结果发现需要配置的东西实在太多——键位映射、鼠标右键、声音、无线网络这些都需要慢慢调整,我最后只能放弃了。如果有人能弄一个 gentoo-macbook 的 portage 来个一键设定就好了。
相比起我过去用过的笔记本来说,MacBook 的硬件质量还是说的过去的。当然中间出过小问题,但都不如上次在 DELL 上的那次严重。有一次我在睡觉的时候把敞开的 MacBook 放在了枕头下面,睡觉起来发现触摸版右侧边缘的地方碎裂了一小块。当时的保修期还没有过,我就去了买电脑的地方,花了一个星期的时间,把整个键盘面板都换新了,感觉不错。
用到现在,除了有时 CPU 使用频率过高,导致风扇转的嗡嗡的烦人外,硬件方面又出了一点比较严重的问题。最近几天,我发现在写程序或浏览文档的时候,光标会莫名其妙的跳到别的地方。我开始以为是我的手掌碰到了触摸板,但观察了一会怎么也觉得不对,应该是不会碰上的。而且我过去用了两年的时间,都没有发生过这种情况,现在不可能一下子手的位置就摆错了。这个问题在写程序的时候比较严重,常常时不时就把程序搞乱,让人发疯。所以在检测出问题来前,我只好小心翼翼的操作。
后来在偶然的机会,我发现了问题的所在。原来在触摸板右侧的垫放手掌的这一块上,稍微用点力往下压,就有了鼠标左键点击的结果,几乎是百试不爽。原来是这边串线了啊。可惜的是保修期过了,苹果的这个保修好像还挺麻烦,需要单独购买他们的整年服务,很麻烦,所以也就没有去修。暂时的解决的方案,就是用外置的鼠标,看看能不能把触摸板给禁用了。之前没有这方面的经验,我也不知道能不能行。
关于 MacBook 的硬件的坚固程度,我虽然相信苹果产品的品质,但心里也会经常有些惴惴。主要是在挪动的时候,总会听见一些解封之间摩擦的声音,接缝也感觉不是很紧密。相比较起来,我看到别人用的铝质外壳的 MacBook Pro 则感觉应该坚固多了吧,特别是后来出了 Unibody 的产品,这方面应该更有优势了。
June 5, 2010
这日子没法过了
最近上网感觉很不爽,因为突然觉得浏览器都不大好用了。
我目前机器上安装的浏览器有三个:Safari、Firefox 和 Chrome。其中时间用的最久的是 Firefox,在目前对我来说是排在第一位的。过去我一直用 Safari,因为这是系统自带的,过去用着也还不错。但自从升级到版本 4 之后,新东西倒是有一些,但效率就不敢让人恭维了。过去我的首页还是默认的 top sites,每次启动 Safari 的时候系统生成首页上的那些缩略图就足以让我的机器卡一阵子了,后来我忍无可忍把首页设定成空白了。之后发现效率越来越差,就改用了 Firefox。Chrome 是最后开始用的,自从出了 for Mac 的 beta 版我就开始试用了,因为在 Windows 下用着感觉不错,所以就希望也在 Mac 上用。但那时 Chrome for Mac 的实现还相当不完善(其实到今天我也觉得缺少一些功能),而且不能安装扩展,这让习惯了 Firefox 下的 AdBlock 之类的插件的我很不适应,所以就放弃了。
几个星期前我听说 Chrome for Mac 也支持安装扩展了,就装了那么几个,感觉好用多了。但用了一阵子之后就感觉到了很严重的效率问题,速度变得特别慢!有时候会出来一个小窗口说是某个标签没有反应,问我是把页面给 kill 掉还是继续等待。有时在我切换标签页之后要等上那么几秒钟页面内容才会出来,这让人很不爽。不知道是不是因为我的浏览方式太过另类,开了太多的标签页的缘故。
过去在用 Firefox 的时候我很少感觉我开的标签页太多了,因为它的标签栏是可以左右滚动的,每一个标签最窄也是三厘米左右。而在 Chrome 下,所有标签页都挤在标签栏里,标签多了以后标签上有什么内容也无法看到了。我在安装扩展的时候看到了一个名为 Too Many Tabs 的扩展,是用来管理标签栏的。在这个扩展在地址栏右侧的图标上会显式目前有多少标签,我经常看到上面 4、50 的数字就觉得一阵心惊肉跳,觉得 Chrome 大概不堪重负了吧。另外,这个 Too Many Tabs 的扩展是为了管理标签的,可以在里面用关键字搜索,可是往搜索框里输入中文的速度是个问题;而且在我的机器上它的速度很慢,这就太有杀伤力了,切换标签这个常用的动作有效率问题可是不可饶恕的致命伤。所以到后来我觉得这个扩展算是一个鸡肋扩展。
在使用了这么一段时间之后,我越发的觉得 Chrome 的效率不行了。我觉得应该是程序里面有 bug 的原因吧,因为我有时会发现整个标签页是卡死了的,完全不能动弹。幸好 Chrome 有多进程这个特性,我把地址复制下来再重新建立一个标签也就解决了,但这总是让人觉得不痛快。另一方面,我对 Chrome 的所谓“多进程”也感觉与我预期的有一些距离。我过去以为每个页面是严格的放进每一个进程的,这样通过 Chrome 的 Task Manager 就可以管理这些进程里面的页面,那个页面耗费了过多的资源就可以一目了然的看出来了。但几次经验告诉我这不是真得。很多时候我看到几个页面是挤在一个进程里面的,根本就无法区分,更加不可能只杀死其中的一个页面。这样这个功能就大打折扣了。
Firefox 在 Mac 下我感觉就很完善了。它除了功能齐全以外,最大的好处是稳定。我在用 Chrome 这段时间内遇到的一些问题,在 Firefox 下基本上不会出现。我现在觉得 Chrome 比较可取的地方之一就是它的多进程,如果可以把这个功能放到 Firefox 上就好了。因为我有时会发现 Firefox 的 CPU 使用比例不正常的高,有时会到 90% 以上,这时候我的 MacBook 的风扇就讨厌的响起来了。而整个 Firefox 是一个大进程,我也无法判断其中的“老鼠屎”是那个页面,因此也无法调整。但瑕不掩瑜,我之前也说过稳定是最重要的,在 Firefox 中我基本上没有遇到过像 Chrome 那样切换了标签后要等上几秒钟后才能阅读的情况。
Chrome 的另一个可取之处是它的标签的界面比较好。当然这不是说外观,之前我也写文讨论过,而是说标签拖动方面更直观、更符合 Mac 系统用户的审美观。而在 Firefox 里,拖动标签时看到的就是一个蓝色的只是条下面跟着一个模糊的缩略图,让我每次拖动的时候都小心翼翼的,需要自习看看鼠标的位置是不是放对了。
至于说 Safari,我很久之前就不用了。主要是它没有扩展的功能,有些除广告的功能就没有了。而国内网站有很多就是有很讨厌的广告在骚扰读者。我的 AdBlock 的名单已经比较符合我的日常习惯了。Chrome 下的 AdBlock 插件虽然不如 Firefox 下那么直观方便,但也勉强可以使用了。可惜 Chrome 下还没有 NoScripts 插件,所以有些站点之内的音乐自动播放就无法控制了,我只能麻烦的在选项里设定 Javascript 的页面过滤条件,也将就了。而 Safari 则这两种东西都没有,遇到这种页面也就只好抓瞎了。再加上 Safari 的效率问题也给了我一些阴影,所以我很久没有用 Safari 了。
=========
昨天我终于无法忍受 Chrome 的垃圾性能了,于是又切换到了 Firefox 下。但这次不知道为什么,Firefox 的行为让我感觉很奇怪。有时让我很抓狂的情况是:打开一个页面,鼠标就变成了小彩球转个不停,我这时候也只能 Force Quit 了。而这些页面包括阿 Gmail、VeryCD……这种情况已经发生了两次了,让我都有阴影了。
Chrome 和 Safari 慢,Firefox 会卡,真让我不知道这些浏览器还怎么用下去。
有时候我想这些现代的图形浏览器是不是太不稳定了,是不是字符界面的浏览器会好一些呢?我过去在 Emacs 里面用 view-mode 来读文档就感觉很爽。Lynx 我用着不惯,我希望可以在 Emacs 里面用,毕竟页面操作起来也方便么。可惜 W3M 不支持新版本的 Emacs,只好作罢。
June 2, 2010
Cocoa Emacs 23 全屏
在 Mac OS X 下编译 Emacs 非常简单,从 BZR 上下载(记得要用“--stacked”参数)最新的源代码后,运行
./configure --with-ns make make install
就可以生成 .app 程序包。自从我知道了这个方法之后,我一直在用最新的 Emacs。
过去我用 CarbonEmacs 的时候,曾经设置过 Emacs 的全屏功能,用着一直感觉不错。后来自己编译使用 Emacs 23 后,就再也无法全屏了。上网查了一下原因,知道是因为从 Carbon 升级的 Cocoa 的过程中,有一些功能还没有完全实现,而全屏功能就是其中之一,因此我不得不遗憾的暂时放弃了这个功能。后来我发现点两次窗口最大化键也可以勉强达到全屏效果,于是就这么一直凑合着。
今天在浏览 Emacs Wiki 时看到了一篇 blog 文章的链接,文章介绍了在 Cocoa 环境下全屏的方法。按照文章中的办法,略微变通一下,果然成功了。
文章中说,日本黑客 Daisuke Murase 给 Emacs 23 添加了全屏功能。他在 github 上放了一个 Emacs 分支,但除了他添加的新功能之外,这个分支一直没有跟着主分支一起更新。所以文章的作者 Steve 从一个“官方”的 Emacs git 分支 clone 了最新的代码,并合并这两个版本,但在合并的时候发生了冲突。于是 Steve 提取了这个更新(a3585f6c2a)的 patch 并成功的更新了代码。
我在 clone Steve 提供的 Emacs git repo 时速度非常缓慢,已经超出了可以忍受的范围,只好放弃,改用从官方的 BZR repo 来下载代码。但这样我就无法(不会)用 git 来合并 Daisuke 的分支了。不过我在看 Daisuke 的 git repo 的时候,发现他提到了他的分支与主流分支的合并冲突问题,并给出了 patch 文件。把这个 patch 下载下来后,在下载下来的 Emacs trunk 目录下,运行 cat feature-fullscreen.patch | patch -p1 后就按照上面的方法正常编译 Emacs 就好了。编译完成后,用 M-x ns-toggle-fullscreen RET 就可以像过去一样全屏了。
我照样喜欢把全屏功能绑定在 command+return 键上,在 .emacs 文件中加上一行
(global-set-key (kbd "M-RET") 'ns-toggle-fullscreen)
搞定。
既然说道改动 .emacs 文件了,我前两天刚刚也修改了一下功能,就是 set-mark-command 的键位绑定。Emacs 默认对这个函数的绑定是 control+space,但在 Windows 和 Linux 系统上一般被用来切换输入法,在 Mac OS X 下我又把这个组合键设定成了 QuickSilver 的快捷键,所以这个键绑定就失效了。因为我一直用的笔记本电脑,所以我之前在选定文字的时候,就干脆用鼠标板来手动划定,勉强可用。如果要选定整个 buffer,就干脆把光标送到开头,再送到结尾也算是变相的选定了全文,操作起来就是按住 Meta 和 Shift 键,在迅速的分别按 ,. 一下就好了(或许有“正确”的全文选定办法,不过这么多年了,习惯了:-))除了用 control+space 来选定外,默认情况下用 C-@ 也可以同样的呼叫 set-mark-command,但我一直以来都觉得这个组合键的反人体工学达到了变态的程度。而 M-@ 这个组合键虽然同样需要三个键,但却更加顺手一些。M-@ 默认的绑定是 mark-word,就是选定一个词组,这些年来我从来没有用过这个功能。于是前天我“痛定思痛”,决定彻底解决这个问题,就是把这两个键绑定切换一下。于是在 .emacs 里面加上了这么两行
(global-set-key (kbd "M-@") 'set-mark-command) (global-set-key (kbd "C-@") 'mark-word)
于是世界清净了。
February 12, 2010
软件使用观察
过去我上课的时候总喜欢坐在第一排,因为那时觉得自己英文可能还不够正常理解老师说的每句话,坐在第一排可以帮助我集中精力听清楚。这个学期以来,由于心态的变化,我开始喜欢坐在后面。这样的好处是有更多的自由度,听起课来也更轻松一些。当然,需要记很多课堂笔记的《数据结构和算法分析》课我依旧是坐在前排。
坐在后排还有一个“好处”,就是可以“窥屏”。教室里很多人都带着计算机去记笔记,我在无聊的时候,就会看看他们在干什么,用的什么软件之类的。看了几次,让我感到有一个很深刻的印象,关于软件使用的。
Windows 下的软件就不用说了,一来我基本上不熟悉,二来多数人记笔记用的就是 OneNote(我从这边帮同学挑过电脑,一般买了都会带 OEM 版本的 Office 的一些软件),少数人用记事本,另外我见过一个 jerk 用的是 TextPad。关于 TextPad,我觉得只是一个比记事本稍微稍微强那么一点点的东西,在我看来它的优势只是大一老师教编程时推荐的编辑器。所以现在有同学编程甚至记录课堂笔记都用它,让我觉得实在是讶异。长期用这种编辑器,我觉得我会得抑郁症。当然,如果此人从来没有见过外面的世界,就不那么好说了,虽然这种情况的几率不大。
我们这边课堂上用 Mac 的人数与用 PC 的人数基本上持平,有时候还会超过。用 Linux 的我也见过至少 10 个。由于 Mac 和 Linux 都是以 UNIX 基础的系统,所以把它们放在一块讨论也算说得过去。虽然当中有些小的差异。
在 Linux 下,我见过的用来记笔记的工具,好像只有 oowriter。顺便说一句,我看见过的 Linux 发行版都比较基础。不知道是这帮老外的水平还在入门阶段还是已经“看破红尘”,用得基本上都是 Ubuntu 系列的系统。喜欢 GNOME 的就用基本的 Ubuntu,喜欢 KDE 的就用 Kubuntu。别说 Gentoo 了,我连个 Arch 都没见到过。用这些 Ubuntu 之外的发行版不是为了耍酷什么的,而是根据我的经验,Ubuntu 系统用一段时间之后,速度确实是像蜗牛一样,特别是我用了 Gentoo 之后,这种感觉尤其强烈。言归正传,用 oowriter 的大多数人都是普通的记录而已,而在《数据结构与算法分析》课上坐在我旁边的一个同学,我曾经瞟过他的屏幕,看到他就在课堂上用 oowriter 的画图工具在画 heap 等结构。看了之后我大感惊艳,时间长了不用 OpenOffice,我也不知道里面的画图工具进化到什么地步了,如果在课堂上来画这些数据结构图能赶上手画的速度,已经可以算是“泣鬼神”了。
在 Mac 下,我见过同学使用过的记笔记软件占多数的是 Pages。与 Linux 下的 oowriter 的情况差不多,当然也有不想掏钱购买 iWork 的而选择使用免费的 OpenOffice for Mac。少数人使用 Microsoft Office 2008 for Mac,也在情理之中。而我亲眼看到有人用 TextEdit.app 来记笔记,也算是相当奇特的了。更“厉害”的是我们《操作系统》课程的老师,一个资历比较老的教授,用 TextEdit.app 来维护一个挺长的 ToDo list。做得特别工整,左边是事件的描述,右边有耗时的估算。但愿是我无知,不知道 TextEdit.app 可以使用插件,难道要手动维护一个 ToDo list?按理说那一代的教授应该对 Emacs 比较了解的。
就我观察的这些人来说,绝大多数人喜欢用系统自带的或者是默认推荐的主流软件(当然,这不包括 IE。Firefox 在加拿大已经是标准的浏览器,哪怕是在 Mac 上,我也看到很多人使用 Firefox 而不是 Safari。)。这让我感到挺奇怪,人们选择使用最“流行”的而不是最优秀的软件来使用。虽然说不同人对“优秀”有不同的定义,但我想在计算机系,在判断软件的优秀程度上应该是比较统一的吧。但人们还是不大用 Emacs,用 Vim 略多一些,多数人喜欢用标准的图形软件。也许是大二老师讲 C 语言的时候在实验课上指定的标准软件是 Xcode,所以多数人对 IDE 情有独钟。Java 自然是 Eclipse 了,毕竟它自己也已经有了很大的名头了。
目前来看,相比起国内来说,Linux 在加拿大的计算机系课堂上已经不算“小众”了。根据我的观察,Emacs 才是真正的小众。在这里流行的似乎不是 Emacs 这种“用统一的工具来编辑不同的文档”的政策,而是用不同的工具针对性的编辑不同的文档。写 Java 程序有 Java 编辑器,写报告有文字处理工具,等等。我在这些年来,在自己的计算机上使用 Emacs 的,我是一个都没见到过。
我想过,一个普通的大学生使用计算机按照“潮流”来选择软件是正常的,而一个计算机系的大学生使用的软件,为什么还在这种基础的层次上呢?有很多软件,虽然古老,但绝对比那些东西优秀。前几天我们要交项目的 proposal,我负责合并小组其余三位成员的工作,完成排版工作后交给老师。老师的 proposal guide 上说如果 proposal 是用 LaTeX 编辑的,可以有加分。当时我就想,如果不让我用 TeX,我还能拿什么来排版呢?到今天来说,文字处理工具已经越来越不适合我了,我对它们也越来越生疏了。让我用文字处理工具来排版,想象就有很多困难。
我至今还记得引导我进入 Linux 大门的王垠的一篇文章(这篇文章被王垠改了,之前的观点性的论述被删除了)。里面有一节好像就是说使用这些看上去“老掉牙”的但绝对优秀、稳定的程序,而不是用像 OpenOffice 这样“新潮”(五、六年前了,那时候 OOo 确实新潮)却不稳定的程序。我觉得到今天来看,这话还是对的。OOo 虽然发展了这么多年,但我觉得从文档编辑的角度来看,包括 OOo、包括 Word,出发的方向就错了。我到今天也无法接受这个方向,因为按照这个方向走,对一个文档进行排版实在是太难受了。直观的来看,这些所见即所得的软件满足了初学者,似乎也很简单,但确是在要求用户来符合计算机的思想。而 TeX 这种“所想即所得”的软件,用一些简单的符号来表示文档的样式,是相当符合人类的思维方式的。
有时候我想,我身边的这帮人用 Linux 是为什么呢?觉得 Linux 很稳定?其实近几年来 Windows 已经很稳定了,从 Windows 2000 之后就很少有蓝屏等状况发生了。觉得 Linux 很酷?也许吧。我的理由是 Linux 下的软件是无法移植的,所以我希望使用 Linux。为了某些原因而为了用 Linux 而用 Linux,我觉得是一种“买椟还珠”的行为。我一直在推崇 Linus 对于操作系统的看法──操作系统的任务是帮助软件来运行,一个用户应当永远看不到操作系统。目前的很多发行版,为了推广 Linux,让 Linux 看上去简单,集成了很多入门级的软件(如 OOo),这些软件实在不是我心目中不可替代的软件。
February 11, 2010
Emacs 路径
有些时候最可气的是,明明有个东西你知道见过,但用的时候就是找不到了。
我这学期网络课的项目要求在明天之前交 Proposal,要求中说如果是用 LaTeX 排版的可以有加分。我这学期之前一直在用 ConTeXt,这学期一直在用 Emace Muse 和 org-mode,感觉很长时间没有用过 LaTeX 了。开始的时候我想接着用 ConTeXt,毕竟感觉熟悉一些,但在 Emacs 中打开一个 .tex 文件却提示错误。我才想起我这个自己编译的 Emacs里面还没有安装任何 ConTeXt 的支持。后来为了方便大家一起工作,决定用 LaTeX。之前加上 AUXTeX 插件的 Emacs 也用惯了,于是我就自己装一次 AUCTeX,既为了这次使用,也为了将来编辑 ConTeXt 时用。
AUCTeX 支持通过快捷键来编译文档。我过去用的应该也是 AUCTeX,但一直没有用过快捷键,因为一直不知道有这个功能。我一般都是或者用 compile 命令,或者按 M-! 来执行 pdflatex 命令。而 AUCTeX 的快捷键的好处就是编译完成后,有没有问题都在 mini-buffer 里面告诉你,而不会把窗口切成两半再出来一个新的 buffer。按 C-c C-l 之后才会调出编译的结果,所以我就一直在用快捷键。
但它有个问题,就是 Emacs 找不到 latex 命令。我用 (getenv "HOME") 检查了一下,发现 Emacs 并没有载入我在 .profile 文件里面设置的 PATH 变量。这样的后果是,AUCTeX 找不到 latex 命令,因为它们都不是安装在默认的 /usr/bin 和 /usr/sbin 目录里面。这让我相当苦恼,不仅 AUCTeX 没法用,原先我的那种 M-! 调用外部命令的方法也不行了。
我印象里之前看过让 Emacs 识别 .profile 文件里的 PATH 设定,但从来没有想到自己也有用到的一天。这次我从网上用各种关键字搜索了很长时间,还是没有找到。CarbonEmacs 在这方面工作是正常的,不过我也没有仔细研究过 CarbonEmacs 的目录分配,不知道相关的设定文件在什么位置,一时间也找不到。
后来我想过一个折衷方法,把 AUCTeX 的 latex 命令设定成绝对路径,也就是在 .emacs 文件里面加上这么一行 (custom-set-variables '(LaTeX-command "/usr/local/texlive/2009/bin/universal-darwin/latex"))。但我发先这样的话,单纯用 latex 是没问题了,但要想用 PDFLaTeX 直接生成 PDF 文件,而不是生成 DVI 文件后再转换成 PDF 文件的话,这样做就没用了。原来是 AUCTeX 没有给每个编译命令设定不同的命令行,而是直接偷懒,如果是想调用 PDFLaTeX 的话,就直接在 LaTeX 的命令行前面加上 pdf。这样的话,AUCTeX 生成的 PDFLaTeX 命令行就成了 pdf/usr/local/texlive/2009/bin/universal-darwin/latex,自然找不到相关的程序了。
后来我没办法,直接用笨办法,在 .emacs 里面设定 PATH 变量。也就是加上这么一段:
(setenv "PATH"
(concat
"/opt/local/bin" ":"
"/opt/local/sbin" ":"
"/usr/bin" ":"
"/bin" ":"
"/usr/sbin" ":"
"/sbin" ":"
"/usr/local/bin" ":"
"/usr/texbin" ":"
"/usr/X11/bin"
(getenv "PATH")
)
)
这种方法,我参考了 Xah Lee 的文章。
不知道是不是心理作用,我试验了这种方法之后,总是觉得启动的速度变慢似地。不过这样确实是在设定程序里面加了一些不应该添加的东西,因为他们降低了 .emacs 文件的“可移植性”。所以我又在找其它的办法,于是我找到了这篇文章。文章介绍了通过设定 Mac OS X 本身的 plist 来让 Emacs 获取设定的路径。方法是在终端里面运行 defaults write $HOME/.MacOSX/environment PATH “$PATH” 这么一行。我试验了之后,手动观察了一下 ~/.MacOSX/environment.plist 文件,发现里面是乱码。我对 plist 文件的格式不了解,以为是系统给编码了。文章中说执行完这行命令后,要重启一下计算机才行,我也乖乖重启。但重启之后却发现 Emacs 中根本还是老样子。
印象里 Mac 自带了一个程序,可以编辑 plist 文件的。我于是找了一下,发现了 Property List Editor.app 程序。进去后打开了 ~/.MacOSX/environment.plist 文件,试着把乱码改成了 PATH 变量里的内容,再重启之后就好了。不过这样也不是很完美,我查了一下系统的 PATH 变量,有些路径出现了两次,不过不影响使用。
这件事给了我又一个 Mac OS X 系统与 UNIX 系统之间的不同的地方。可能是为了兼容旧程序,Mac 没有统一实行一个策略。既然已经有了 PATH 方式,为什么还要弄个 plist 让某些程序读取呢?我觉得 UNIX 传统的路径政策是非常好的,通用、设定起来也方便。Mac 的很多这策是只给用户提供一种最通用的办法,而这种情况下,一个简单的路径就有了不同的设定方案,两者还不统一,确实给用户带来了麻烦。
January 27, 2010
Mail.app 的 Junk check
今天中午发现了一个相对比较严重的 Mail.app 程序在垃圾邮件检测时的问题。
在回复老师的邮件时,我突然想到了已经很长时间没有检查 Junk 文件夹了,于是就顺便过去看了一看。在往下滚动的时候,我看到了有很多我希望保留的邮件被标记为了垃圾邮件。不知是中文邮件,英文文件也有好多。其中最明显的可能是来自 Flickr 和 Orkut 的邮件了吧。我之前在曙光博客上的留言回复通知也被过滤了。还有之前我同学给我发送的邮件,以及上个学期我们《密码学》教授群发的邮件也被过滤了。Site5 发来的 Adsense 优惠码也被挡住了。
中文邮件我勉强也就理解了,但英文邮件竟然也被过滤就让我觉得不可饶恕了。难道苹果不会设定一个白名单吗?像 Flickr 这种大型社区的邮件,以及一些著名大学相关科系的邮件,是无论如何也不应该被过滤的。虽然这些邮件主要是通知我某人又把我加入好友列表了。也好在我教授群发的邮件没有什么关键性的内容,否则损失就大了。最主要的一封邮件,是关于今年学校注册部门给发来的保险认证邮件,也被档了下来。
除了白名单之外,Mail.app 也应该更智能一些。比如说 Google Mail 的垃圾邮件过滤是非常优秀的,那么一个帐号是 Gmail 的话,是不是就不需要再做一次过滤了呢?就算不是默认设定,那么针对某一个帐号的垃圾邮件过滤开关也应该提供吧。我找了几次也没找到。也许通过在命令行输入一些命令可以设置,但这种选项应该提供给全部用户了吧。
经过这次事件,我对 Mail.app 有一点失望。我当时在看 Mac OS X Snow Leopard 的演示视频的时候,印象最深的就是和 Mail.app 相关的几个程序。尤其是 Mail.app 和 iCal.app 以及 Address Book.app 程序之间的互通,让我觉得在日常应用之中应该会很方便。但在日常当中,这些日程安排的功能我用的都不是很多,因此现在也动摇了一些我的对 Mail.app 的信心。我看到过有些人在 Mac 上使用 Thunderbird,我当时有些奇怪──既然系统已经有了 Mail.app 这么一个非常好用的客户端了,为什么还要用第三方的?不过目前这种想法有些改变了。我可能会在未来试验一下其它的软件。
最后也要批评一下学校邮件系统的垃圾过滤系统。应该过滤的不过滤,不该过滤的反而过滤了。我在用 Linux 的时候用过 mutt 来收发邮件,后台用的好像是 getmail,没有设定本地的垃圾邮件过滤。学校的邮箱基本上一天到晚被各种各样的垃圾邮件充斥着,根本无法使用。这也是我用 Mail.app 的一个原因,就是它可以帮我过滤邮件。而学校的过滤系统确实曾经过滤过 Facebook 的邮件确认信。那时候(2007年)Facebook 还只能用大学的学校邮箱来注册,因此我只能用我的学校邮箱来注册。但却收不到确认信,后来才发现是被学校给过滤了。我当时在 Facebook 中说起过这件事时,收到很多人给我的信息,问我怎么样才能收到确认新,看来学校的这个垃圾过滤系统给不少人带来了麻烦啊。
January 20, 2010
编译安装了 Emacs 23
Emacs 已经成为了我的计算机上的必备软件之一。平时如果写一些规模不算大的程序,我一般都是用 Emacs (Emacs 有 ecb 可以用来管理项目,不过我还没有入门),而日常上 USENET、上 IRC 更是离不开 Emacs。记不清我在用 Linux 的时候用的是什么版本的 Emacs 了,印象里我要对中文支持进行一些设定,所以我估计当时用的是 22 版本的。很早就听说过 Emacs 23 对中文支持有了新的高度,但限于条件,我好像一直没有使用过。
到了 Mac 平台后,我刚开始不知道有什么 Mac 上运行的 Emacs 程序包,以为 Mac 上只能使用原生的 Mac 程序(我可不想在 Mac 上用 X 来运行 UNIX 软件,实在是太丑了,也不习惯),所以当初还买了 TextMate。当时我急着完成作业,急切的需要一个好的编辑器。后来我找到了一些 Mac 上可以运行的 Emacs,立刻就把 TextMate “打入冷宫”了。TextMate 的问题,除了它不支持中文外,最大的问题还是按键上还不是完全模仿 Emacs 的,有些细节的地方还不方便。而 TextMate 被广为称道的 Bundles,我在看一些 Rails 演示视频的时候看那些人用的很熟练,但后来觉得自己实在是很少有机会用到这些功能,而且那些组合键也很难记忆,所以我反而一直没有用上。
我在寻找 Mac 上可以运行的 Emacs 时试用过不少版本,开始时用的版本配置的都不是很好。尤其是 Meta 键的配置,映射的是 option 键,而 command 键则被用来当作 Mac 自带的组合键来使用,比如用 command+c 来复制等。我还不是一个“资深”的 Mac 用户,所以在用 Emacs 的时候,我更喜欢用 Meta+w 来复制,而不是用 Mac 的组合键。当时我也不知道怎么把 meta 映射到 command 键上,所以这些版本的 Emacs 都被我忽略了。后来我找到了 CarbonEmacs,一个日本人做的版本,里面包含了各种配置,其中就有我需要的 meta 键映射。另外默认的还有很多 lisp 包,比方说各种模式,用起来很方便,于是我就一直用它了。
话说对于完美的追求还是永无止境的。前几天在查 CarbonEmacs 的版本的时候,发现居然还是停留在 22 版本上。随后我也意识到似乎 CarbonEmacs 也有半年多没有更新了,于是就到它的网页上去看了看。看到了有个 2010 Edition。新的一年有了新的版本,不错。不过看了一下版本还是停留在了 22 上,而我希望的版本是 23。除了 23 > 22 这个原因之外(:-)),还有对于 Unicode 的支持也是我希望升级的原因。我印象里在 2007 年用 Linux 的时候,就有人在用 Emacs 23 了。新版本的 Emacs 对 Unicode 的原生支持,使得它不需要额外配置就可以正常的显式中文。CarbonEmacs 的多语言设置虽然好(毕竟作者是日本人),但有些偏字,比如说前总理的名字,就无法正常显式,在 23 版本中,就非常正常了。另外的原因是我想在 Mac 平台上使用 Cocoa 而不是老旧的 Carbon。于是我就搜索了 “Cocoa Emacs”,看看有没有使用 Cocoa 的 Emacs 包。
我找到了几个有二进制包下载网页,比如说 AquaEmacs 等等。不过它们都有一个问题,就是 command 键映射的不是 Meta 键。这一点让我非常苦恼。我从 CarbonEmacs 的包里面找了半天的设定,也没有找到。后来在 Emacs Wiki 上找到了不同平台上 Emacs 的安装方法,上面有在 Mac 平台下通过编译来安装 Cocoa 版本的 Emacs 的方法。通过编译可以把 Emacs 编译成 Mac 下的 .app 包,这是我希望的,而且有之前使用过 Gentoo 的经验,对于编译也没有太大恐惧感,还有本地编译的一些好处,我就尝试了一下。由于所有的 Mac 平台的硬件和软件都是统一的,所以编译安装十分容易。下载了 CVS 的代码之后,输入两条编译命令,大概20分钟就编译完成了,不会出现问题。
用惯了 CarbonEmacs 的 all-in-one 的软件,一下子上到自己编译的 Emacs 下还有些不习惯,因为很多 lisp 包都没有,需要自己安装,这让我第一次面对错误提示时有些愣神。不过等反应过来后,要解决问题也不难,少那个包就下载下来放进 site-lisp 目录里就行了,最后再 byte compile 一下也就完美了。我的 .emacs 文件不算大,里面也没有用什么偏门的包,所以都很好解决。我曾经想过像 CarbonEmacs 那样把所有的第三方 lisp 包放进 .app 目录里面,这样要想移动 Emacs,只要复制一个 .app 目录就行。后来还是放弃了,因为这样会把目录弄的很乱,而且如果在本地机器上再更换 Emacs 的话还要再把包复制到新的目录下。倒不如放进 HOME 目录下一劳永逸。
不过最关键的问题是解决 Meta 键的映射问题,从网上搜索我也找到了解决方法,这也是推动我升级的动力之一。方法就是在 .emacs 文件里面加入这么一行:
(setq ns-command-modifier (quote meta))
这之后就可以把 command 键来当作 Meta 来用了。
有了这些之后,其它的问题其实也就迎刃而解了。不过还是有些兼容性的问题是无法解决的。首先就是全屏模式在 Cocoa 下还没有实现,因此目前为止还没有任何一种方法来完成全屏显式。之前在 CarbonEmacs 下很舒服的用 Meta+Enter 来切换全屏与窗口的方式也就不行了,这让我有点耿耿于怀。不过还在它也不算什么大问题,需要用全屏的话,按两次窗口上的最大化键也勉强可以用。
还有一个大问题是字符的颜色问题。我估计可能是 Cocoa 的原因,光标落在字符上,字符并不反色显式。这一点无论是我用默认的颜色设定还是我用 color-theme 里多数的 theme 时,都让光标下的字符很难以识别。我对照了目前版本和 CarbonEmacs 的颜色设定,都是一样的,因此也不知道怎么能设定好。把 CarbonEmacs 的 color-theme 的 lisp 设定复制到 Emacs 23 上也还是一样,这让我很苦恼。我还去 #emacs IRC 组上去询问,也没有好的方法。最后通过把光标设置成闪烁模式,算是勉强解决了问题。
汉字显式可能是没有完全设定好,目前在 Emacs 23 下的斜体汉字是无法显式的,所有的斜体汉字都被用方块来代替了。我觉得通过设定应该能解决这个问题:或者让汉字不用斜体显式;或者让 Emacs 能使用斜体的汉字。但由于我日常很少让 Emacs 显式斜体的中文,所以也就没有去深究这个问题。
几天用下来,除了上述的一些小细节之外,其它的都没有什么问题。Emacs 23 确实有了一些新功能,不过总体上来说我常用的操作都没有改变,这也算是经典软件的好处了。
December 24, 2009
更换终端程序
在买了 MacBook 之后,我的终端程序一直用的是系统自带的 Terminal.app。总体感觉来说还不错,虽然默认的配置看起来丑了些,但把风格切换成 Pro 的,字体弄成平滑的,用起来也算舒心了。
其实丑不丑倒是没关系,这方面我不是很挑剔,但最让我不习惯的是无法使用 Bash 中的快捷键。比方说,向左移动一个单词,过去我在 Linux 下可以按 Alt+b 来完成,这在命令行中特别有用。有时要调整某个参数,没有这个快捷键,用方向键或 Ctrl+b 来一个字符一个字符来移动的,就特别麻烦。我观察了一阵子,发现最主要的问题在于 Terminal.app 是个 Mac 程序,因此很多系统快捷键都需要用 command 键来调用。而 command 左边的 alt 键,则是用于输入一些特殊的符号,比如 ∫(是数学里的积分符号,我不知道能不能正常显式)。所以我在习惯之前一直非常苦恼。
对我来说,终端程序基本上是日常必备的软件。每次重启之后我要首先打开的几个程序中,就有终端程序。很多人觉得命令行难,但是一旦习惯了 UNIX shell 的那种工作方式,就感觉一直离不开了,因为有些程序实在是太赞了。所以我就很怀念过去我自己配置的 fvwm 桌面,我把 Alt+F1 快捷键绑定到“打开一个 urxvt 窗口”。我在启动脚本里面加上了运行 urxvt 的服务进程的指令,所以开机后就会在后台有个进程来先载入 rxvt 的一部分,所以我的快捷键只是打开一个新的窗口,因此速度非常快,基本上是随用随调。另外,我的 Alt+F2 绑定的是运行 gmrun,从里面可以运行任何命令,我一般用它来打开某个程序,就像 Quicksilver 一样用。
所以在 Mac 下,我也希望弄到这个效果。不过一来很少有软件会用到 C-S 架构,二来我对 Mac 本身的快捷键也不熟悉。在 fvwm 里所有的快捷键都是我从头自己设计的,不会有冲突问题;在 Mac 中会不会有冲突问题,发生冲突时以谁为主,我都不清楚,也没有什么时间研究了。所以就一直迟迟没有弄成这个功能,只是在某个 space 里面固定放一个 Terminal.app 窗口,等需要的时候就过去那个 space 就好了。
后来我好像是在课堂上,看到坐在我前面几排中有人一样用 MacBook,他的系统有一种功能,就是把一个终端窗口弄的和屏幕一样宽,高度大概有十公分多一些,所到屏幕的最上方。用的时候,终端窗口会从上方滑下来,用完了之后又滑了上去。我过去在用 fvwm 的前期,曾经也用这种方式做过。启动的时候运行一个 aterm,在屏幕上方缩成一条线。等我鼠标顶到屏幕最上方的时候,aterm 窗口会滑下来。开始的时候我觉得这个功能挺有意思,后来觉得有点添乱,所以在有了新的方法之后,就没有再用这个。我当时觉得这个样子应该会解决一些问题,于是就回家研究,发现了 SIMBL 这个插件,然后需要做一些设定,绑定到一个快捷键上,就完成了这个效果。我印象里好像是绑定到了 command+F2 上,当我按这个快捷键时,Terminal.app 会从上方滑下来,占据几乎整个桌面(除了 Dock 部分),用完了之后,再按一次 command+F2,窗口就回去了。
当时我就一直这么用着,Terminal.app 可以建立多个标签页,因此有多个终端可以同时使用,用起来也够了。可是当我把系统升级到 Snow Leopard 后,好像 SIMBL 不能用了,大概是 32 位和 64 位兼容的问题。那时我每次运行 Terminal.app 之后,Dock 上会出现它的图标,然后过几秒钟之后,图标就没了。当时我搜索过一些网页,好像没有什么解决办法,于是就干脆放弃 Terminal.app,改用我之前就用过的 iTerm。关于这个 iTerm,我是在一些文章上看到的,之前也用过。好像是在过去,Mac 自带的 Terminal.app 功能还不大够的时候,人们会用 iTerm 代替。我试用的时候感觉 iTerm 功能也就那个样子,于是还是用系统自带的终端。这会 Terminal.app 不能运行了,我就用 iTerm 来代替。
iTerm 我用起来也还不错的。我没有对显示效果做任何的调校,因为默认的界面就已经不错了。其中我最喜欢的功能是按 command+return 会把 iTerm 整个全屏,这样在终端上工作就可以不受打扰了,而且终端更宽了之后显式的东西也多,读起来也更方便了。iTerm 同样支持标签页,但它的标签页切换方式不是系统默认的 command+shift+[ 和 command+shift+],而是 command+数字键。这在开始让我很不习惯,我经常按原先的切换标签,得到的确实“嘟嘟”的错误提示音。不过后来习惯了之后,反而觉得这种方法能一下子跳到想去的标签,感觉也不错。而且现在 Google Chrome 也兼容这种切换的方式,我接触这种方式的机会多了,也就更习惯了。想比较而言,还有第三种切换标签页的方法,一直为我所不齿,就是 command+左右方向键,Adium 就是用的这种方法。这种方法最大的问题是,切换标签的时候,右手要从主要的区域挪到方向键区域,很麻烦的,要让我每天都要这样移动,一定会疯掉。后来在一些小的部件升级之后,Terminal.app 可以使用了,不过那时我已经习惯了 iTerm,所以就一直这么用着。
iTerm 还是有一个问题,就是一些细节上的地方还是太过靠近与 Mac,而不是 UNIX。主要就是向左向右移动一个单词的问题。我在按 command+b 的时候出现的是 iTerm 的标签;我在按 option+b 的时候出现的还是积分符号。而我在前几天看了一个视频,让我回到了 Terminal.app 的怀抱。我看的那个视频是教给我们如何在 Terminal.app 中使用 UNIX 那种移动光标的方法,原来就是在设定里面的 keyboard 标签下面,选中 “Use option as meta key”,就可以通过 option+b 之类的快捷键来快速移动光标了。
知道了这一点之后,我又翻了一下 iTerm 的设定,没有找到有相关的设定。于是我立刻决定回到 Terminal.app 的怀抱。之前的 Pro 主题的一些具体参数因为升级系统而丢掉了,二来也确实有了一些审美疲劳,于是就换了一个 Novel 主题,感觉米黄色的底色加上黑色的字符,既明显又不刺眼,十分舒服。
换回 Teriminal.app 之后,我有几点不习惯。首先是现在我经常用 command+数字键 来切换标签,而在 Terminal.app 程序里这个快捷键的作用是切换不同的 Terminal.app 窗口。我一般只开一个窗口,并在那个窗口里开多个标签,所以按这个快捷键时会经常发出“嘟嘟”的提示音。二是我在用 command+tab 切换程序的时候,脑子里想的还是 iTerm 的图标,等半天后才反应过来应该找 Terminal.app 的图标才对。
December 21, 2009
编译安装了 wine
今天下午经过反复的努力(主要是体力劳动),终于在 Macintosh 上安装上了 1.1.35 的开发版。虽然反复的操作弄的我挺恶心,不过也算对于 Macintosh 二进制文件有了更多的了解,也算比较高兴。
起因是在写上一篇文章的时候提到了 wine 与 WinApps 这个国产项目。WinApps 致力于通过 wine 来模拟一些 Windows,让它们可以运行在 Macintosh 平台上。我听说这个项目的时候,开发者已经模拟了 IE、迅雷、还有些输入法了。我那时最需要的就是迅雷,因为即使在 Mac 下,迅雷下 BT 的速度还是要超过 Transmission,所以就下载了需要的两个包。很多中文无法正常显示,比如菜单,但菜单下的项目却显式正常,所以我用得还算可以。只是后来会不稳定,在下载某种文件(是何种文件,这个规律我还没找出来)时,会突然程序终止。我曾经想把目前的程序都删掉,重新下载安装一遍,但再次上这个项目的网站上时却发现,这个程序需要 VIP 会员才能下载了。注册 VIP 会员的费用不高,30 多人民币,但支付方式让我没办法,所以我就只好作罢,继续勉强用当时的版本。
既然 WinApps 包里面已经有 wine 了,所以我就一直没有自己安装,需要的时候就从命令行调用 /Applications/WinApps/Wine.bundle/Content/bin/wine 来直接使用 wine。正好我需要使用 Xenu 来检查我的网站,它是个 Windows 程序,所以我就这样使用了 wine 来运行它。运行的结果还不错,但在我退出程序前检查了一下 wine 的版本,发现还停留在比较旧的 1.0.9 版本上,而 wine 网站上已经到了 1.1.35 了。我一直怀疑在新版本上是否会修改了中文等问题,再加上在找 Crossover 破解版的时候,看到文章中说如果有基础可以用开原版的 wine。于是我就有了自己装个 wine 好好配置的想法。
在 MacPorts 里面有 wine-devel,在升级一下 ports 后也成了 1.1.35 版本了。我于是就开始编译安装这个版本。结果需要编译很多 xorg 的包。我过去见到这种类型的软件基本上都是“退避三舍”的,因为 Mac 系统本身就有了 X11,再编译安装一遍就是浪费了,不能和 Mac 本身的包结合,也是我最不喜欢 MacPorts 的地方。今天为了编译 wine,也就忍痛接受了。结果呼呼呼的把所有依赖的包都装上了后,开始编译 wine-devel 了,却在 configure 的时候告诉我发生错误:
Error: You cannot install wine-devel for the architecture(s) i386
Error: because /opt/local/lib/libexpat.dylib only contains the architecture(s) x86_64.
Error: Try reinstalling the port that provides /opt/local/lib/libexpat.dylib with the +universal variant.
Error: Target org.macports.extract returned: incompatible architectures in dependencies
Error: Status 1 encountered during processing.
我当时看了这些后,才明白 wine 只有 i386 的版本,也就是 32 位的版本。而我的系统现在是 Snow Leopard,在升级后我重新安装编译了 MacPorts,因此所有通过 MacPorts 安装的软件,基本上都是 x86_64 的,也就是 64 位的。我看了信息后,以为就不能把 wine 安装在 Snow Leopard 上了,但又不甘心,于是就上网搜,结果搜到了这篇文章,有人遇到了和我一样的问题,后面有人给出了解答。原来 MacPorts 的意思是让我重新把依赖的包编译成 Universal 版本的,也就是在安装的时候加上 +universal。于是我就按照要求重新编译。
在观察编译时输出的信息时,我发现 MacPorts 编译了 i386 和 x86_64 的,才想到之前看到的说 Mac 系统的新 Universal 包的定义和过去不同的消息。过去的 Universal 意思是把 PPC 和 Intel 的程序都编译一遍,打成一个包,在运行的时候先判断平台,然后运行相应的程序。而在 Snow Leopard 中苹果已经完全放弃了 PPC 处理器,所以这里的 Universal 的意思是 32 位和 64 位的程序一起打成一个包的意思。当时看那篇文章的时候没有多想,没想到在这里得到了印证。
本来我想的还不错,以为编译几个包后就可以了,结果没想到一个一个竟然没完了。当中还有别的包,本身有依赖其它的包,configure 时就不通过,需要把那些包也编译成 Universal 格式的。我想起安装 wine-devel 时自动编译的那些包,顿时心情落到了谷底。但也没有别的办法,就嘴里一遍骂着一遍手上输入指令。然后我想到,这些依赖的包多数是 xorg-* 开头的,我如果把他们全都删除了,然后再编译 wine-devel,加上 +universal,岂不就是自动把依赖的包编译成 Universal 的了吗?想到了我就立即动手,结果 MacPorts 却问我说有某个包被其它包依赖,需要把依赖它的包删除了后才能删除这个包。我照做了几次后,却发现这种包不是一个两个,顿时心情落到了更深的谷底。我想 MacPorts 应该有相应的参数来强行删除包的吧,但却又不大了解参数,看文档试验了几个,感觉效果不大。
这条路不行,我又看到 wine-devel 的包已经被我重新编译的差不多了,于是又手工的编译剩下的,结果编译了两个之后终于弄完了,可以编译 wine-devel 了。
不过事情并不是按照我的想法进行的,wine 装上了,winetricks 也弄上了,我也复制了 simsun.ttc 和 simhei.ttf 到 Windows 的字体目录下,也按照网上的教程修改了注册表,但中文还是显式乱码。看来是两者编码不对,还不知道怎么修改。
总之目前在没有找到进一步方法之前,我是没什么心情研究了。迅雷还是用 WinApps 里的好了,还好我没删除旧的。英文小软件就用 wine 来跑,也没什么问题。不过,我当时下载的破解版的 Crossover 8 还没有删除,等有时间再研究一下,呵呵。
November 1, 2009
停用iChat
自从我买了MacBook,我就在用Adium作为聊天客户端。Macintosh自带的聊天工具是iChat,而且在Leopard发布时一起作了更新,有了一些新功能。我过去定说过iChat,但对其外观、功能与特色不甚了然。在看了Apple官方的介绍Leopard的视频后,我才感叹到iChat实在是太棒了。但真正让我感到惊讶的是协作功能,双方甚至可以完全操作对方的电脑。但当我为了尽可能与更多的朋友在网上联系,我同时有Google Talk、MSN和QQ帐号。iChat只支持其中的Google Talk,而Adium三个都支持,因此我尽管很想用iChat,结果还是用了Adium。
大约半年前,不知道腾讯公司又在搞什么,Adium的QQ插件无法登录了。当登录QQ时,Adium总是提示我的密码错误,而我用官方版的QQ则没有问题。我不喜欢同时运行两个用于类似功能的程序,于是就干脆不上QQ了。反正平时也没有什么正事,我有事找同学的话就用官方版的登录。后来我看到了可以通过Jabber服务器来让iChat连上MSN,当进行成功后,我就用iChat替换了Adium。
今天我实在是不想忍受iChat了。iChat最大的毛病是,当主程序不开着的时候,经常掉线。iChat可以启动一个Agent在后台运行,并在系统的菜单栏右边显式一个图标,而主程序可以退出。当有人给我发信息的时候,iChat会自动启动。可这个Agent经常失效,命名图标是连线的标志,可是我实际上是不在线的。今天我登录gmail的时候,看到我母亲给我留的言,我才发现原来iChatAgent又一次失效了。于是就忍无可忍,把iChat彻底关掉了,并拖出了Dock。
iChat虽然可以通过Jabber来登录MSN,但工作的并不好。有时Jabber服务器登录失败,会接连发来消息,让人感到很讨厌,这也是我放弃iChat的一个原因。而iChat吸引我的地方,我这里完全用不到。即使是支持Google Talk帐户,如果对方用的不是Macintosh的话,我们也无法协作。
经过了半年时间,Adium还是无法登录QQ,不过我也习惯了。QQ本来就是娱乐用的,对我来说不是什么正事。而刚才看了一下Adium,才发现竟然有这么多联系人同时登录。而我终于也能够“光明正大”的用MSN了。不过,这件事,以及之前Safari 4在我这里运行的一些问题,还有一些细节问题,倒是提示了我,Apple并不总是写好的软件的。