Archive for the ‘linux’ Category
利用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

Popularity: 99% [?]
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的卡。

Popularity: 17% [?]
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后再播放,速度流畅起来了。

Popularity: 29% [?]
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就行了.....

Popularity: 19% [?]
用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,以更新包。
Popularity: 24% [?]
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切换。
恩,恼人的回车确认编码是不是消失了?
Popularity: 16% [?]
利用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吧。
Popularity: 38% [?]
实现实现linux下的飞信功能
大赞,可以少给移动送钱了!
经测试,在debian unstable版本上可以正常使用。以下内容转载自tKC的blog
=======================转载的分割线============
开发者网站:http://www.it-adv.net/
以下演示均在Redhat AD5系统下操作
首先下载程序和支持库
http://www.it-adv.net/fetion/download/fetion20080522004-linrh4.tar.gz 主程序
http://www.it-adv.net/fetion/libraryrh4x32.tar.gz 支持库
解压这两个文件
[root@penglei ~]# tar zxvf libraryrh4x32.tar.gz
libACE-5.6.5.so
libACE_SSL-5.6.5.so
libcrypto.so.0.9.7a
libssl.so.0.9.7a
[root@penglei ~]# tar zxvf fetion20080522004-linrh4.tar.gz
./install/
./install/www/
./install/www/index.html
./install/www/css/
./install/www/css/scheme.css
./install/www/css/main.css
./install/www/css/print.css
./install/www/css/main-msie.css
./install/www/images/
./install/www/js/
./install/www/js/jquery.js
./install/socket_interface/
./install/socket_interface/socket_demo.php
./install/Readme.txt
./install/sound/
./install/sound/smile8.wav
./install/sound/message.wav
./install/sound/smile1.wav
./install/sound/login.wav
./install/sound/openchatwin.wav
./install/sound/closechatwin.wav
./install/fetion
./install/plugins/
./install/plugins/plugin_contact_update
./install/plugins/plugin_buddy_application
./install/plugins/plugin_message
./install/plugins/plugin_invite
./install/plugins/plugin_timer
./install/conf/
把支持库复制到/usr/lib/目录下,并作软链接如下:
[root@penglei ~]#cp lib*so* /usr/lib/
[root@penglei ~]#ln -s /usr/lib/libcrypto.so.0.9.7a /usr/lib/libcrypto.so.4
[root@penglei ~]#ln -s /usr/lib/libssl.so.0.9.7a /usr/lib/libssl.so.4
设定lib库配置文件
[root@penglei ~]#vi /etc/ld.so.conf
#增加一条
/usr/lib/
#保存退出后,执行
#ldconfig
fetion的目录结构:
.Readme.txt: 本说明文件
.fetion:主程序
.sound*.wav:各种音效文件,您可以用自己喜欢的文件替换
.pluginsplugin_*: 插件程序,您可以修改插件以达到自己的各性化需求
完成之后测试,安装是否成功
[root@penglei ~]#cd install
[root@penglei install]# ./fetion -h
Usage:
fetion -h
-h: help
fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
-u: Fetion user account(only supports mobile phone No.)
-p: Account password
-b: Batch file name
-d: Debug on and write logs to [mobile]-debug.log
-EN: English
实际使用
登录飞信默认是中文utf8的,如果linux系统不支持utf8会出现乱码:所以这里使用english的方式来登录。
测试帐号:13812345678
密码:123456 (如果密码中含有特殊字符,请使用单引号)
./fetion -u 13812345678 -p 123456 -EN
登录后输入?获得帮助
****************************************************************
指令 指令说明
list 好友列表: list
sms 发送短信: sms 飞信号/手机号/编号 短信内容(换行请用 代替)
chat 在线消息: chat 飞信号/手机号/编号 短信内容(换行请用 代替)
status 在线状态: status online/busy/away/hidden [个性化信息]
add 添加好友: add 飞信号/手机号 申请信息 本地呢称
del 删除好友: del 飞信号/手机号/编号
invite 邀请好友: invite 手机号 您的姓名(邀请好友开通飞信)
autoaccept 自动接受: autoaccept on/off/status 自动接受加为好友申请
myinfo 修改资料: myinfo nickname/impresa 内容(呢称/心情)
help 帮助菜单: help/?
exit 退出系统: quit/exit
****************************************************************
脚本测试
可以使用fetion的-b参数来实现p处理;
举例如下:
[root@penglei install]# vi p.sh
sms 13512345678 “msyqlserver is down”
sms 13612345678 “db1 is not running”
sms 13712345678 “warning db2 disk3 is full”
保存后执行:
./fetion -u 13812345678 -p 123456 -b p.sh
就是一次给3个人发出报警信息。
实际测试中发现批处理信息发送的第一条收不到,从第二条开始就正常了,所以写脚本的时候注意第一行随便写个占用上就好了。
Popularity: 47% [?]
使用msn-pecan的pidgin插件,解决pidgin登录msn不灵的问题
我在linux下一直使用pidgin作为登录msn、gtalk等im的工具。简单的说,他插件多,支持的im协议多,操作界面也朴实无华,很符合我的审美观。所以也就一直使用至今。
但用pidgin登录MSN Live messenger,还是有些不如人意的地方。比如:
-不支持发送消息给离线状态的好友,而仅仅是以pounce的形式保存在本机上,只有在下次该用户登录上线并且自己也在线的时候才能发送;
-无法收到其他好友发给自己的离线消息;
-可以显示Nickname,但是无法显示Personal Message。但偏偏我有几个msn好友是Personal Message狂人,看他们隔三岔五修改自己的PM,也是个很有意思的事。
pidgin从2.4升级到2.5之后,以上这几点都得到了改进。所以我很开心的换用了2.5。
但是很快,pidgin2.5就无法登录msn了。经常性的连接失败和发送信息失败。google了一下,大概原因在于pidgin自带的MSN协议与目前Micro$oft的MSN协议不同,或者说不搭配的缘故。
于是继续搜索,找到了msn-pecan的pidgin插件。简单的说,这东东可以代替pidgin内置的msn插件,让msn在piidgin上跑得更欢。
还等什么呢?简要说一下安装和配置方法:
1.下载并安装
在debian下分为两种方法,分别对应不同的debian版本。
1.1 Debian Lenny(testing)
如果你用的是debian lenny(testing)系统,那么只能下载源代码,编译安装了。
msn-pecan的当前版本是0.0.17,可以在这个网址下载到。解压缩,make,make install。然后进入第2步。
1.2 Debian sid(unstable)
unstable下有最新的msn-pecan源可以直接通过apt-get的方式安装。
sudo apt-get install msn-pecan
然后进入第二步
2.pidgin中配置使用WLM
在pidgin的im协议中,msn-pecan叫做WLM。使用方法如下:
打开pidgin,在窗口中按快捷键ctrl+a,或者依次选择"Accounts"-"Manage Accounts"
点亮你的msn帐号,protocol部分为"MSN"的,双击或者选择"Modify"打开,在弹出的窗口中将""MSN"改为"WLM",保存,退出。重新激活登录该帐号吧。
Popularity: 71% [?]