Archive for the ‘linux’ Category
I use the following non-free softwares
<code>~$ vrms -e
Non-free packages installed on simon-laptop
fglrx Video driver for the ATI graphics accelerators
fglrx-amdcccle Catalyst Control Center for the ATI graphics accelerat
libparmetis-dev Parallel Graph Partitioning and Sparse Matrix Ordering
libparmetis3.1 Parallel Graph Partitioning and Sparse Matrix Ordering
picasa Image management application from Google
r-cran-maptools GNU R Tools for reading and handling spatial objects
rar Archiver for .rar files
skype Skype
unrar Unarchiver for .rar files (non-free version)
virtualbox-3.1 Sun VirtualBox
xpdf-chinese-simplified Portable Document Format (PDF) suite -- simplified Chi
Contrib packages installed on simon-laptop
flashplugin-installer Adobe Flash Player plugin installer
googleearth-package utility to automatically build a Debian package of Goo
jabref graphical frontend to manage BibTeX databases
java-package utility for building Java(TM) 2 related Debian package
libsuitesparse-metis-3.1. collection of libraries for computations for sparse ma
nvidia-common Find obsolete NVIDIA drivers
r-cran-surveillance development and the evaluation of epidemiological outb
ttf-mscorefonts-installer Installer for Microsoft TrueType core fonts
11 non-free packages, 0.5% of 2346 installed packages.
8 contrib packages, 0.3% of 2346 installed packages.
</code>

64位ubuntu下,jdk安装以及让emacs23中可以唤出ibus召唤兽
没事干的时候重装了一遍系统,用ubuntu 10.04替换掉了原来的ubuntu 9.10.这么干是因为是在担心像以前一样,升级升出来很多问题。linux的安装和迁移系统还算是方便,把/home/user里的文件备份到移动硬盘中,重装完系统之后,把相应的内容复制粘贴回去,重新授予用户权限就可以了。
ubuntu 10.04的效果如何不用多讲,反正网上的评价有的是,随便搜索一下就可以了。这里说说两个安装中的问题。
第一个,我的笔记本是thinkpad t400,内存添加到了4G。考虑到这个,就装了64位的操作系统,希望能尽可能多的利用到两个cpu和4g内存的优势,或者就是心理优势感吧。32位的系统最高支持内存到3g,毕竟还是不爽一些(debian的32位内核有bibgem,ubuntu也有pae模式,可以支持大内存了)。
64位下装sun-java6-jdk是第一个卡住的门槛。我在sources.list中添加了http://mirrors.163.com和http://ftp.sjtu.edu.cn的源,把multiverse等能加的源都加上了,可是就是搜索不到sun-java6-jdk这个文件包。sun的官方网站上下载的只是.bin文件,而很不幸,无论我下载下来32位的或是64位的.bin包,用sudo sh的方式直接安装,还是编译成.deb包安装都不成功。郁闷下来。还好在newsmth找到了解决方案:
jdk等包被从multiverse源中移出来了,放在canonical.com的官方源上,只需要在源中加入以下字段
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner
然后sudo aptitutde update就可以继续安装了。
第二个问题是emacs和ibus的绑定。很不幸,我又一次遇到了这个问题。在此前9.04 9.10中都解决的好好的东东,不知道为什么现在的emacs23又不支持了。折腾了一阵子,勉强算是搞定了,记录一下步骤。以下的几个步骤中,哪一个有效哪一个无效我搞不清楚了,不过通通来一遍好了,具体的内部机理是什么,暂时不去管它。。。
ibus的启动设置是在/etc/X11/xinit/xinput.d/ibus文件中。编辑它,按照以下内容修改:
XIM=ibus
XIM_PROGRAM=/usr/bin/ibus-daemon
XIM_ARGS="-x -d -r -v"
简单地说,emacs23是采用xim输入法的,因此需要在ibus中提供xim支持,但不知为什么,我用ibus-daemon –xim的方式启动输入法,emacs2还是不认识,还得用这个很麻烦的ibus -x -d -r -v的方式来启动,才能在emacs23中唤出ibus来。
然后,运行ibus-setup,将激活ibus输入法的快捷键从ctrl+space换成shift+space,这主要是为了解决在emacs23中ctrl+space被占用的的问题。以后就用shift+space激活ibus输入法吧。
在自己用户的根目录下修改~/.Xdefaults文件,或者,如果没有这个文件的话,创建一个,加入如下内容:
Emacs.useXIM:true
还是让emacs23支持xim输入支持的
编辑好了之后,运行xrdb ~/.Xdefaults 让设置生效
我习惯了使用en_US.UTF-8的locale了,所以系统环境仍然是en_US.UTF-8,但是必须设置LC_CTYPE=zh_CN.UTF-8才能在emacs23中输入中文,也就是说,将以下字段放置在/etc/profile或者~/.bash_profile中(其实,放置在/etc/environment或者~/.bashrc中一样也可以的)
export LC_CTYPE="zh_CN.UTF-8"
export LANG="en_US.UTF-8"
保存,退出。
对系统变量来说,就是 . /etc/profile 或者 . /etc/environment 让它生效
对用户变量来说,就是 . ~/.bashrc 或者 . ~/.bash_profile
在~/.bashrc中设置一个alias
alias emacs='LC_CTYPE=zh_CN.UTF-8 emacs23 --enable-font-backend'
前面的LC_CTYPE=zh_CN.UTF-8纯属废话,如果已经将第三步的工作做好的话,这个可以省略。后面的–enable-font-backend是为了开启emacs的xft字体支持的。
然后再. ~/.bashrc一下,让设置生效。
恩,要是担心这一系列改动没成功的话,不妨重新启动一下。
利用mencoder将视频文件转压制成android/ipod可以观看的.mp4格式
换了个g2手机,android操作系统的,强大啊强大。不是很爽的地方在于,看视频需要将格式转换为mp4或者3gp的,这和现在随处可见的.avi或者.mkv格式的东东不大一样。就需要在pc上先将视频文件的格式转制,然后再粘贴到手机的存储卡中。
当然,前提是您需要安装mencoder这个软件。
简单地说,以下命令复制粘贴到terminal中,将”Domino.srt”换成对应的字幕文件,inputfile 和 outputfile.mp4 也换成相应的输入、输出文件名称,回车即可
压制时间稍稍有些长,也会吃比较多的cpu。耐心等待一下吧。
mencoder -vf dsize=480:352:2,scale=-8:-8,harddup -oac faac -faacopts mpeg=4:object=2:raw:br=128 -of lavf -lavfopts format=mp4 -ovc x264 -sws 9 -x264encopts nocabac:level_idc=30:bframes=0:bitrate=512:threads=auto:turbo=1:global_header:threads=auto:subq=5:frameref=6:partitions=all:trellis=1:chroma_me:me=umh -sub Domino.srt -subcp utf8 -subfont-text-scale 3 -font “/home/simon/.mplayer/LiHeiPro.ttf” inputfile -o outputfile.mp4

