2008年12月4日星期四

The way to CLI

在Linuxtoy上看到关于awesome的介绍后,突然想要摆脱Gnome或KDE或Xfce,决定要尽量向CLI迈进了。于是便有了这篇不短不长的文章。本文着重于常用软件的CLI解决,所以高深的东西就不谈了(其实也没资格)。

1. Awesome的安装
Awesome的维基其实是蛮囧的。我使用的发行版为兼容Ubuntu Hardy的LinumMInt Elyssa,但是按照其官方for Ubuntu Hardy的安装指南却装不上,最后还是用git的方式才把awesome3装上。详见此页,基本生一步一步照做就行了。要注意的是几乎一定会出现该指南中第三个Note所说的错误的,而且解决时后面的路径还是Tab出来吧,如果直接把指南中的代码复制进去会让人崩溃的。

2. Awesome的配置
装好就基本能用了,下面修改一下其默认配置文件基本就可用了:
1). 安装和使用wicked:

git clone git://git.glacicle.com/awesome/wicked.git
sudo cp wicked/wicked.lua /usr/share/awesome/lib/
sudo cp wicked/wicked.7.gz /usr/share/man/man7/

2). 修改默认主题,其实改一下背景就好了。最简单的方法是把/etc/xdg/awesome/themes拷贝到.config/awesome。以default为蓝本自己修改背景文件即可。较为灵活的方式是把自己的配置文件link到default。
注意:主题配置文件和rc.lua中最好都用绝对路径
3). 去掉窗口之间的缝隙:编辑rc.lua,查找honorsizehints,将其值改为false即可
4). 关于widgets在statusbar(就是桌面最上方的那条bar)中的排列顺序:首先分左右,也就是在statusbar的左端还是右端。这是由定义widget时的aligh='right/left'指定的。然后再按照statusbar中列举的顺序分别排列。左边和右边的顺序各自是独立的。
5). 一个很有用的组合键:ctrl+win+r,可以让awesome重读rc.lua,马上看到修改rc.lua的效果
6). 最后一点注意的:awesome的配置文件的语法千变万化(orz...),所以看官方指南的时候一定要先滑到底部看到底是for awesome2还是for awesome3的指南。更囧的是官方一些for awesome3的widget也不能正常使用。如果不想再去学习一门lua语言的话,还是配置得简单一点吧。

3. 一些常用的CLI程序
1). 终端模拟器urxvt:为什么用urxvt呢?因为默认的xterm要正确显示中文还是需要一番设置的,想要速成的话还是用urxvt吧。ubuntu下安装rxvt-unicode就可以了。之后在rc.lua中把xterm改成urxvt,我还加上了一些优化参数如下:

-tr:打开透明支持
-tint color:在打开透明支持的前提下,在背景上做一个单色alpha蒙版
-fg color:终端下主要字体的颜色。比如我使用的是一个黑色背景,则应该把该选项设置为亮色,如white,cyan,magenta等
-sr:把滚动条放在右边,比较符合习惯

在awesome中win+enter可以呼出默认终端,所以就不需要把上述优化参数加在.bashrc中了
另外,使用urxvt远程登入时会被提示unknown terminal而导致一些功能无法使用。解决方法是把本地机器的/usr/share/terminfo/r/rxvt-unicode拷贝到远程机器的同一目录中。
2). 音频播放器:个人还是比较习惯用mocp,安装的时候可以把它的ffmpeg插件也一并安装了。当然还有mp3blaster和mpd等可选,不过前者强烈不推荐,后者想要速成的话还是放弃吧。
mocp的爆音问题:其实是PCM设得太大了,其它程序也会有爆音的。我的解决方法是让mocp内置的音量调节功能不要去调节PCM而去调节Master。编辑.moc/config,找到关于alsa或oss的段落,把首选device从PCM改成Master就可以了。
mocp显示中文:当然可以把所有音乐的标签转换成utf8,不过为了兼容性考虑还是算了吧。我采用的是一种折衷的方法,让mocp不要去读取标签,改为直接显示文件名。在.moc/config中找到ReadTags,把值设为no就可以了。
mocp背景透明:编辑theme文件,把background和frame的背景色改为default就可以了。
3). 视频播放器:毫无疑问的mplayer,快捷键man去吧。关于中文字幕问题,要在.mplayer/config中加上subcp=936
4). 辞典:星际译王的终端接口sdcv
5). 文件管理器:推荐gnu的MC(midnight commander)。F1~F10为功能键。
默认使用vim编辑器:在mc的选项中取消“使用内置编辑器”,然后

sudo update-alternatives --config editor

选择vim.basic
设置透明:在.mc/ini最后加入

[Colors]
base_color=normal=white,default:marked=magenta,default

其实还可以完全透明掉,不过不知道为什么我这里总是不成功。不想折腾,爱折腾的可以自己google一下,绝对是可以实现的。
设置文件操作规则:编辑/etc/mc/mc.ext,看一下文件头的说明吧,语法还是很好懂的。
6). 图片查看器:用feh吧。推荐在rc.lua中把feh设置为浮动窗口启动(搜到Mplayer,然后把feh也像模像样加进去就可以了)
7). Todo list:本来想用todo.txt的todo.sh的,不过很神奇这个东西有语法错误。然后基于不折腾原则,找到了ikog,可用性还不错,也是基于todo.txt的

4. 其它需要注意的终端操作
awesome的program launcher:如果使用默认配置文件的话,win+F1就可以打开launcher了,之后应该输入命令
调节音量:amixer set Master/PCM 5%+,具体的man amixer
查看电池电量:acpi
终端的复制/粘贴操作:复制的话选中就可以了,粘贴一般可以用shift+insert,在opera中要用鼠标中键,不过应该可以map到键盘
休眠:sudo pmi action suspend

至此,实现了无折腾达到基本可用。之后怎么搞,爱深入研究什么东西就看个人意愿了。恩,也不知道我的the way会不会继续更新下去。

2 条评论:

Vern 说...

todo list 可以试试 devtodo

Tony Long 说...

to Vern: Thx~~, now I use todo tools on my palm :_P