Amarok 印象

今天,我在 Gentoo 里安装了 Amarok 音乐播放器。

在我对 KDE 的印象中,Amarok 就是 KDE 默认的播放器。在过去,Amarok 不止是 KDE 的默认,还是 GNOME 环境中一直羡慕的播放器。具体的其实我也没有用过,因为我连 KDE 也不曾用过,但看了不少文章,基本上都是天花乱坠。不过我心里一直在盼望尝试它,还没有尝试过。

这次安装了 Plasma 5 后,我就想安装一下 KDE 传统的应用尝试一下子,我为了方便,直接 emerge 了 kde-apps-meta,完成后竟然发现没有 Amarok。看看音乐播放软件,是一款叫 Juk 的应用。我上 KDE 的多媒体应用页面网站上看了一下,Amarok 和 JuK 都在上面,Amarok 下面注着是 Audio Player,JuK 下面注着是 Music Player,这网站真是不知所谓。

我打开 JuK 试了一下,其实挺不错的,虽然我没有找到怎么按照音乐家或专辑来分类音乐的功能,但播放界面其实还蛮清爽的。昨天,我刚刚看了一篇文章,内容是一位 KDE 的用户体验了 GNOME 后对两者之间比较的观点。这一部分,就比较了 GNOME 和 KDE 的默认的音乐播放器,对 Amarok 的批评就是功能太多,没有突出重点,播放音乐的部分很小,界面设计的很不明确。我觉得这个评价还是很中肯的。

删除了 kde-apps-meta 包后,我升级了 ~amd64 版本,然后安装了 Amarok。我对此的顾虑是,从网页上看,Amarok 已经有将近两年没有更新了。这个现象在 GNOME 上也在发生,目前,我尝试过 GNOME 3.20 以后的版本,默认的音乐播放器已经不再是 Rhythmbox 了,而是 GNOME Music 应用。Rhythmbox 也有几年没有更新了,GNOME Music 看上去也能播放,就是觉得功能单一一些。

目前对于 Amarok,我还仅仅是浅尝辄止,只用它播放了一张专辑。没有过多研究,不过我明显感受到了界面布局的不便之处。等将来随着更熟悉,再进一步评价了吧。

这一个多月,用了 GNOME 和 KDE,给我的感觉就好像是错过了一个时代。GNOME 3 比起我当年用的 2 已经有很大的不同了,Ubuntu 弄了一个 Unity 也是挺让人吃惊,而 KDE 我错过的更多。KDE 3 的时代我就没有用过,KDE 4 初期因为机器坏掉也没有尝试过,现在用了 Plasma 5,也已经发展了一段时间了。更让我觉得失落的是,Linux 在桌面领域,至少是中文桌面领域的衰落。我在上学期间,从网上看很多人在玩的风声水起,而我只能守着一台 MacBook 干瞪眼。现在,我买了台专门的笔记本电脑来运行 Linux,好多人已经用起了 Mac 了。过去中文有很多博客,专门介绍 Linux 桌面应用。现在我见到一个 linux.cn,赶紧欣喜的加入了收藏夹。

安装 KDE 的经历和对它的遗憾及其它

这两天,我再笔记本电脑上装了 Plasma 5。写这篇文章的时候,居然想不起当时的原因来了,大概还是为了折腾吧(KMail 能发 GPG 签名、加密的邮件也是一个原因,Enigmail 目前死活不能正常工作)。我买这台电脑就是为了折腾。

之前我用 Arch Linux 的时候,装过 Plasma 5 尝鲜,但是没有适应,看到右下角那巨大的时钟,就觉得 KDE 发展到今天,也太不精致了吧,和我一贯的印象差距有点大,就删掉了用回 GNOME。不过 Arch Linux 里的 GNOME 是 3.24 版本,很新,但在我的笔记本上运行很不稳定,经常崩溃,让我丢失过不少工作。去 IRC 咨询了一下前辈们,得知 Arch Linux 没有 Gentoo 的 mask 功能,不能让我降级到 3.22,于是最终还是回到了 Gentoo。Gentoo Portage 里目前的 GNOME 是 3.22,执行的很稳定。

对于 Gentoo 和 Arch,我都很喜欢。Arch 里的软件很新,但有些小地方,比如中文字体,我配置下来总是觉得不如再 Gentoo 里完美。Gentoo 的中文字体显示我非常满意了,还解决了 Emacs 缺少 75dpi 字体导致不能使用中文输入法的问题。而在 Arch 里我找了一些网站,没有找到解决办法。

说回 KDE。我在下定决心安装 KDE 的时候,先在我的 iMac 上的 Parallels Desktop 虚拟机里安装了一下尝试。我装的是 Debian 8,安装后很不习惯,不过我把字体换了下,字号调大了些,感觉就非常好看了。我尝试了一下觉得不错,当然感觉方面和 GNOME 有很大不同,和我印象中的 KDE 也很不一样,不过执行一些应用都没有什么障碍。确认了没有障碍,我就在笔记本电脑上开始 emerge。一开始调了下 USE Flag,看有很多的冲突需要调整,然后想起来可以直接换 Profile,由过去的 default/linux/amd64/13.0/systemd 换到了 default/linux/amdt64/13.0/plasma/systemd,之后再 emerge 就基本上没问题了,除了自动在 package.use 里添加了几个记录。

这个工程量不小,我发现其中最耗时的是 webkit 相关的包。GNOME 依赖的 webkit-gtk 就要消耗和 LibreOffice 一个量级的时间,KDE 依赖的 qtwebkit 同样如此,似乎还编译了一个 Chromium,至少是其中的一部分。一开始我担心缺失一些应用,在装完了基本的系统之后,我又安装了 kde-apps-meta,那天基本上编译了一天,后来看到了应用程序菜单里面多出来的那些我基本上不会碰的教育、游戏类应用,我就后悔了,找了个机会 depclean 掉了。我比较喜欢纯净的环境,KDE 装好后就删除了 GNOME。

