打造字符界面的多媒体Linux系统
0 环境与目标
硬件:ThinkPad R52笔记本一台。
目标:字符界面的LINUX系统,同时可以看图片,听音乐,看视频,无线上网。
1 系统安装
1.1 最小安装系统
官网下载CentOS 6.4-minimal镜像,刻录光盘安装系统,系统自身已经支持framebuffer。
1.2 启动framebuffer支持
修改/boot/grub/grub.conf文件,增加内核启动参数 vga=791 ,以启动framebuffer模式。
1.3 连接Internet,安装工具
配置有线网卡IP,连接Internet。
yum安装pciutils,usbutils以查看硬件设备情况。
yum安装wget以下载源码包。
2 我们要听音乐、看电影、看图片了
2.1 声卡测试
yum安装alsa-utils,用来测试声卡工作情况,系统本身已经支持此笔记本的声卡,lspci可以看到声卡信息。
运行alsamixer命令调整音量大小,运行aplay播放一个wav格式的音频文件,发出声音说明声卡工作正常了。
2.2 源码安装mplayer,支持大多数音视频文件
官网下载mplayer源码以及编解码库,把编解码库解压并把里面的所有内容(注意不是文件夹本身,而是解压后文件夹里面的内容)放到/usr/local/lib/codecs/下。
下载yasm,这个东西编译mplayer时需要使用,不知道为啥官网上就是下不了,最后从CSDN上下的。
解压mplayer源码,按照README的说明编译安装(不需要GUI),编译时间较长,耐心等待。
2.3 让mplayer发出声音
mplayer使用的是OSS标准的声音驱动接口,所以需要使用ALSA模拟OSS,其实也很简单,就是如下:
modprobe snd_pcm_oss
至此,mplayer已经可以正确播放大多数音视频了,包括mp3, rmvb。
2.4 看图片
首先yum安装libpng和libjpg库,这样mgaview才支持png,jpg格式的图片。
然后下载mgaview源码,编译安装即可。注意:编译时会出现2个Error,修改对应的源码即可(加括号修正)。
3 我们要无线上网了
3.1 安装无线工具包
yum安装wireless-tools,wpa_supplicant以设置无线网卡接入WIFI。
3.2 安装无线网卡固件
系统本身已经能正确加载无线网卡的驱动了,lspci 可以看设备。但是需要下载ipw2200-bss.fw这个固件文件到/lib/firmware目录下。
运行iwconfig 命令查看无线网卡情况,发现无线网卡名为eth1。
3.3 接入WIFI
运行iwlist scanning命令扫描当前可见的SSID,找到需要的那一个,记下ESSID名字备用。
新建/etc/my_wpa_supplicant.conf文件,内容如下:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="上面记下的ESSID名字"
psk="WIFI密码"
}
运行如下命令连接WIFI
wpa_supplicant -B -i eth1 -c /etc/my_wpa_supplicant.conf
运行如下命令获取IP地址
dhclient eth1
此时,已经接入WIFI了,通过iwconfig命令查看是否正常。
4 我们要使用串口了(网络工程师需要)
4.1 准备USB转COM转接头
我使用的是Z-TEK,默认系统已经有其驱动,lsusb可以看设备。插入后的设备名是/dev/ttyUSB0.
4.2 安装minicom超级终端
yum安装即可。
4.3 设置minicom
运行minicom -s 设置设备名、速率等参数并保存。
5 截屏工具fbgrab
5.1 安装依赖库
官网显示fbgrab依赖与splint, libpng, zlib。其中的libpng,和zlib我们已经安装了。
对于splint,其实是一个静态检测代码的工具,可以不用的,方法是:
去掉fbgrab的Makefile中的splint行。
5.2 编译安装fbgrab
如上所述,解压后,去掉Makefile中德splint行,直接make,make install。
如下命令就能完成截屏,并存储为png文件。 fbgrab 存放路径/图片名称.png。
本文附近中的截图就是这样完成的,为了不破坏图像显示,可以使用fbgrab的-s参数,或者使用ssh远程登陆操作。
附录:系统运行的几个截图
图一 运行命令mplayer -zoom -x 400 -y 300 影音文件.rmvb
图二 运行命令为 mgaview 图片文件名