Chinaunix首页 | 论坛 | 博客

  • 博客访问: 913685
  • 博文数量: 226
  • 博客积分: 10077
  • 博客等级: 上将
  • 技术积分: 2708
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-25 14:36
文章分类

全部博文(226)

文章存档

2010年(15)

2009年(82)

2008年(129)

我的朋友

分类: LINUX

2008-07-17 09:31:49

说明】本文写得很长,但绝不是因为Debian装起来麻烦,实际上认真看完全文就会发现只有无线网部分是有编译和自己手工设置的,其他的无非是些出于个人喜好的微调和出于记录目的的长篇大论,另一个原因是我用五笔。

再另一个原因是希望给想在笔记本上装Debian/Linux的人们一个概观,在我安装之前Google的时候,文章基本上全是西文的。

基本上从快中午装到晚上10点多,差不多算是12个小时。Dell 640m在这段时间内一直是高速运转,大量下载,读写硬盘,到现在也没有出任何问题,温度也完全没有问题,手放在上面打字基本没有感觉。

今天在Bios里改光盘启动时看到硬盘还有性能模式和安静模式,于是换成了性能模式,读写时就能听到声音了;风扇现在一直在转,晚上静下来之后能听到声音。

安装盘



网上Google时排名靠前的里说,在640m上装Debian遇到了不能识别硬盘和DVD光驱的问题,但这次我用Debian 4.0r0的安装盘来装,完全没有任何问题,从分区到安装后启动都能正常识别。那位大侠用的是Testing的安装盘,看来还是正式发行版测试更完善一些。

我用的是100来兆的net install光盘(现在Debian官方提供BT下载,随时都有接近200人在线提供),可以装出基本系统,但似乎连wireless-tools都装了。装到最后会问网络,但当时网还没通,也就中止了。

Vista据说启动方面有些特殊,但装Linux的启动管理器倒没什么问题。Grub还是选择装在了MBR,并且自动识别出了硬盘上已经装了Vista。Dell搞的Media-direct也被识别出来了,居然说是WinXP-embedded。


以太网



这个640m自带的网卡是BCM4401-B0 100Base-TX,似乎没有自动识别,modprobe b44之后正常工作,b44就是它的模块了,完了后可以在/etc/modules文件里写上b44,重启后能自动加载。


升级到sid



安装用的正式的stable版,装完后就设了apt源,就aptitude update/aptitude upgrade升了级,要删一两个老的包,装了全新的。Linux-image的虚拟包不知道什么问题,装不上最新的2.6.21的内核,只好手工直接装 这个Linux-image-2.6.21的包,也没有什么问题。

那个教程说可以在内核启动时给个vga=791的参数,免得启动后在控制台上把1440x900的屏幕当成字符终端,但是791也不过是1024x768,字倒是小了,效果还不如大的粗字好看,最后又去掉了这个设置。


时间设置



安装时要求设定时区,似乎是因为语言上选了美国英语,到时间那一步居然只让选美国的时区,感觉像是犯了逻辑错误,没办法,只好选了一个,先放在那里。

装完基本系统重启,就发现时间同北京时间差了15小时,想用tzconfig来改,才发现Debian sid里面已经没有这个小工具了,以前用这个工具省了事,不知道要改什么,只好再去Google,终于找到办法:

在/etc/timezone里面写上中国的时区,Asia/Shanghai,在/etc/default/rcS里面把UTC设成yes,也就是用 utc,这是Debian推荐做法。最后也是最重要的,把/etc/localtime删除,再从/usr/share/zoneinfo/Asia里面 拷贝Shanghai这个文件到/etc下,名字还是localtime。这样做完,不需重启,过会就自己生效了。

这样的设置,如果网络不通,没有ntp服务可用的话,它只能用bios里的时间(通常是当地时间)来做为基础,由于我国时间是+8,所以这样就会出现显示 时间快了8小时的问题,所以还是要用ntp获取真正的UTC时间才是对的。推荐安装ntpdate这个工具,它会自动在启动时运行,如果网络没通而没有在 启动时获取到正确的时间,则需要在网络设通之后运行它来校正时间:

ntpdate pool.ntp.org

这个pool是ntp.org提供的,似乎是一堆时间服务器的别名。

还有一个etherconf的小工具,现在也不见了,逼得我学会了ifconfig和route的基本用法。另有一个rcconf幸好还在,它可以修改启动的服务。