我对 GNOME 更加熟悉,刚开始用 Linux 的时候就用的 GNOME 2,后来开始用 GNOME 3,也是很快就适应了。KDE 就不一样了,过去我觉得 KDE 华丽的让我不能专心工作,因此一直没有认真的用过它,现在一切从头开始。我原先因为用 GNOME,安装了 ibus 输入法,在 KDE 里一直不能正常工作,最后还是换回了 fcitx。我日常使用 RIME 中州韵引擎,好处是 ibus、fcitx 都成了一个外壳,最本质的使用体验不会变。过去我用 fcitx 总是用 classic 皮肤,总觉的不这样就不是最正宗的 fcitx。这次我选择了黑色的皮肤,毕竟到了 KDE 环境,不能委屈自己的眼睛不是?几天下来,我对黑色皮肤的 fcitx 已经非常喜爱了。另外,虽然不用 ibus 了,不过我也向它学习了 meta+空格这个快捷键。我用它替换了 fcitx 默认的 Ctrl+空格,这样就可以把它空出来,和其它的应用(Emacs)不会冲突了。

另外字体也要调整。GNOME 里配置好了 fontconfig 就基本上没有了问题,而在 KDE,我一开始怎么也搞不定字体替换,英文字体我用了 Droid,已经非常不错了,但中文字体一直是楷体。界面上换过来了,但 Konsole 里一直不行。看着 Gnome Terminal 里漂亮的中文字体,实在是难受。最终发现似乎是因为我一直开着 Konsole 没有重新打开一次的原因,真是冤枉。

用了一阵子,我感觉笔记本上的 Plasma 和虚拟机里 Debian 里装的不大一样,研究了一下,才知道 Debian 8 里的 Plasma 是版本 4,不是目前的版本 5。不过我觉的 4 也挺不错,至少挺成熟的,而我的笔记本里的,很多窗口的按钮都没有翻译,中英文混杂的就出现了,实在是难堪。我于是把虚拟机里的 Debian 8 升级到了 Debian 9 Sid,然后再安装了 Plasma,就成了版本 5 了,和我笔记本上一致了。Debian 的 Plasma 包有几张壁纸真实不错。

看到别人讨论 Arch Linux,怎么也无法压抑的一种欲望就是升级。网站上看到 KDE 5.10 发布的文章才发表不久,Arch Linux 里 5.10 就已经从 testing 里毕业了,实在是让我无语凝咽。我一度想再装回 Arch Linux,不过自己也觉得这样子太过折腾了。之前我也下定决心咬定一个最满意的发行版本用下去的。于是我打起了 ~amd64 的注意。前天晚上在 IRC 里问了问,有人说用了全局 ~ 没有问题,我就也这么做了,看到有 433 个包要编译,有至少 1.9G 的代码要下载。我基本上从前天晚上 9:30 开始,昨天早上醒来看还没完。我就把节电模式设成盖上笔记本盖子关闭屏幕,带到单位继续编译。上午终于编译完毕,但 librime 1.2.9 一直通不过。白天工作很忙,但我有空余时间也在尝试、找资料,没有看到能解决的资料。有个论坛里有问类似的问题,说是 GCC 升级后没有按照 Gentoo Wiki 的说明去操作。然后我去了 Gentoo Wiki 页面,上面说内容已经过期了,让我很郁闷。不过这个帖子也给我提供了一个方向,也就是和 GCC 升级有关,到了昨晚,我从这个页面看到了排错这一节,第一个说的就是重新编译 boost。想起 librime 也依赖 boost,我福至心灵,重新 emerge 了一次 boost,再编译 librime,竟然就通过了。

最后,我想解决鼠标滚轮设置的问题。GNOME 的系统设置应用里有鼠标配置的部分,选择自然方向滚动(或者叫反向滚动)就很简单的做到了,而 KDE 系统设置里的输入设备部分竟然没有鼠标,只有键盘和触摸板两个部分。我从别处也没有找到,最终从 plasma-desktop 的 emerge info 里看到了线索————它有 INPUT_DEVICES 这个配置,过去我设的是 libinput,现在改回了 evdev synaptics,再编译,输入设备里就出现了鼠标和触摸板选项。在鼠标部分有反转滚轮方向的开关,我打开后发现只在一部分应用里面起作用。经查,是 QT4 和 QT5 的应用兼容方面的原因,这对 QT4 的应用无效。最终我干脆在 .xprofile 文件里加上了一行 xmodmap 命令,重新设定了鼠标滚轮的方向,算是解决了问题。

到此位置,系统升级完毕。之后“刀枪入库,马放南山”,我要沉下心来学者用 KDE 工作了。

谈谈感想。我对自己的 KDE 经历还蛮感到遗憾的。上一台可以让我折腾 Linux 的电脑,之前我也写过,出国留学前买的 DELL 笔记本,我就是用它开始尝试运行 Ubuntu,然后学着安装了 Gentoo。装好 Gentoo 我一直在用 FVWM,到了 2008 年 3 月份,我看到当时 KDE 4 发布后介绍的文章很多,而且界面和 KDE 3 相比变化很大,我心中好奇,就 emerge 了。结果大概在第二次启动的时候,显卡坏了,导致我这台电脑不能运行。那时候室友把他新买的 MacBook 借给我来用,我试了后,感觉 MacBook 也很不错,就自己也买了一台,一直用到 2013 年换 MacBook Pro。我一直在想,要是 DELL 笔记本没有坏,我应该也没心思去尝试当时我完全陌生的 Mac 系统。而我开始尝试 KDE 4 的时候,KDE 4 才刚推出不久,当时还是 buggy 满满的状态,而现在,KDE 5 都到了第 10 个小版本了。整个 KDE 4 的一代已经跨越过去了。当中发生了很多,而我没有参与其中,心中一直都很遗憾的。现在工作后有钱了,给自己买了个 ThinkPad 笔记本,就是为了跑 UNIX 给自己玩,这种情怀是我难以忘怀的。

