在Gentoo上使用笔记本触摸板

经过几翻折腾,终于能在Gentoo下正常使用触摸板了,简单记录一下值得注意的地方。

内核选项

确保 evdev 选中的前提下,把 PS/2 mouse 选中就够了。

驱动安装

USE 里一定要加上 hal 。

然后 emerge -uN xorg-server xf86-input-synaptics 。

功能调试

Gentoo 的 Wiki 里充满了过时的信息。目前 Google 一下 Gentoo Synaptics ,第一个结果页面里就包含了通过 xorg.conf , hal 和 udev 设置触摸板这三种办法。在最新版本(>7.3)的 Xorg 中唯一奏效的是 udev 的方法。具体步骤是创建 /usr/share/X11/xorg.conf.d/50-synaptcis.conf 文件,内容如下:

   Section "InputClass"
           Identifier "touchpad catchall"
           Driver "synaptics"
       MatchDevicePath "/dev/input/event*"
           MatchIsTouchPad "on
       Option "VertEdgeScroll" "on"
           Option "TapButton1" "1"
   EndSection

MatchDevicePath 这一行是触摸板在系统对应的设备文件,可以通过察看 /proc/bus/input/devices 的内容找到 (Synaptics 下面的 Handlers 项)。更多的 Option 可以在 man synaptics 里找到。比如把两指点击触发右键可以通过 Option "TapButton2" "3" 来实现。

用clonezilla备份你的(黑苹果)系统

更新10.6.6失败了以后开始找寻全盘备份黑苹果的方案,然后就找到了神奇的 clonezilla 。用它把刚刚装完雪豹的分区备份下来,以后就可以“一键恢复”了。

先简略介绍一下这个软件的几大特点:

  1. 开源。代码在 sourceforge 。其实是个基于 Debian 的 Linux 发行版。

  2. 由台湾牛人开发,支持中文,相信对很多朋友来说是很重要的。

  3. 操作傻瓜化。

  4. 最重要的,功能强大。具体表现在支持 HFS+ 和 NTFS 等等各种格式的全盘/分区备份。同时备份MBR信息,所以不用担心 bootloader 丢失。Server 版本还支持多机部署。程序本身也可以运行在 Windows 或者 Linux 下面。

下面介绍一下单机版 (clonezilla-live) 在 Linux 下的使用过程:

有系统镜像制作或使用经历的人想到的第一步应该是“启动介质”吧? 它可以是一张光盘,一个U盘或者外接USB硬盘。

clonezilla 也要求使用这样一个介质,准备它的过程简单到了极点:只要根据你的操作系统下载这个叫做 Tuxboot 的图形化小工具。插入你准备使用的启动介质,打开 Tuxboot,在界面的"type"部分选择你的介质,然后点"OK"。Tuxboot 会自动下载合适的 clonezilla 并安装到你的介质上,并把它设置成一个启动介质。注:这些下载涉及到 sourceforge,可能需要翻墙。

Tuxboot界面很简洁,如下图:

Tuxboot

clonezilla 大概 100+MB 的样子,下载过后的安装过程很快。

如果你对这种全自动过程放心不下,也可以在官网找到手动安装的步骤。

启动介质做好以后的事情就简单多了,插入启动介质(比如U盘)到你想备份的系统分区所在的机器,(对我来说是装了黑苹果的华硕 1005ha 上网本),重启,选择从该介质启动。看到一个类似 Grub 的菜单。在这里可以选择语言。然后会进入文字菜单的界面,选择制作还是恢复镜像,镜像的保存位置和来源,镜像文件分隔体积等等,跟着提示操作就行了。我用了专家模式,没有碰到任何意外。

一个 35G 的 HFS+ 分区镜像大概花了45分钟就做好了。生成的镜像有 15G 左右(根据选择的压缩模式不同可能比例也不一样)。

以后再碰到黑苹果升级失败就不用重头装了,估计 Linux 甚至 Windows 也用的上吧。

在Ubuntu 10.10安装Emacs 23.2