Xorg和Xfce4



通常装完基本系统,我的习惯就是装xfce4,顺便就把Xorg的那一套就给装了。今天有点不巧的是,有个xfdesktop4出了问题,小版本号升了2 就装不上,再去packages.debian.org上面下载了小号的那个手工先装上,才算是顺利装上了xfce4,然后再装上了gdm来管理启动。

装xserver-xorg时会进行X的设定。显卡它自己就探测出来了,intel gma950,显示模式里直接就列着1440x900这一档,其他还有1600/1152等众多邪门分辨率,这个根本就不再是问题了。不过现在有点记不清 这个分辨率是X的设置还是915resolution的设置了,因为这几个包是一块装的。

915resolution是专门的Intel显卡的分辨率设置程序,还是个服务,装完后再没有做任何设置,它就自己有了自启动。GMA950的显示驱动是i810,倒不是915。

在xorg.conf的设置里,还需要看一下有没有1440x900这个分辨率,如果没有,就手工加到分辨率的最前面,反正液晶屏只有一个最佳分辨率。再设1024的分辨率大体只会在接投影仪时用得到。

xorg.conf基本是系统自己设置生成的,HorizSync和VertRefresh这两个常见的出错数据也根本没有,反正也没有出错。那人教程中说这两个参数分别是30-80,和60-70,也没用上,先记在这里吧。


启动X



经过上面那点设置,X就正常地启动了,分辨率已经是1440x900,USB的鼠标和触摸板自动驱动了,声卡也自动了,所以现在也不知道这个声卡具体是什么型号。触摸板右边和下边分别是竖起和水平滚动条,也完全没有问题,也不需要任何设置。

在这里,又装了Gnome-core,本来想装gnome算了,可一看居然要1.4GB的空间,就只装了core,也要400MB。KDE系的没再单装。


Locale设置



现在Debian似乎倾向于装一个叫Locales-all的包,取代了locales,这个all的包包括了所有Locale的已经编译好的数据,据说 可以节省安排时间,但它似乎没有了直接的配置工具,必须在/etc/locale-gen里写。很不方便,这回Debian自己装的是locales,我 就没有再换,这个可以用dpkg-reconfigure locales来设定。这回选了en_US.UTF-8作为系统设置。


中文输入



中文输入有一阵子快要没有问题了,现在似乎又有了许多问题,似乎就是因为勤勉的程序员又发明了许多工具导致的。这回装fcitx,它非要装im- switch,那就装吧。然后用它来设定:im-switch -s fcitx,倒是在xinit以及Xsession.d下面生成了几个文件,可惜根本不管用,不但XMODIFIER变量没有设定,CTYPE也没管,总 之是重启了下X,Fcitx根本没影。几番试验不能成功,只好卸了它,还是用我一直以来的设置,就是在/etc/X11/Xsession.d下面建个启 动脚本,内容如下:

export LC_CTYPE=zh_CN.UTF-8

export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

fcitx

系统还是en_US。这个设定我用了有一阵子了,从来没有任何问题,像双输入,Firefox不能输入,Qterm不能输入,等等,从来没有见过。

中文字体主要还是xfonts-wqy,ttf-arphic的一系列,以及从ntfs分区上拷贝来的一些。同一机器上的Vista,反正不会和Linux同时使用,这种情况下Linux借用一下它的字体,应该算是合理的吧。


无线网(WiFi/WLan)



以前只用过XP那种无线连接方式,就是浏览一下可用网络,点连接,输入密码,然后就接通。Linux下无线网还是挺麻烦的,尤其是相比其他硬件来说,基本上是这个笔记本里面配置最复杂的硬件了。

但和网上有关Linux下安装ipw3945无线网卡的文章相比,Debian sid已经进步了很多,ieee80211的模块自己就能装,ipw3945d也有,还有firmware-ipw3945,这三个用aptitude就 能装(也许在non-free组里吧);还有wireless-tools,这个在装基本系统时就自动装上了。

还有一个最重要的模块,也就是ipw3945-module,本来看apt里面也有,但装的时候总是报告依赖于linux-modules-2.6.21这个虚拟包,但现在又没得装,于是就装不上。没办法,只好这样:

aptitude install ipw3945-source
m-a a-i ipw3945