不过虽说有遗憾,我了解了 Mac 这个我过去不曾认知的系统,并在我使用电脑的大部分时间里,沉浸在这个系统里,也拓展了我的眼界。一饮一啄,其妙无穷。

重新折腾了一遍 Funtoo

这个周末抽时间重新折腾了一遍 Funtoo,得到了一些收益。

起因是周五晚上尝试安装 ck 内核,经过研究了文档,得知了 /proc/config.gz 的内容就是其实就是当前的内核配置文件,只要把这个文件导出来就确定了能保证运行的内核配置。我当前用的是 debian-sources,版本是 4.5。我通过文档,也知道了 make oldconfig 命令可以让你逐项审视新版本内核的配置,我觉得这样有了一定的把握:先获取当前的配置文件,然后在当前的基础上,配置新内核,再用 make menuconfig 来最后检查一下,进行最终调整,之后就是编译了。

前面的步骤都还可以,虽然我对一些配置也不是很确定,不过因为是在已有的基础上,我知道不会让我漏掉什么东西,事情不会变的更坏,所以也没有太单性。但是到了编译这一步,出错了。我一看,说是磁盘没有空间了,用 df 检查一下,果然 / 目录已经没空间了。这时候我非常沮丧,之前我特意把它调整为 20G,觉得肯定不会出现问题,把更多的空间交给 HOME 分区更好。过去也没有遇到问题,没想到在编译内核这里给出了问题。

我上网搜索了一下,有一些通过 Live USB 引导后调整的方式,不过我想一劳永逸的解决问题,看来还是要上 LVM。想到这里,不如干脆重新调整分区表。当然第一步要备份,我找了块空的硬盘,西数的 1T,支持 USB 3.0,之前网上有打折就买了,之后一直没有用,这次比较方便的派上用场。

备份的时候收到了教训:命令行界面确实很容易误操作。我在向 NAS 复制一批刚下载的视频目录时,想把旧的目录删掉,旧的目录和当前目录名字一样,只是以 -old 结尾,结果我一时手快,没有注意,没把旧的删了,把当前的给删了。这时 cp 指令还没有执行完,我去 NAS 看看,丢失了一些文件,非常可惜。我想如果在图形界面,虽然我也没有配置回收站,但不大容易发生这种错误。

我从网上找到了 rsync 来被封的方法,加了 -av 参数,不过奇怪的是,经常会走到一个文件的时候,就在那里卡住。我备份了一些文件后,最后还是直接复制过去。但最后发现两个方法做的都不算好。复制的时候隐藏文件没有复制,而且我的邮件也没有复制全,后来造成了比较严重的问题。

备份了 HOME 和 /etc 后,就按照 Funtoo 上的说明,重新安装。我把 /boot 留着没动,剩下的分成了一个区,在上面用 LVM 管理,创立了两个卷,过去的 ROOT 分成了 30G,剩下的给 HOME。其实我觉得这样我用传统方式问题也不大,不过还是 LVM 以防日后再有麻烦。

使用 LVM 其实并非我开始时想象的那么困难,分区的时候按照文档中的说明进行操作,chroot 后正常安装,只是需要用 genkernel 重新编译内核,编译的时候加上 --lvm 参数就行了。然后我在运行 boot-update 这一步时遇到困难,怎么也无法继续进行,总是提示错误,说是和 /etc/fstab 有关。我对此很费解,检查了几遍文档都没有错,也上网进行了搜索,最终我发现文档竟然有错误,/etc/boot.conf 里根路径的写法和 /etc/fstab 里不一致,虽说实际都是一个东西,但就是这一点导致了 GRUB 安装错误。修正了之后便好了。

剩下的就是一点点 emerge 了,这些没什么好说的。到了安装内核的这一步,虽然我有之前弄的 ck 内核的配置文件,不过心想还是先让机器能启动了再说吧,就没有激进,还是安装了 Debian 内核。然后我遇到了前面说的 boot-update 的问题,我一开始觉得大概时 Debian 内核默认不支持 LVM 吧,于是就按照说明,genkernel 编译了 ck 内核,之后还是有错误,来回几次弄明白了是参数的问题,到最后一只用着 ck 内核当作默认。我并没有感到性能有多大的提升,但是在一次 emerge 计算依赖的时候,系统锁死过一次,怎么也没有反映,鼠标也不动弹了,只好重启,不清楚是不是内核的问题。

之后我慢慢的把之前的配置复制过来,还有过去 emerge 的包,这些我是在周一在公司做的。之前其实没有好好的备份,复制回来的配置文件需要我手动修改属性,也挺讨厌的。不过备份的比较全面,很多东西都很快的就弄好了。在吃饭前我装好了 OfflineIMAP,想把邮件都同步过来。我发现我备份的 Mail 文件夹不全,很多东西都没有复制下来,所以估计要下载的邮件很多,所以我运行了 offlineimap -o,准备在我吃饭的过程中,下载完邮件,结果竟然很快就完成了,我进去一看,心都凉了,OfflineIMAP 清空了我远程服务器上的邮件。我本地本来没有邮件,只剩下了几个文件夹,结果 OfflineIMAP 把本地的空白目录同步到了服务器上,导致了我丢失了几乎全部的邮件。我觉得这基本上已经无解了,不过我目前没有想到我的邮箱中有什么很重要的东西,算是可以自我安慰吧。

