Author Archive for MarcusPage 2 of 4

ubuntu日常使用总结

1,多媒体播放
Mplayer, totem-xine, w32codecs我想是必须的把,有了w32codecs基本就无敌了.
sudo apt-get install mplayer mplayer-skins totem-xine libxine1-ffmpeg
然后从cn99.com 的ubuntu源下载相应的解码器装上即可,w32codecs, mac
这个是7.04的源,但是基本上在7.10下也能正常使用

2,将mp3的id3tag转换为utf8
ubuntu下默认的中文环境是utf8字符集的,但是网络上大部分mp3的id3tag都是非utf8编码的,这里有个ID3iconv可以把id3tag转换成utf8格式,兼容ID3v1 tags和ID3v2,支持big5/gbk编码 ,只是java程序需要java虚拟机的, 下载
使用简单
java -jar id3iconv-0.2.1.jar -e gb18030 *.mp3
# -e 设定源编码格式

3,chm文件阅读
强烈推荐ChmSee,功能比较全面,对中文支持也比较好;GnoCHM也不赖,只是中文支持差一点。deb包下载

4,Opera浏览器中输入法的问题
Opera 下用 Ctrl + ”空格“ 切换输入法会切换到浏览器的主页,解决办法是修改/usr/bin/opera这个文件(其实是shell 脚本),在第二行加入 export QT_IM_MODULE=XIM
sudo sed -i '' -e '1aexport QT_IM_MODULE=XIM' /usr/bin/opera

5,把CD抓取为mp3文件:Sound-Juicer
Sound-Juicer是ubuntu下非常易用的CD音轨抓取软件,默认输出格式为ogg和flac,也可输出为mp3。
需要gstreamer0.10-lame用于编码
sudo apt-get install gstreamer0.10-lame
然后打开Sound Juicer ,”Edit” -> “Preference” -> “Edit profiles” ,添加/修改一个mp3的输出格式,文件扩展名设置为“mp3”, 最主要是把GStreamer Pipeline设置为:

audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=1 vbr=4 vbr-quality=0 quality=0 vbr-min-bitrate=224 ! xingmux ! id3v2mux

提示:参数调节可参考 man lame

6,音频文件预览
鼠标停靠在音频文件上即自动播放文件,移开停止。需要安装mpg123和ogg123
sudo apt-get install ogg123 mpg123
然后设置Nautilus,”Edit” ->”Preference” ->”Preview”, 目前似乎只支持mp3,ogg格式,其他格式如何设置尚未研究。

7,魔兽争霸在wine下模拟运行
魔兽在wine下模拟的运行效果现在已经很好了,在我的IBM R51上速度甚至比windows下还要流畅一点。首先把wine装上,(装完后, 在终端下键入winecfg进行简单的配置)
sudo apt-get install wine wine-utils
魔兽最好下载硬盘版的那个,网上有很多的,运行游戏:
wine Frozen\ Throne.exe -opengl
wine下对directx 的支持似乎不太成熟,画面渲染经常错误,所以改用opengl就没有问题。
如果下载的是中文版本的魔兽,而linux环境的语言设置又是英文的,直接执行前述的命令行可能会出现进不了游戏的现象(至少在我这里是这样),这样运行就没问题了:
LC_ALL="zh_CN.UTF-8" LANG="zh_CN.UTF-8" wine Frozen\ Throne.exe -opengl

8,BT/eMule下载
bt下载用Deluge,要用eMule用wine虚拟好了,速度也满快的,具体看这里

ubuntu linux下使用.cue对flac/ape分轨及转码

经常从verycd.com上下载音乐,不少是高质量的ape和flac格式的(恩,verycd真是个好东西~),但是linux下貌似还没有播放器支持cue索引的ape/flac镜像(?),更严重的是我的COWON D2虽然支持ape/flac,但是同样不支持cue文件。在网上搜索了一通,解决办法总结如下。
需要的工具有flac,shntool ,ubuntu下安装:
$sudo apt-get install flac shntool