fglrx sucks
小小的hate一下
fglrx始终搞不定,超级怒。这是我第一次对debian如此愤怒。(当然,我也知道原因并不是出在debian身上,主要是AMD的劳什子显卡驱动实在是作的太烂,巧妇难为无米之炊啊)。
按照我通常的经验,要么在sources.list中直接aptitude install fglrx-driver,要么去amd.com下载最新的ati驱动回来自己安装,这两个方法怎么都有一个能成。然后sudo dpkg-reconfigure xserver-xorg,再aticonfig –initial 重新配置一下xorg.conf,重新起动就行了。
可是这次貌似不是这么回事。
首先,fglrx死活都搞不上,我连吃奶的力气都使出来了,卖身卖肾卖血胡搅蛮缠了好几天,得到的最好结果是系统提示:fglrx安装成功。但是aticonfig –initial的时候就提示“no available adapters found”。奶奶个熊,你要是找不到显卡,我是怎么再这台t43上和你眉来眼去的。然后再重启,X就挂了,gdm一个劲的闪阿闪,大概闪15秒钟后,死机。
按照老经验,X不能启动也没关系,在grub界面进入single mode后,以root身份在字符模式下dpkg-reconfigure xserver-xorg就行了。可是我又一次被雷到了:xserver-xorg精简,现在的/etc/X11/xorg.conf如果不是说什么内容都没有,也基本上等同于零。虐待死我了也么哥。
于是,我悻悻然的重装了一下debian(好吧好吧,我承认,其实是三次)。而且考虑到我如此之低的rp值,重装后还是决定随大流不做小白鼠了,将版本降低到lenny,再见吧unstable。
其实我要的很简单:显卡驱动加速开,流畅的跑开,我不玩游戏,能让我舒舒服服不卡不停顿不总是掉桢的看720p格式的电影就行了。可是为什么就这么难么?1.86G的CPU,2G的内存,多少照顾一下ATI mobility x300(32m)的烂显卡也不行阿…
难道就因为这个,我就得升级我的计算机了么…
谴责ATI的卡。