我本来计划这次就不通过源码安装 Firefox 和 LibreOffice 了,Portage 上有二进制的包,性能应该差不了多少。结果 Firefox 的二进制包直接去 Mozilla 的网站上下,二、三十 KB 的速度,实在是太感人。LibreOffice 直接无法下载中文 xpi 文件,导致无法安装。我等了很旧,装上了 Firefox 的二进制版本,LibreOffice 就暂时放弃了。

结果今天我在配置 Dropbox 的时候总是配置不成功。后来我我通过 proxychains 调用 dropbox 命令,找到了问题。Dropbox 打开网页,竟然用的是 w3m,而在 w3m 里也无法让我完成认证。这在我之前可从来没发生过,那时候直接在 Firefox 里打开的页面。我估计是二进制的 Firefox 的程序路径不同导致的问题,于是就从源码安装了 Firefox,好在它的编译时间不像 LibreOffice 那样长。安装后,Dropbox 果然也能正常认证了。

通过这次的折腾,我一来解决了分区的问题,而且我对 Linux 系统越来越熟练了,之前我觉得 LVM 在个人电脑上过于遥远,不应该在个人电脑上适用,因此也从来没有尝试过,一致认为它是很复杂的东西。现在我动手操作了一遍,虽然不能说是完全掌握了,但它的神秘感也不存在了。其实这些年的经验告诉我,Linux 系统的组成其实非常简单,它让你有机会学习操作系统的一切,远比 Windows、Mac OS X 这样的系统能让你学到更多。

装完了这个系统,我突然想到,我这次其实可以上 ZFS 的!我上网找了一些别人的博客文章,有一些人也在个人电脑的 Linux 上用 ZFS。虽然心里很痒痒,不过我暂时不打算动了。我看了一些文档,从操作上 ZFS 和 LVM 其实也大差不差,在我需要的逻辑卷这方面也是一致的,底层的一些好处我目前还不是太感兴趣,所以暂时就先保守一些了。不过我想,也许在将来我会再试着折腾折腾吧。

升级到 Awesome 4.0

在我这次安装 Funtoo 后,emerge 的 Awesome 自然已经是 4.0 的版本了。一开始我没有注意,只是知道了这个事实,或者说 layout 的图标变得更立体了,也是其中的一部分吧。我也去了 Awesome 的主页上,扫了一眼升级的内容,也没有发现与我日常使用有什么不同的地方。但这些天的使用时,也发现了一些不和谐的地方,一直没有往升级这方面来想,只是以为是我的 Funtoo 系统还没有配置好,因此也一直没有解决。今天中午有时间,顺便看看是哪里出了问题。

主要问题是,我运行 Super+r 的时候,应该会出现一个 prompt 让我输入命令行,可以执行,但我按下快捷键后,会弹出错误提示。具体的内容我也没有记,但看我之前的配置文件,理论上是完全没有问题的。想了一会儿,我才也许是 Awesome 4.0 升级之后,配置文件改变了的原因。就 diff 了一下和默认的配置文件的区别,结果发现居然有相当大的不同。具体那些不同,我对 Lua 了解不深刻,也说不上来,有心人可以下载两个版本的包,自己比较一下。

我想这么大的变动,Awesome 会不会给提供一个脚本,帮忙给升级一下呀?结果区网站上看看,完全没有,不过倒是有提示,说建议你复制一份最新的默认配置,再把你自己的配置给加进去,我感觉有点扯淡。Aweome 2.5 升级 3 的时候,也对配置文件做出了很大的修改,让大家哀嚎了一阵子,不过那时候我还没有用到 Awesome,因此没有切身体会,这次算是体验到了。

我中午花了点时间,从头开始,打开了两个窗口,进 vim 逐行比较了配置文件,把我自己的配置给加入了进去。我不懂自己写 Lua,因此算是照葫芦画瓢,没有深究。最直观的感觉是,一些地方加入了不少 OOP 的概念,然后是每个绑定的快捷键都加上了 description 属性,这样方便生成一个 cheetsheet,倒是不错,可惜我现在忘了快捷键了,日常其实用的也少。当中也看到了默认界面下,每个窗口其实有个单独的标题栏,右边会有挺漂亮的按钮呢,后来也让我给去了,实际上也用不到。

到了晚上,我想到了这个问题,无疑我是比较喜欢 Awesome 的,虽说我也总结不出来为什么吧,也许是我没有完全掌握,比如它的配置语言 Lua,而给我带来了别样的吸引力。用 Awesome 之前,我在用的是 i3,其实本质上和 Awesome 区别不大,而且 i3 把我带入了瓦片式窗口管理器的大门,但我更喜欢 Awesome,大概是 i3 太简单,我兴趣不足的缘故。之前看过一些文章,说 FVWM 的配置文件可以几十年不动,照样运行,引为美谈。我刚在这台 X250 上装 Linux 后,首先安装的就是 FVWM,不过用了一阵子觉得还是不顺手。我在加拿大用了几个月的 Gentoo,当时用的也是 FVWM,课上记笔记、日常使用都用它,当时中了王垠的毒,对其它窗口管理器都不屑一顾,现在想象也真是幼稚。

晚上我回忆了一下,我几次配置 FVWM,都没有摆脱配置菜单的陷阱,似乎一定要把安装的所有软件都设立一个菜单,并把相似功能的菜单项合并成一个子菜单。到了今晚我才彻底想清楚,事实上日常使用,我是根本不像用菜单的,要从根菜单开始,一层一层的找到一个应用,效率其实是很低的。Awesome 默认有个菜单,我也没有往里面添加任何东西,反而把默认左上角的菜单按钮也给删掉了。启动应用,我用的是 dmenu_run,实际上已经完全可以满足我的需求了。基本上没有哪个软件我记不住命令的,有的话,其实就是我不需要的。