也就是装ipw3945的源码包,然后用Debian的模块工具module-assistant来帮助自动化编译安装这个模块,其中要装linux-headers/g++等众多包,都是自动的,最后没有错误。

到这里,似乎是需要的包已经都全了。modprobe ipw3945之后用iwconfig应该能看到

eth2 unassociated ESSID: off/any

这样的一串东西,这里就是无线网卡了,eth2是它的名字。

下面还是要用iwconfig来设置这个无线网卡的参数。

iwconfig eth2 key [1] s: asdfksdflksdfjdsfj
这是说eth2要用到WEP的认证,钥匙是1号,密码是“asdf....”这一串,这里又要用括号,又要用s:打头;如果是16进制密码,可以不加s:。

iwconfig eth2 essid adsdkf
这是设定eth2要连接的无线网的essid是“adsdkf”

iwconfig eth2 mode managed
设定模式,什么意思,还没搞懂

dhclient eth2
这里就是上dhcp,获取地址。如果没有用dhcp,就需要用ifconfig/route那一套来设定网络,再ifon来启动这个设备。

然后无线网就通了。此时可以看到wifi信号灯也常亮了;在没有配通之前,按fn+f2也会打开无线,但只是一闪一闪地亮。

除去iwconfig很有用之外,还有个iwlist,如下

iwlist eth2 scan
这个是扫描eth2能接收到的无线信号,可以看到essid,模式,频道和支持的速率等。

按说iwconfig设定的那些东西应该都能用interfaces文件来设定,但暂时还没找到怎么写,尤其是那个key怎么写。


dpi问题



dell 640m的屏幕是1440x900,14寸,字会显得比较小,这一点除了在桌面上把窗口显示的字体调大点,在Firefox里面把最小字体设大一点之外, 改变dpi是另一个方法。实际上在Vista系统中,Intel的显卡设置界面就直接有这一项,可以把一般的96dpi提高到120dpi,这样字会变得 略大一些。

要达成这一点,需要了解自己屏幕的物理尺寸,基本上可以用1440*24.5/dpi来计算宽,用900*24.5/96来算高,但这样实际上还是名义 的,直接拿尺子量才是比较准的。如果生产商负责任,说明书里会写上这个尺寸──Dell还不错。如果没有,可以用xdpyinfo |grep dimension来看,或者是xrandr --query,后面这个可能是比较准确的,前面那个是名义的。

知道了这个尺寸,比如Dell 640m的屏幕尺寸是304mm x 190mm,在xorg.conf的Monitor段中加上

DisplaySize 304 190

即可让X以比较标准的真实的尺寸来显示。按640m的实际情况,写上这个之后,实际的DPI是120,比常规的96dpi显示字要大一些了。


CPU频率



迅驰Centrino的CPU可以调节运行频率,在Linux下面也有一些程序来处理这件事。这个不懂,就按教程来做,加载了一堆模块:

acpi-cpufreq
speedstep_centrino
cpufreq_ondemand
cpufreq_userspace
cpufreq_conservative
cpufreq_powersave

然后再装了一个调用这些模块并根据实际情况来设定CPU运行频率的Daemon程序,我装的是cpufreqd,它的配置文件看上去就不错,也懒得改了。不过现在一直是接电工作(有个叫ac的模块也会自动加载运行,专门来指示是否接了外接电源),也没有看到它有什么用。

电池也没有试过能用多长时间,都等以后再说了。


挂载Windows分区



现在Linux支持ntfs,模块是ntfs-3g,在mount中写参数时也要带上这个3g。在/etc/fstab中这样写的:

/dev/sda3 /media/c ntfs-3g defaults 0 0

在defaults那一段,以前都要加许多参数,才能正常地显示Win分区上的中文文件,这回加了参数却不行,只保留一个defaults,却竟然一切完好。

如果不清楚硬盘上Windows分区是哪个号,可以用

fdisk -l /dev/sda

来显示分区情况。


基本就是这样了。Dell 640m装Debian sid还算是比较容易,硬件基本上全部支持。其他没碰到的就要在今后的使用中再修补了。



网上排名靠前,讲得比较全面的640m装debian的文章。

http://contrib.lynuxsolutions.com/doku.php?id=documentation:ipw3945_on_debian


这三个都是和无线网ipw3945相关的,包括装驱动以及iwconfig用法等。
阅读(1165) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~