Ubuntu 10.10 自带的 Emacs 是23.1 版本的。因为需要用到 js-mode 等不及 11.4 的同学可以从 PPA 安装 Emacs 23.2 :

sudo apt-add-repository ppa:ubuntu-elisp/ppa

sudo apt-get update && sudo apt-get upgrade emacs --purge

英文中文,Ubuntu下设定Emacs输入法的曲折经历

这片文章是在 Ubuntu 10.10 英文界面下,用 ibus-sunpinyin 在 Emacs 里敲出来的。它之所以存在完全是因为本人对中英混合环境要求过于苛刻,导致初学Emacs 的笔者经历了一次小小的波折。

DaNmarner 选择“出墙”(Sorry Vim)学习 Emacs 的三大原因之一是中英文混合输入的时候它的表现比 Vim 更加自然。后者的最强项在遇到中文输入以后变成了致命硬伤:命令模式在字母键上的绑定。即使经过了很多年的使用(例如本博客之前所有的中文文章都是在 Vim 下面写的),在从编辑模式切换到命令模式的时候避免命令被输入法程序截取还是一件很头痛,很影响效率的事情。

然而为了在 Ubuntu 这个麻瓜友好的环境里享受 Emacs 对以上问题的免疫力,笔者遭遇了两个问题。

第一回合:iBus 在 Emacs 里失灵了

通过 apt-get 安装了 Emacs 以后,一个英文 Ubuntu 用户会发现通过 Ctrl+空格 启动 ibus 在 Emacs 里毫无效果。

这个问题相信会用 Google 的同学都能解决:只要把 LC_CTYPE 的值设定为 zh_CN.UTF-8 就可以了。

保存这个值的位置有很多,比较明显的地方是 /etc/environment ,在这个文件最后加上

LC_CTYPE="zh_CN.UTF-8"

然后重启一下就可以在 Emacs 里正常启动 iBus 了。

这里澄清一件事,很多 Google 后出现的结果里说 Ctrl+空格 因为和 Emacs 默认的选择命令冲突而无法激活 iBus ,这其实是不对的。事实证明 X 会保证先于Emacs 截获它从而顺利激活 iBus 。不过为了 Emacs 避免使用这个组合还是有价值的,改成 Shift+空格 就不错,除非你喜欢 C-@ 多过 C-<SPC>。

一般来说,问题到这已经解决了。但对于 DaNmarner 来说,还有一个很头痛的问题。

第二回合:RTFM 的要求

一个无奈的现实:DaNmarner 已经习惯了英文的技术文档。中文文档虽然有爱,但因为从一开始就在英文环境里摸爬滚打,所以中文的 Emacs 手册看起来觉得很吃力……矛盾吧,还在用中文写作!(其实这也是为了 keep-up 自己的中文水 平。)

在修改了 LC_CTYPE 以后,Emacs 会很友好的把所有帮助/手册以中文显示(相对Vim 这是一个不错的优势)。可惜笔者(臭屁地)认为这是友好过度了!那么怎么找回英文手册呢?能不能不修改 LC_CTYPE 就让 iBus 正常工作呢?一番调查之后笔者的结论是:在 Ubuntu 下这还是一个未解之谜。

所以最终的 Workaround 是,保留 zh_CN.UTF-8 作为 LC_CTYPE 的值,使得 iBus 可用,然后在 Emacs 配置文件里强制设定语言环境为英文,既加入下面这行:

(set-language-environment 'English)

这是一个差强人意的方法,至少英文手册回来了,iBus-sunpinyin 也能用了。根本的解决办法,或许是背叛 Ubuntu 投靠其它发行版吧 :)

在Kindle上学Emacs

最近我这个多年Vim粉丝在“出墙”学Emacs。

作为一个深度Kindle 3用户mobi格式的用户手册是必不可少的。

所以只好自己做了一个,Twitter上放过链接了,这里再放一次算是充数一篇博文。

有兴趣的请猛击下载mobi格式英文Emacs用户手册