要对ape分轨的话需要linux版的mac编解码器,编译安装
对cue索引的flac分轨:
$ shntool split -t "%n.%p-%t" -f example.cue -o flac example.flac -d output
-d 指定分轨后的falc文件的输出目录,不指定的话在当前目录生成
-t 指定输出文件的文件名格式,%n是音轨号,%p是演奏者/艺术家, %t标题

对ape分轨也类似,
$ shntool split -t "%n.%p-%t" -f example.cue -o ape example.ape -d output
另外,通过shntool,还可以把ape/flac镜像转换成其他音频格式,例如,要转换成mp3的话,
$ sudo apt-get install lame
$ shntool split -t "%n.%p-%t" -f example.cue -o 'cust ext=mp3 lame --r3mix -b 320 --quiet - %f' example.flac -d output

PS,

  • 目前发现ape分轨成多个ape似乎会出现错误无法处理,但是将ape分轨然后转码成其他格式(flac,mp3…)是没有问题的,flac和其他格式之间没有问题;
  • cue文件的字符集最好与系统当前使用的字符集相同,否则最好用iconv 转码后进行,否则最后生成的文件名可能乱码;
  • 给shntool指定-t参数虽然可以按照cue文件内容格式化输出的文件名,但是似乎还没有办法给文件tagging,还没找到解决的办法,只能手工来了

Update: 对于分轨的tagging,可以使用Exfalso这个工具(最近发现EasyTAG也能实现),它有一项功能“tags from path”可以实现,这个工具是quod libet播放器的一部分

Unix Shell: 在单个命令中创建复杂目录树

在unix shell中,如果需要创建目录结构,通常是这样的:
#单独定义每个目录树
~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $

也可以使用稍高级一点的方法,一个命令来定义目录层次:
~ $ mkdir -p tmp/a/b/c
这样 tmp/a/b/c 这样的层次结构就一次建好了