至于 Awesome 这种随意改变配置的做法,我觉得可以从两方面来看。一方面,它给用户带来了麻烦,不如一直不便更加稳健;另一方面,它又代表着,这个软件是在被积极开发着的,不用担心没人维护。事实上,晚上我看了一下 FVWM 的网站,里面的更新记录已经把一些老旧的功能给取消了,比如对早期 GTK 的支持。所以说,我想现在再用 20 年前的 FVWM 的配置文件,大概也不能一点不变的运行了吧。

第二次

拿回我送修的 ThinkPad X250 后,我发现我在送去的时候,才刚安装完 ArchLinux,很多东西都没有来得及配置,一些东西都比较诡异。我当时觉得换个键盘而已,几天就可以完成,结果没想到从 10 月 9 日一直到 11 月 8 日左右,将近一个月的时间,让再次打开 X250 的我有种恍如隔世的感觉。

于是这两天我抽空重新将它配置了一下。最近其实也没有什么时间,重点是今天才开始配置多数东西,我陆陆续续的到了今天晚上才弄得差不多了,当中也有一些收获,当中的“第二次效应”也体现的比较明显。所谓“第二次效应”,是软件工程中的一个说法,大意是你第一次不会把事情做完美,所以你会把你的第一个结果扔掉,在第二次的时候把它做好,因为到那时你已经对这个项目有了宏观的认识,做起来会更加得心应手。

我这次安装 ArchLinux 后,直接安装了 i3 窗口管理器。我觉得它不需要太多的配置,而且管理窗口足够好。安装的时候,回忆我在努力适应 Awesome 的那段日子,觉得 i3 简直是贴心到了极致,几乎不需要配置,就可以很舒服的工作了。不过可能我还没有测试全面,所以话说的太满,结果今天下午我发现了一个让我很难受的地方。

GVim 的程序不知道是怎么写的,在窗口的下方有一块比较厚重的边框,十分难看。如果把字体调大了就更不得了,这个边框就更大了。GVim 的渲染我觉得很不符合直觉,我在设定字体字号的窗口里修改了字号,结果整个 GVim 窗口都收到了影响,按理说窗口是窗口,字号是字号,属于窗口的内容部分,它们应当是互不干涉的,结果这样弄得很不好看,无法单独的把字号调大,而不影响窗口。

ArchWiki 上有个办法可以把这块隐藏,但有副作用。这个区域似乎是为了给横向滚动条准备的,似乎我隐藏了它,就不在有横向滚动条了。而且就像上面说的,我调整了字号,导致窗口的下半部分跑到了屏幕的外面,连提示都看不到了,不好。我又从网上搜到了另外一个办法,修改 GTK-2.0 的配置,改它的底色,让它和窗口内的背景一个颜色,但效果不好,终究这块区域无法显示文字,空着这块也不好看。

到了晚上我想,之所以会这样,应该是 GVim 没有考虑窗口拉大的问题,如果是按照默认大小的窗口,这个问题是不会显现出来的。i3 做不到这个,我又想到了 Awesome,考虑了一下,觉得还是可以换回 Awesome。我之前觉得它的配置麻烦,那是因为刚刚入门的缘故,现在我像只要我不添加一些太复杂的功能,应该问题不大。所以,我安装了 Awesome。进去之后脑子一片空白,连从哪里开始调整配置都忘了,只好去网上看资料,渐渐的才开始回顾起来。

之前我为了想调整 SSD 分区大小,心一横重新分区,结果原先 $HOME 下的东西有些就丢失了,其中就包括 Awesome 的配置。这次相当于重新配置,不过我还没有把上次的知识都忘掉。奇妙的是,在按照我的习惯进行了一些改动之后,我突然觉得 Awesome 很好用,似乎比 i3 还有些更加顺手(毕竟 i3 的方向键是 jkl; 而非 hjkl)。我想这只好归功于“第二次效应”了吧。

按照文档给 Awesome 添加了执行外部程序的函数,加了几个 applet 后,我觉得目前的系统很好了。当然,GVim 的问题也解决了。

Linux 没有让我失望

前几天我说过我现在开的车没有蓝牙功能,不能播放手机上的播客,因此我将媒体文件复制到 SD 卡上播放。之前的那一期 ATP 听完了,昨天我下载了新的,放在了 ThinkPad 电脑上。

这个电脑运行的 Mint Linux 系统。过去我在它上面安装过 ArchLinux 和 Gentoo,都没有把 SD card reader 给配置好。我平日里用的不多,所以也没有执着于这个,就让它这么的吧。昨天我要复制的时候,心中也担心过在 Mint 下能不能正常识别读卡器,不过 Mint 在这方面口碑不错,我也对它信任比较大。

结果下班后,我把 SD 卡插进去,马上就弹出了 Nemo 窗口,显示了其中的内容,一切操作完全没有问题。

其实严格说来,这是 Linux 的功劳,要么是内核里包括了读卡器的驱动,要么就是有可用的驱动模块。读卡器不像其它硬件那样用的多,因此应该需要特别安装吧。我在 ArchLinux 和 Gentoo 上,应该没有安装对应的软件。但是,哪个软件对应这个读卡器,对我来说是一个不容易解决的问题。

目前用的 Cinnamon 桌面环境大概也有帮助,我之前可没有使用任何桌面环境,因为过去没有好的硬件,我更倾向于试用一个窗口管理器。这样可以自己配置各个方面,文件管理器也有很多选择。但比起桌面环境,这些组件之间缺乏了关联,也导致了实际试用上的不便。现在用了 Cinnamon,这个问题也就不存在了。

也许有病

昨天晚上看到了 Parallel Desktop 发行了版本 12,于是就升级,顺便把我原先在 MacBook 上的虚拟机复制到了 iMac 上,解决一下笔记本空间不足的问题。看了一下新版本的,看到新建虚拟机页面上默认的一些选项,心中产生了一种把他们都装上尝试一番的想法。

