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 控制播放影片的位置和大小
mplayer -vo fbdev2 -geometry 500:10 -zoom -x 400 -y 300 somemovie.rmvb
-vo fbdev2的作用是播放视频的同时,可以通过ALT+F2等切换终端,-vo fbdev则无法切换。
这样播放窗口左上角的位置就是(500,10),窗口宽度为400, 高度为300。这样播放的视频就不会挡住命令行了,一般工作在命令行下,一边看着电影,好不惬意!
上一图让大家看看:
2.5 看图片
首先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远程登陆操作。
6 我们要使用中文汉字
需要注意:在字符界面下,提倡多多使用英文,尽量少用甚至不用中文。
framebuffer下的汉字终端主要是zhcon和cce。我装了zhcon,觉得已经够用了,所以没安装cce。
6.1 下载zhcon,并打补丁
zhcon很久没更新了,仍然停留在0.2.6版本。而且是在0.2.5打补丁升级的。
# tar zxvf zhcon-0.2.5.tar.gz
# gunzip zhcon-0.2.5-to-0.2.6.diff.gz
# cd zhcon-0.2.5/
# patch -p1 < ../zhcon-0.2.5-to-0.2.6.diff
6.2 烦人的编译排错过程
编译过程不太顺利,发现了很多错误,但好在都在网上找到了解决方法,大概有如下需要修改的地方:
(1)报memset,memcpy错误,则 #include <string.h>或#include <cstring>
(2)报abs,atoi,free错误,#include <stdlib.h> #include <algorithm>
(3)报term.h找不到,则需要安装ncurses-devel库
(4)报tgetent错误,则在./configure之前,export LIBS=” -lncurses”
(5)报IF_MASK错误,则
#define VIF_MASK 0x00080000
#define IF_MASK 0x00000200
#define IOPL_MASK 0x00003000
#define TF_MASK 0x00000100
(6)如果还有其他错误,就google吧,不要baidu,百度很难找到合适的答案。
6.3 UTF8编码下使用zhcon
zhcon –utf8
7 我们要浏览网页
需要注意的是,字符模式下只能浏览简单的网页,主要目的是找到一些下载链接,复杂网页请不要尝试!
字符界面浏览网页主要是lynx和w3m。安装lynx后感觉还可以,就没有安装w3m。
7.1 yum安装lynx
yum install lynx
7.2 lynx和zhcon合作浏览中文网页
zhcon –utf8
lynx www.linuxidc.com
8 干点正事吧,我们要编程了
我们以c/c++说明。
8.1 编译器与make
Linux下就使用gcc吧,自动化编译别忘了make。yum安装方便无比。
8.2 编辑器
emacs和vim最流行,我本人习惯vim。yum安装之。vim实在太强大了,这里不说了,后面有个截图。
附录:系统运行的几个截图
图0 运行命令alsamixer测试调整声卡
图一 运行命令mplayer -zoom -x 400 -y 300 影音文件.rmvb
图二 运行命令为 mgaview 图片文件名
图三 运行zhcon –utf8 进入中文终端, CTRL+ALT+SPACE启动中文输入法。
图四 运行命令zhcon –utf8,然后lynx www.linuxidc.com
图五 vim进行代码编辑
vesa兼容的模式:
Depth | 640×400 | 640×480 | 800×600 | 1024×768 | 1152×864 | 1280×1024 | 1600×1200 |
---|---|---|---|---|---|---|---|
4 bits | ? | ? | 0x302 | ? | ? | ? | ? |
8 bits | 0x300 | 0x301 | 0x303 | 0x305 | 0x161 | 0x307 | 0x31C |
15 bits | ? | 0x310 | 0x313 | 0x316 | 0x162 | 0x319 | 0x31D |
16 bits | ? | 0x311 | 0x314 | 0x317 | 0x163 | 0x31A | 0x31E |
24 bits | ? | 0x312 | 0x315 | 0x318 | ? | 0x31B | 0x31F |
32 bits | ? | ? | ? | ? | 0x164 | ? | ? |