fram drop and hard frame drop configuration on mplayer
照理说,我的debian unstable on thinkpad t43跑mplayer(前端用的smplayer)播放720p格式的视频,应该不会很吃力。可是它的确比较卡,驱动、优化等方式都试过了,效果不是很理想。总是播放大概十秒钟就会有一两秒的停顿,画面卡住不动,比较郁闷。
想了想,可能是frame drop的问题。在smplayer中按ctrl+p进入配置界面 – performance,默认的选项是”Allow frame drop”有被勾选,”Allow Hard Frame Drop(Can lead to image distortion)”没有。挨个测试了一下,还是需要将hard frame drop选上,重新打开smplayer后再播放,速度流畅起来了。

debian installation update
我把debian重新安装了一遍(其实主要原因是安装Archlinux失败,555.)
T43上的光驱插槽Ultra Bay可以插第二块硬盘的,我原本是将这第二块硬盘分成/home和/opt两个区。安装的时候需要用光驱,就把第二块硬盘拔掉,插上光驱。分区的时候选择将所有文件都装在第一块硬盘sda里,不分区。
1.挂载/dev/sdb硬盘中的 /home和/opt目录
在/etc/fstab中把/home和/opt挂载上。比如我的第二块硬盘对应的/dev/sdb1是/home /dev/sdb3是/opt,那就在/etc/fstab中这么写
/dev/sdb1 /home ext3 defaults 0 0
/dev/sdb3 /opt ext3 defaults 0 0
sudo umount -a
sudo mount -a
试试看能否奏效?
(注意,不要将sda1,即/中原有的/home和/opt目录删除掉,至少在我这里,我删除了sda1的/home和/opt目录后,系统提示无法挂载,还是要重新建立一个才可以的)
2.建立新的用户
重新起动后就需要将这sdb两个区的sda1(对应/home)和sda3(对应的/opt)重新挂载回去。
先是硬件操作,拔下光驱,插上硬盘,起动计算机。用root用户登录后,
useradd simon
passwd simon
(出于保险起见,还是先用root用户登录,不要用simon用户登录为好,我比较担心会不会登录后系统在sda1的/home目录下建立simon文件夹,然后和sdb1的/home/simon冲突了?反正我是没试过)
3.权限
记得给你的/home/simon目录以simon的权限。sudo chown -R simon /home/simon
重新起动一下吧,呵呵
4.(这里出现一个小问题,tab键无法补齐)
很奇怪,开始以为是我的/etc/fstab中”defaults”段落的参数不对。后来发现其实原因很简单,在/etc/passwd中查找simon用户的一行
后面些的是/bin/sh,改成/bin/bash就行了…..