于是我安装了 Fedora、Chromium OS 等,结果 Chromium OS 需要翻墙才能登录,结果失败。Fedora 我试了一下,觉得比较一般,以至于我现在都没有印象了。Fedora 上我用的是 Gnome 桌面环境,我想尝试一下 KDE,印象里 OpenSUSE 对 KDE 做的比较好,于是就下载了它的网络安装盘镜像,安装后没法安装 Parallel-Tools 导致显卡不能正常使用,最后我也删除了。

这时也勾引起了我对桌面环境的想法。我从 2007 年 12 月份把我当时的笔记本电脑上的系统由 Ubuntu 换成了 Gentoo 后,就一直没有使用过 Linux 下的桌面环境。那时用的是 FVWM,后来电脑坏了,不得已换成了 Mac,再后来有了这台玩具 ThinkPad,我开始用 i3,之后换成了 Awesome。我在 2008 年 3 月的时候,想尝试一下 KDE4,结果电脑正好那时候坏了,所以从那时候就没有接触过。现在想想,时间也挺长了吧。

我后来想到了前几天看到 YouTube 上的一个视频,母子俩从易用性的角度上评论了一些操作系统,其中 Linux Mint 获得了不错的评价。而且 DistroWatch 上 Linux Mint 的成绩也排名第一。这个消息几年前我就知道了,当时得知竟然还有比 Ubuntu 排名还高的发行版,让我很惊讶,查了一些它的资料,也没有觉得如何,后来也没有继续关注。

这次也是一个好机会,我下载了它的镜像并安装在了虚拟机上。一开始让我很困惑,因为它同时有四个版本:Cinnamon、Mate、XFCE、KDE。后两个我知道,前两个我查了一下,才知道分别是 Gnome 3 和 Gnome 2 的 fork。我的机器性能足够,我当然要用高版本的,所以就下载了 Cinnamon。安装超级容易,而且虚拟机里也不需要设定什么东西,几乎 5 分钟不到就安装好了。首先它是一个 LiveDVD,进去后有一个图形化的软件来负责安装系统,这和 Ubuntu 没什么不同。不过这个软件把选项都精简了很多,如果没有特殊要求,只需要简单的几步就安装完了。在执行分区、复制文件的同时,软件会问你创建用户帐号,等他装完了我惊呼竟然这么快,真是不可思议。

重启机器的速度也很优秀。过去几年的桌面环境有个习惯,特别是 KDE3 时代,启动的时候喜欢有个窗口,一个组件载入成功后就亮起来,等四、五个组件都亮了,系统启动成功。现在速度快了,这个东西就不存在了。启动过程中也就是显示一下 Linux Mint 的图标,之后直接进入桌面,自然而然、一了百了。

进了桌面后,我想我基本上懂了为什么 Linux Mint 这么火了。实在是 Gnome 3 时代,Ubuntu 搞的 Unity 那一套,确实是自毁城墙。给 geek 们玩一玩也就罢了,在面向普通用户的系统上搞这么大的差异,没有多少人能够接受。我在 Fedora 上尝试的就是这种桌面,左边一个 Dock,模仿 Mac 也不伦不类,我一点都不习惯。而在 Cinnamon 桌面,实在是简洁的可以用优雅来形容。该有的一点也不缺,不该有的坚决不出来打扰你。在虚拟机中,安装好了 Parallel-Tools,整个系统基本上没有需要 tweak 的地方了。

这给了我很深刻的冲击。也许是因为我从小比较少用很先进的硬件吧,我对桌面环境这几年一直是敬而远之。确实它给普通用户提供了方便,但我在 2007 年时用 Ubuntu 的时候,它把系统搞得和 Windows 差不多个速度,让我不能接受。从那之后,我就只用窗口管理器。其实这几年来,硬件快了,桌面系统对资源的使用已经跟不上硬件的发展了。特别是 Linux,我觉得 2G 内存是个坎,过了 2G 内存,对于图形界面的流畅度来说,就没有质的差距了。我的笔记本电脑内存是 8G,其实跑 Gnome、KDE 也已经完全足够了。

所以我也想改改之前的这个思路,在自己的 ThinkPad 上干脆也安装上 Cinnamon 吧,我实在是喜欢它的外观,还有它那些壁纸。下午,在机器上 emerge 了一番,编译时间最长的包是 webkit-gtk,反正我花了几个小时之后,当中还解决了一个小问题,之后进入桌面,觉得和在 Linux Mint 上看到的样子总是差点。毕竟 Linux Mint 中,开发者已经把各种功能集成的很完美。而在 Funtoo 上,一切都需要我自己配置。我自己大概永远也无法配置的这么好看自然吧。

于是我冒了个险,反正 Funtoo 也玩的差不多了,干脆把系统抹掉,直接安装了 Linux Mint。我分区的时候分出了 EFI、swap(这个在 8G 内存下基本没有,我有点后悔当初分那么大)、根分区和 HOME 分区。安装的时候,我把根分区格式化了,保留了 HOME,这样重装后我自己的东西就都不会丢失。2007 年那时候我用 Ubuntu,也定期重装,经常这么干。

所以,现在,我的 ThinkPad 上只有 Linux Mint 了。我觉的有点不好意思和别人说这个事儿,也许就会被说成折腾了。不过,当初我买这台电脑的目的,就是为了折腾许久没有碰过的 Linux 吧。

第一次制作视频

最近事情还真是多。刚刚结束了精益课程讲课,以为没事儿了,还没过一个星期,就收到了另一个部门的短信,说是精品课程提交的期限到了。精品课程时公司组织的另外一项活动,针对几个业务方面,让各部门或子单位制作课程,分为45分钟的标准课程和15分钟的微课程两种。我们领导要求必须要报名,我于是领取了微课程。本来想和精益课程讲一样的题目,把重点由精益工具转为我们日常的工作,但初审后组织部门说这个题目太敏感,建议放弃。以我们领导的脾性当然不行,所以只好重报,于是报了一个规范条文的题目,具体怎么讲等以后再说。