最后,甚至可以使用一个命令来定义复杂的目录树
~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
#来看看产生了些什么
~ $ tree project/
project/
|-- bin
|-- demo
| `-- stat
| `-- a
|-- doc
| |-- html
| |-- info
| `-- pdf
|-- lib
| `-- ext
`-- src

是不是很方便呢,比在脚本里写上一堆mkdir轻松多了把, enjoy it :)

参考来源:UNIX高手的10个习惯

HostMonster主机买下,高兴~

不知是被富婆包你成老板娘忽悠了还是大脑发烧,一激动就跑去买下了hostmonster的虚拟主机一颗,然后迅速地开始了拉帮结伙的合租募资活动,截至今日已经成功地忽悠了3人入会(包括自己),所以成本得到了迅速地下降,情势一片大好,嘿嘿, 这样搞下去是不是可以坐收渔利发大财了 !?

该主机是300G存储空间,3T月流量,不限制绑定的域名数,值得注意的是还可以开通ssh登录,这样有些操作做起来就方便不少。购买开通很方便,从订购支付到开通用不了1小时,基本上注册完毕支付没有问题就能马上用了,只不过域名解析生效可能要花些时间而已。用信用卡支付还是很方便的,用广发卡支付美元后客服人员会打电话确认,还算放心。

总体上速度和功能还算满意,就是某些设置不尽人意,具体可以看看hostmonster与dreamhost的功能比较。默认ssh权限是没有打开的,要打开需要传真或者email一份身份证明的照片,比如驾驶执照,护照之类,我只好试着把居民身份证拍下下来mail过去,不过居然也开通了,只是花了5个小时才收到email提示已经开通了 “SSH has been enabled on your account. You need to use your unix username (the 8 character username) and the password for your hosting account…”,还不坏~

开通ssh后可以用主帐户密码登录,大致看了一下,和自己同在一个主机的一共有20多个用户 ,CPU是8个Xeon(R) CPU E5320 1.86GHz, 内存4G。HostMonster的用户主目录貌似都是建在/home下面,例如/home/youraccount,帐户名都是8个字符长度。这台机器的磁盘io和cpu都不怎么忙,但是空闲的磁盘空间还有很多,大概以后还会有用户进来把,不过目前还好:) 命令行上大部分的命令都可以用,包括用常用的top, iostat …查看系统状态,也有命令行的php(5.1.6),python(2.3),perl(5.8.8)可用,但是没法在命令行修改crontab,只能从控制面板上修改,格式和unix的一样。

编译ubuntu feisty 内核及ipw2200无线上网

基本配置:ubuntu feisty fawn ,linux-2.6.20, gcc 4.1.2
开始~~
1,安装基础工具:
sudo apt-get install flex bison libtool make autoconf gcc libncurses5-dev
sudo apt-get install kernel-package ##用来建立内核镜像的deb安装包(最終命令行脚本为make-kpkg)

2,安装linux内核源代码
sudo apt-get install linux-source
此操作会把内核源码报下载到/usr/src目录下,我这里是/usr/src/linux-source-2.6.20.tar.bz2
3,解压源码包并建立链接
cd /usr/src
sudo tar -xvjf linux-source-2.6.20.tar.bz2
sudo ln -sf linux-source-2.6.20 linux
cd /usr/src/linux

4,配置并编译内核
sudo make menuconfig
#设定自己的内核子版本号“Local version”(/ –>General setup –> Local version - append to kernel release),使用小写字母,在后面的制作deb安装包的时候会用到;
接下来就直接编译内核,有2种方法;
传统的方式:
sudo make clean
sudo make
sudo make modules_install #如果配置中有modules,会安装到 /lib/modules/`uname -r`中,并生成modules.dep
sudo cp arch/i386/boot/bzImage /boot/ #然后配置/boot/grub/menu.lst

debian发行版通用的方式:
sudo make-kpkg clean
sudo make-kpkg --revision xxx –bzimage kernel_image

  1. xxx为最终生成的deb安装包的子版本号(必须包含数字),另外,make-kpkg工具会读取刚才设定的“Local version”(读取.config文件),如果设定为大写字母,脚本会报错并退出。
  2. 此种方式编译会生成一个.deb的安装包,位于当前源码目录的上一层目录中,这里即为/usr/src/linux-image-2.6.*.deb,用dpkg安装即可(自动配置grub启动条目,备份.config 文件到/boot,安装内核模块到/lib/modules/)

sudo dpkg -i ../linux-image-2.6.*.deb
#用这种方式编译安装的好处就是编译安装更方便,而且,可以用不同的revision和local version区分不同配置的内核,使用deb安装包更易于管理和移植。

Notes:

  • 对于ipw*系列网卡,选择驱动的时候要用模块方式编译,否则应用新内核后会无法加载firmware,ubuntu对于硬件的firmware似乎都是放在/lib/firmware/`uname -r` 里面,可以直接从已有的内核安装里拷贝一份出来,如:
    sudo cp -r /lib/firmware/2.6.20-16-generic/ /lib/firmware/`uname -r`
  • make-pkg 的配置文件:/etc/kernel-img.conf /etc/kernel-pkg.conf
  • 参考, man make-kpkg

体验免费Unix/Soloaris主机

Unix体验中心(Unix-Center.Net)的目标是为研究、学习和使用各种版本的Unix和类Unix操作系统的教师、学生和工程技术人员提供一个体验和测试各种版本的Unix和类Unix系统的软硬件平台。该平台能够为所有注册用户免费提供如下服务:

-- SSH登录
-- C/C++,Fortran,Java,Ruby,Common Lisp等多种语言开发工具

首先要申请帐号: http://www.unix-center.net/uc/reg.php
通过邮件验证后从此处登陆:
solaris.unix-center.net (公众网) ;
solaris-edu.unix-center.net (教育网)

据说该站在4月份还将会推出八核UltraSPARC芯片的solaris主机, 真的是很期待呀…:)