Login

    
Login

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又不支持了。折腾了一阵子,勉强算是搞定了,记录一下步骤。以下的几个步骤中,哪一个有效哪一个无效我搞不清楚了,不过通通来一遍好了,具体的内部机理是什么,暂时不去管它。。。

  • 1. ibus的设置
  • 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输入法吧。

  • 2. ~/.Xdefaults
  • 在自己用户的根目录下修改~/.Xdefaults文件,或者,如果没有这个文件的话,创建一个,加入如下内容:

    Emacs.useXIM:true

    还是让emacs23支持xim输入支持的
    编辑好了之后,运行xrdb ~/.Xdefaults 让设置生效

  • 3.locale设置
  • 我习惯了使用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

  • 4.~/.bashrc的设置
  • 在~/.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一下,让设置生效。

  • 5.重新启动
  • 恩,要是担心这一系列改动没成功的话,不妨重新启动一下。

    利用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,以更新包。

    mmd,我放弃了…

    折腾到现在,终于决定暂时搁置搞这个emacs的计划:

    结论:
    1) 详细阅读emacs manual是一切工作的开始,不能还没开始走路呢就学会跑了。
    2) emacs强大到变态,基本上可以随便玩了
    3) 这东西,太容易上瘾了…..

    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吧。