收到短信后,我回复说我们会加快进度,准时提报,实际上还连点谱都没有呢。之前由于精益课程要上台讲课,而且讲课的时间不断的推迟,所以我一门心思的搞那个。这回要突击这个题目,我花了一个周末,初步建立了思路。

微课程好在不需要我们站到讲台上讲课,只要把课程做成一个视频,到时候播放就行。我打好了这个谱,之后就是具体的课程制作了。这周一我准备好了材料,周二对材料进行了分析,指定好了讲课的大纲,周三起手制作幻灯片,周四准备讲稿,到了晚上下班后开始实际制作。

我实在是不善于制作幻灯片,之前抓着 Zoom.Quiet 的我的工具箱幻灯片看了好几遍,对照他的讲课录音,深受启发,不止是他介绍的工具,而且他制作幻灯片的工具以及效果我也很喜欢,于是这次也研究了一下。Zoom.Quiet 是用 rst 格式写成的,通过工具转化成了 s5 格式的幻灯片。我调查了一下,这些都是不同的工具:s5 其实是一组 JavaScript 的框架,用人工把内容写进 HTML 文件中,从浏览器就能达到幻灯片的效果。rst 是 DocUtils 工具包里的工具,全称叫 reStructuredText,其实是一种标记语言,和 Markdown 是一样的。Zoom.Quiet 用一个转换工具可以把 rst 文件转换成 s5 幻灯片。我之前没用过 rst,对 Markdown 很熟悉,所以就搜索了一下,发现了 Pandoc。Pandoc 更厉害,就是一个专门的转换器,可以指定输入格式和输出格式,其中就包括了 Markdown 和 s5。不过它是 Haskell 写的,需要编译一大堆包,我中午吃饭前开始 emerge,到了下午上班就弄好了。花了一点时间掌握了制作幻灯片的流程,也可以作出基本不错的幻灯片了。

到了晚上,我完成了幻灯片和讲话稿,接下来就是录制了。我搜索了 Linux 下的录屏软件,找到了 recordMyDesktop。一开始搞不定录音,后来指定了参数就好了。我录了一个版本,但效果挺差,正常播放还好,但如果快进、快退,屏幕就会花掉。之后我有搜索了一下 Mac 下的录屏软件,发现 QuickTime Player 就可以做到,而且效果很好。可以选定桌面上的一个区域录制,基本上我不需要更多的功能了。

录制音频也是个问题。我几乎每天听播客,但自己录制时就太麻烦了。而且孩子出生后我就得了感冒,到现在咳嗽还没好,这也挺痛苦。我要忍受 10 多分钟的嗓子的瘙痒,讲完这些话是不现实的,结果到中途我忍不住咳嗽了一分钟。这时我放弃了一次成功的打算,准备后期剪辑了。

录完之后我便打开了 iMovie,我的 iMac 上自带的,之前也没搞过,一切都很新鲜。但这次尝试搞的我头晕脑胀,我连剪切的功能都找不到,花了 10 多分钟,都没有把我咳嗽的那段给剪掉。我于是有找了 Linux 下的相关软件,安装了 Cinelerra,可基本上是不能操作。之后我干脆尝试了几次一次录制成功,结果包括用上了西瓜霜喉糖,都办不到,这时候我心情糟糕到了极点。

然后只好静下心来找教程,从一个香港人制作的 YouTube 的演示中,我才明白了 iMovie 的基本用法,原来我之前一直在视频库里操作,那里虽然也能展开,但没有任何的编辑功能。正确的做法是把上面视频库里的内容拖到下面,从下面才能剪辑。而且我之前也不需要录制一整段再来剪辑,可以分段录制,一并导入后合并输出。掌握了这些功能,我就可以完成许多事情了,比如有些地方幻灯片做的有问题,修改之后重新录制这一小段,插入最终的视频里就行了。到最后弄好好,找到了输出功能,选择输出成最小的 480p 格式的影像。这时已经凌晨一点多了,这两天为了这个事儿的压力我休息的都不好,这时候也没有精力看最终效果了,让它自己导出,我先去睡觉。

今天早上挣扎着起床,先去 iMac 上看一看,结果登录进账户,竟然要问我是否向 Apple 发送统计信息?这时我心里一沉,心想别是 iMovie 崩溃了,我的工作都没了吧。进去一看,好在无事,看了一下输出后的视频,效果达到预期。然后我复制到了 NAS 里,通过 CloudStation Drive 同步到 X250 上一份,再复制到优盘里一份,就收拾东西上班去了。上午联系了组织部门,通过 QQ 邮箱把近 80MB 的 mp4 文件发了过去,这才松了一口气。这一周被这件事压着,一直没有放松,中午我出去吃了顿黄焖鸡米饭解解馋,在车里睡了很沉的一觉,这才觉得精力有所恢复。

说道视频制作,我对这个是一窍不通,我也有自知之明,我没有艺术上的天分,把我放到软件前我都一点思路也没有。外行说起来都很奇怪,说你学计算机的连这个都不会,我也只好笑笑。今天这次是我第一次制作视频,一些小型的剪辑我也算是学会了。对我来说,这时一个值得记录的经历。

中文!中文!

成功的用上了 Awesome 之后,我想,既然已经把 LC_CTYPE 变量给设置称了中文,我干脆把 LANG 也给设成中文好了,这样 Firefox、GVim 等程序的界面也就成了中文。