用ELPA模式安装并管理emacs的Lisp包
ELPA是Emacs Lisp Package Archive的缩写。简单的说,它用来管理和维护Emacs的一系列Lisp包,让Emacs工作地更加顺畅和容易。本贴的内容就是简要介绍一下安装并且运行此包的方法。
1.安装ELPA的package-install.el
这个步骤的操作是在emacs中运行的。打开你的emacs,在*scratch*的buffer中复制粘贴进去以下这段代码:
(let ((buffer (url-retrieve-synchronously
"http://tromey.com/elpa/package-install.el")))
(save-excursion
(set-buffer buffer)
(goto-char (point-min))
(re-search-forward "^$" nil 'move)
(eval-region (point) (point-max))
(kill-buffer (current-buffer))))
然后Eval之。如果你不知道Eval是什么意思的话,就按ctrl+j,将这段命令运行。
打开你的.emacs文件,可以看到文件最下方被加入了如下字段:
;;; This was installed by package-install.el.
;;; This provides support for the package system and
;;; interfacing with ELPA, the package archive.
;;; Move this code earlier if you want to reference
;;; packages in your .emacs.
(when
(load
(expand-file-name "~/.emacs.d/elpa/package.el"))
(package-initialize))
恩,本阶段任务完成。
2.运行并安装相应的lisp包
还是在emacs下,按M-x package-list-packages,连接到远程服务器,调出可用的lisp包列表。记得使用tab补齐功能对付package-list-packages这么长的名称吧。
列表出现之后,将光标移动到你想要安装的package前面,按i。将所有想要安装的文件都列出之后,按x,会自动下载并且安装这些lisp包了。剩下的工作就是关闭emacs并重新启动,嘿嘿,方便多了吧。
解释一下:
ELPA会在你的根目录下生成~/.emacs.d/vendor/elpa的文件夹,并且将所有下载并编译的文件保存在该文件夹内,以方便调用之。请记得时常在M-x package-list-packages调出的包列表中按r,以更新包。
unicad for emacs cvs
1.介绍
Emacs下比较让人苦恼的事情是:对于母语非英语等拉丁语的使用者而言,总是需要在Emacs上用自己的母语的。但是Emacs对中文的支持,至少到现在为止还不是很理想。迄今为止,我是使用emacs cvs版本,就是原来提到的emacs-unicode-2,或者emacs 23(在debian下,emacs cvs被叫做emacs-snapshot有对应的软件包可以通过aptitude或者apt-get的方式安装,简要方法见1.1),中文输入法部分用的是scim。但是emacs对不同字符编码格式的文件识别和处理上总是很麻烦:首先,我需要在.emacs文件中加入对中文的支持(我使用的是utf-8编码,见1.2);其次,每次输入汉字之后,保存时emacs总是要弹出一个提示框,大意是你选择的utf-8编码与现有编码不同,是否继续?按一下Y或者回车吧。麻烦。
所以我找阿找阿找,找到了这个Unicad。简单的说,就是识别字符编码的工作交给它来进行吧。别的就都不用管了。目前正处于试用状态中,简单介绍一下安装和配置方法。
1.1 debian sid下安装emacs-snapshot
编辑/etc/apt/sources.list文件,加上以下源地址:
<code></code></pre> <pre><code>sudo emacs /etc/apt/sources.list</code></pre> <pre><code>deb http://emacs.orebokech.com sid main deb-src http://emacs.orebokech.com sid main</code></pre> <pre><code>sudo aptitude update sudo aptitude build-dep emacs</code></pre> 然后,或者通过aptitude\synaptic等方式直接安装emacs-snapshot,或者下载源代码,自己配置安装吧。这部分就不多罗嗦了。 <h2>1.2 emacs的utf-8中文环境配置</h2> 注:下文将要介绍的unicad可以代替此部分工作。 在用户根目录下的.emacs文件中加入: <pre><code>(setq current-language-environment "UTF-8") (setq default-input-method "chinese-py") (setq locale-coding-system 'utf-8) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-selection-coding-system 'utf-8) (prefer-coding-system 'utf-8)</code>
保存,退出,重新起动emacs即可。
2. unicad的安装和配置
下载unicad,解压缩后,将unicad.el保存在你设置的emacs的load path下。目前unicad的最新版本是1.1.4。
还是在.emacs里,加入如下内容:
;load unicad, 一个自动识别编码的el
(add-to-list 'load-path "~/.emacs-lisp/")
(require 'unicad)
(unicad-enable)
第一行(add-to-list ‘load-path “~/.emacs-lisp/”)是个optional选项,比如我将~/.emacs-lisp设置为自己所在用户的emacs load path。但如果你已经这么作了,那就可以省略改行。
(require ‘unicad)的作用是让emacs启动时候载入unicad。(unicad-enable)是让emacs启动时自动开启unicad功能。
若想暂时关闭unicad,可以在emacs中输入M-x unicad-disable。再用M-x unicad-enable切换。
恩,恼人的回车确认编码是不是消失了?
利用module-assistant安装fglrx
借用fglrx的驱动程序支持,我们可以让ati的显卡打开3D加速功能,从而让linux跑compiz fusion。比如我的t43笔记本(debian unstable)就在跑compiz。但是一个小的问题在于,每次内核版本升级或者fglrx版本升级的话,都要重新配置fglrx模块。方法简要记录如下:
注意:并不是装有ati显卡的所有版本的thinkpad笔记本都支持fglrx,建议在打算安装fglrx之前仔细查找相关网页,确定你的笔记本显卡可以运行fglrx。比如就我所知,t42就无法安装fglrx了。
1.non-free源支持
debian unstable(sid)版本的源是有fglrx的driver的,放置在non-free部分内。我们需要作的就是检查sources.list的源中有没有加入non-free,以我的为例:
sudo emacs /etc/apt/sources.list
deb http://ftp.sjtu.edu.cn/debian/ sid non-free main contrib
deb-src http://ftp.sjtu.edu.cn/debian/ sid non-free main contrib
然后更新源
apt-get update
2.用module-assist安装fglrx
老办法,安装以下几个软件,并且利用module-assistant来安装并自动配置fglrx:
sudo apt-get install module-assistant fglrx-driver fglrx-kernel-src
sudo module-assistant auto-install fglrx-kernel-src
module-assistant会根据你当前系统的kernel版本自动下载并安装fglrx驱动。
3.aticonfig –initial
再以root方式运行aticonfig吧。
sudo aticonfig --initial
重新起动,大功告成。继续享受compiz fusion吧。