Archive for the 'Unix/Linux' Category

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 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主机, 真的是很期待呀…:)

提高在UNIX/Linux shell下的工作效率:命令行编辑

对于长期工作在UNIX/Linux下的系统管理员和开发人员, 提高命令行输入的效率是很有必要的, 目标是尽量减少击键的次数, 回顾一下bash shell里的快捷键, 记牢它们是很有用的:

  • Control-A —— 将当前位置定位到行开头
  • Control-E —— 将当前位置定位到行尾
  • Control-K —— 删除截止行尾的所有内容
  • Alt-B —— 后退一个单词
  • Alt-F —— 向前推进一个单词
  • Alt-D —— 删除当前单词
  • Control-R —— 根据输入反向智能搜索
  • Control-L —— 清屏,相当于输入clear命令

其他有用的tips: 充分利用 bash, 更多有用的内容在IBM developerWorks 中国

在Ubuntu Linux的控制台下使用中文

公司的unix服务器都是采用GBK编码的环境,而我的笔记本装的是Ubuntu 6.06,默认的只安装了UTF-8字符集,所以在家里登录到公司看到的程序中的中文总是乱码,在让我郁闷了几天后,今天终于让我搞定了.

1, 修改中文locale配置:

配置文件放在/var/lib/locales/supported.d/下面,中文的是zh,英文的是en,根据自己的需求增删条目即可(相信用过gentoo的对此都不会陌生,呵呵)我的是:

zh_CN UTF-8
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GB2312 GB2312
zh_TW BIG5
zh_TW.BIG5 BIG5
zh_TW.UTF-8 UTF-8

2, 安装并设置zhcon:

sudo apt-get install zhcon

修改配置文件/etc/zhcon.conf,值得修改的有:

defaultencode = gbk
##默认编码,还可以是gb2312,big5
x_resolution = 1024
##屏幕分辨率
y_resolution = 768
color_cursortype = 0
##控制台下光标样式,0,块状;1,无; 2,下划线;用3到6可调整光标块大小
beep = off
##还是关掉BB的警告声为好

好了,现在可以在console下象用xterm一样用zhcon了,还可以输入中文,爽!

关闭linux下命令行的beep声

在Linux/Unix下的命令行下,经常会用到shell的自动补齐,但是同时也带来了烦人的beep声,煞是刺耳。有2种方法可以将它踢掉:
第一种是修改配置文件,确保/etc/inputrc中有如下一行未被注释

set bell-style none

修改后重新登录.
如果使用vim还要修改vimrc,在~/.vimrc中添加一行:

set vb t_vb=

第二种是编译内核时关闭相关的选项,使/usr/src/linux/.config文件中包含

CONFIG_SPEAKUP_DEFAULT=”n”