自从我在 2007 年 10 月左右开始使用 Ubuntu 以来,我的电脑界面一直都是英文的。刚开始在安装 Ubuntu 的时候,我发现如果我选择的语言是中文,那么系统会在我的家目录下自动创建“文档”、“下载”等文件夹。如果我只是普通用户,这样也许方便,但我要经常在终端下进行操作,那么当切换目录时,要切换到中文输入法,手动输入这些中文目录的名称,不要太麻烦。所以,当我发现如果在安装时我选择的语言是英文,那么这些目录的名称就都成了英文,用起来就很自然。当时我在加拿大上学,日常的计算机环境都是英文,所一我就一直用英文界面,没有觉得什么。后来我换了 MacBook,自然而然的选择了英文。我的同学中有用中文 Mac OS X 环境的,我看了一下他们的家目录,也是自动创建了这些中文目录名称,简直变态。

王垠的 GVim 截图
王垠的 GVim 截图

今天我修改了 LANG 变量后,打开 GVim,看到这个窗口,蓦然的想起了我早期读过的王垠介绍 FVWM 的文章。文章中有他的截图,其中一副显示了他的 GVim 窗口。当我读他的文章的时候,我还我法在自己的电脑上成功运行 XWindow,所以王垠的展示对我来说一直是镜中花水中月,我一直很憧憬,自己有一天也能在自己的电脑上运行这样的环境。这幅图中的 GVim 界面就是中文的,和我今天用的界面十分相似,勾起了我的回忆。

我的 GVim 截图
我的 GVim 截图

PS,写完这篇文章后,我发现事情还不是那么的完美。我用了 Firefox 的 It’s All Text 插件,把博客的编辑框里的内容转到 GVim 里进行编辑,之后保存退出,编辑的内容自动回到编辑框里。过去运行的很完美,但当我把 LANG 变量设置成中文后,回到编辑框中的文字成了乱码。这篇博客是我改回了 LANG 变量后,对着之前的截图重新输入的。哪里有问题尚需要进一步查证。

尝试 Awesome 成功

今天是个值得纪念的日子,昨天晚上我又一次 emerge 了 Awesome,准备再次尝试一次。至于原因,我也想不起来了,似乎时最近关于 Linux 的知识见长,对于使用 Awesome 有了点信心?再加上我一直以来的执念,所以我又一次开始了尝试。

其实,前几天我的尝试也不能说是完全失败。Awesome 的默认配置已经可以让普通用户正常使用了,只是我不习惯 Awesome 的快捷键设置,觉得很多操作都无法完成,所以觉得无法使用。特别时一些快捷键,会造成比较严重的后果,比如在 i3 中,Mod+Shift+q 是关闭当前窗口,而在 Awesome 中,这个组合是退出 Awesome 的意思,几次我预料之外的退出让我比较沮丧。另外,Awesome 的配置文件我还不能完全理解,想进行调整也觉得无从下手,所以几次都放弃了。

这次我由于有些时间,就先不急于调整配置,先在 Firefox 里面做好资料的准备再说。而且,我因为有时间,所以我静下心来从头看起了 《Lua 程序设计》一书,对 Lua 语音有了一些初步的了解,再来看配置文件就有了头绪了。反复看了几遍,终于大致摸清了这个配置文件的脉络,所以初步进行了调整:修改了 Terminal 的配置、添加了我已经习惯了的 dmenu 来启动程序、更重要的是把退出 Awesome 的快捷键该到了一个比较不常用的键位,这样就不会再次发生不小心退出图形环境的事情了。

到这里我已经比较满意了。其实,这次我想尝试 Awesome 最大的原因,就是我被 LC_CTYPE 变量给弄烦了。在 i3 中,如果我把这个变量设置成了 zh_CN.UTF8,那状态栏、dmenu 的字体都变得超级难看,所以我都是把这个变量设置成英文。但这样 fcitx 就不起作用,所以我用单个程序时,手动进行调整。比如 Emacs,我修改了 /usr/bin/emacs 文件,取消掉了原来的符号连接,改成一个脚本文件,在运行 emacs 之前临时修改 LC_CTYPE 变量。之前我以为这样就比较完美的解决了问题,结果发现不止是 Emacs,连 GVim 都是这个样子,还包括 ROX、Thunar 等应用程序。这样涉及面就太大了,这条思路不大行。而之前,我在尝试 Awesome 的时候,却没有太大影响,所以我觉得是时候再次尝试一下了。

不过,虽然默认的配置没有影响,但其实还是影响了 dmenu,我查了一下他的文档,在命令后面加上 -fn xft 参数,算是解决了问题。虽然不是很美观,不过它只能用 xlsfont 里的字体,我也不确定哪个更好看一些,所以先这么用着。

之后我看有些功能还需要添加,比如状态监控,特别是电量状态,是我十分需要的。我找了一下相关的 system tray 应用,没有找到指示电源的,包括从 Arch Wiki 上也没有找到。后来我想起依云是个 Awesome 高手,他的博客上有些相关的文章,似乎也公开了他的 Awesome 的配置,所以我去了他的博客上看看。果然有很多有价值的文章,昨天晚上我看了一晚上。我下载了他的配置文件,从里面找到了我需要的电源的部分,放进了我的配置中去。经过这个过程,也提高了我对 Awesome 的 Lua 配置文件的理解,一下子让我信心大增。通过浏览配置文件,我也学会了很多快捷键等知识,也按照我的需求进行了一些修改,让 Awesome 更符合我的审美。

目前,Awesome 对我来说已经基本好用。当然我只是刚刚入门,Lua 的配置我能看懂,但是让我自己添加一些功能,我还有些心有余而力不足。Awesome 的 layout 概念,我还没有都搞清楚,尚需时间。相对于 i3 来说,Awesome 更加复杂,不过,我用 i3 的时候也不是所有功能都用上,目前只需要了解我最需要的就是了。不过,这个开头还是不错的嘛。