/* * 版权归PHPSalon.com所有,未经许可,严禁任何形式转载 * * Author: Justin Wu */
相信有不少朋友也都是在虚拟机里安装FreeBSD的,小弟近日也安装了一个,以下是本人的一些安装记录,基本系统的安装过程就不再叙述,只需一步一步来即可,当然先把X Server安装好。本文就详细介绍一下FreeBSD 5.3在VMware Workstation 4.5.2 build 8848下的安装与配置过程。
本文约定:命令行采用黑底白字,而配置文件采用灰底黑字。
本文参考了网上很多的资料,这里就不再一一列出,感谢那些为FreeBSD的发展作出贡献的人们。
预览图(点击看大图):
一、安装VMware Tools ==================== 如果读者已经安装过了VMware Tools,那么请先卸载VMware Tools,命令如下: # /usr/local/bin/vmware-uninstall-tools.pl
安装完之后,按Ctrl + Alt释放鼠标,然后选择VM菜单下的“Install VMware Tools...”,接着再进入到FreeBSD界面执行如下命令: # mount /cdrom # cd /cdrom # cp vmware-tools-distrib.tar.gz /tmp # umount /cdrom # cd /tmp # tar -zxvf vmware-freebsd-tools.tar.gz # cd vmware-tools-distrib 由于FreeBSD 5.3已使用Xorg来代替XFree86,而VMware 4.5.2使用的还是XFree86的配置文件,所以需要打个补丁,不然的话,在X桌面的最高分辨率始终只有640x480。 打补丁的方法有两种:一种是手工修改vmware-tools-distrib/bin/vmware-config-tools.pl文件,另外一种就是使用本人已做好的vmware-4.5.2-freebsd-5.3.patch(见附录),只要patch上就可以了。 方法一:手工修改vmware-config-tools.pl文件 # cd bin # ee bin/vmware-config-tools.pl 第2852行 return xserver_bin() . '/XFree86'; 改为 return xserver_bin() . '/Xorg';
第3055行 /X.org Foundation/ ? '4.4.0' : '0.0.0'; 改为 /Release 6.7/ ? '4.3.0' : '0.0.0';
在第3065行之后增加下面两句: } elsif (file_name_exist($xconfig_path . '/xorg.conf')) { $xconfig_file_name = 'xorg.conf'; 然后保存退出即可。
方法二:使用patch工具 先下载补丁文件 # fetch http://www.wenhepc.com/justin/freebsd/vmware-4.5.2-freebsd-5.3.patch 然后再使用patch打上补丁 # patch -Np1 -i vmware-4.5.2-freebsd-5.3.patch
打完补丁后,现在就可以开始安装VMware Tools # ./vmware-install.pl 安装过程中会提示你安装在哪个地方,一般都选默认好了,最后一步是提醒你是否立即执行vmware-config-tools.pl配置,选yes,然后选择一个分辨率(Resolution),800x600或1024x768都可,读者自行决定。 一切都搞定之后,就会在/etc/X11目录下生成一个xorg.conf。
二、更新ports ============ 1、安装cvsup 如果还没安装过cvsup,那么请执行以下命令安装: # cd /usr/ports/net/cvsup # make install clean
2、然后拷贝ports的配置文件到/etc/ports-supfile # cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile # ee /etc/ports-supfile 将其中的# host=CHANGE_THIS.FreeBSD.org一行改为host=cvsup.FreeBSD.org
3、更新ports # /usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
4、修改/etc/make.conf文件,加入中文支持(题外话:感谢Firefly所做出的贡献),如果不存在则可以参考/etc/defaults/make.conf文件新建一个,该文件主要是编译的时候需要用到。 # echo "WITH_CJK=yes" >> /etc/make.conf
以下为笔者的make.conf文件内容 SUP_UPDATE= yes SUP= /usr/local/bin/cvsup SUPFLAGS= -g -L 2 SUPHOST= cvsup.cn.FreeBSD.org PORTSUPFILE= /etc/ports-supfile
WITH_CJK= yes
三、安装X桌面 ============= 读者可根据自己的喜好选择一种桌面,比如Gnome、KDE、XFCE等等,笔者选择的是XFCE,因为这很小巧,不用花太多时间。 1、安装XFCE4 # cd /usr/ports/x11-wm # make all install clean 几个小时的等待之后,XFCE就安装好了。
2、修改~/.xinitrc文件,如果不存在,则新建一个,加入下面一句: # ee ~/.xinitrc exec startxfce4
3、修改/etc/X11/xorg.conf,注释掉DefaultDepth这一行。 # ee /etc/X11/xorg.conf
四、中文化过程 ============== 1、修改/etc/login.conf文件,在第一个default区块的:umask=022:之前插入如下内容: # ee /etc/login.conf :lang=zh_CN.GBK:\ :charset=zh_CN.GBK:\ :umask=022:
2、修改.cshrc文件,设置环境变量 其中/etc/csh.cshrc是为所有用户公用的,而~/.cshrc是当前用户所用的,读者可任意选择一个文件进行如下的修改 # ee ~/.cshrc alias ls ls -G alias mount_msdosfs mount_msdosfs -L zh_CN.GBK #加载MSDOS中文文件名支持 alias mount_cdrom mount_cd9660 -C gbk #加载光驱中文文件名支持
setenv LANG zh_CN.GBK setenv LC_ALL zh_CN.GBK
3、修改~/.xinitrc文件,在文件开头加入下面两句: # ee ~/.xinitrc export LANG = zh_CN.GBK export LC_CTYPE = zh_CN.GBK
4、安装Fireflyttf字体 # cd /usr/ports/chinese/fireflyttf # make install clean
5、安装simsun、mingliu和tahoma商业字体(非必需) 这两种字体可在Windows下获取,宋体的文件名为simsun.ttc,新明细体的文件名为mingliu.ttc,tahoma字体有tahoma.ttf、tahomabd.ttf 读者可以通过FTP、临时服务器或其他途径等将这几个Windows系统下的文件拷贝到/usr/X11R6/lib/X11/fonts/TrueType目录,并将.ttc扩展名改为.ttf,如果目录不存在则新建一个。 # cp *.ttf /usr/X11R6/lib/X11/fonts/TrueType/ 然后刷新字体CACHE列表 # fc-cache -f -v
6、在用户主目录下建立一个.fonts.conf # cd ~/ # ee .fonts.conf 文件内容请参考附录,该文件主要解决在X桌面下字体模糊的问题。 或者使用笔者已做好的.fonts.conf文件,命令如下: # cd ~/ # fetch http://www.wenhepc.com/justin/freebsd/dot.fonts.conf # mv dot.fonts.conf .fonts.conf
五、安装应用软件 =============== 1、安装小企鹅输入法fcitx # cd /usr/ports/chinese/fcitx # make install clean 装好之后,再修改~/.xinitrc文件,增加以下两句内容: # ee ~/.xinitrc export XMODFIERS="@im=fcitx" fcitx &
2、安装PDF阅读软件XPDF # cd /usr/ports/chinese/xpdf # make install clean
3、安装QQ插件和GAIM # cd /usr/ports/net/gaim-openq # make install clean
4、安装MP3播放器 # cd /usr/ports/multimedia/beep-media-player # make install clean
5、安装媒体播放器 # cd /usr/ports/multimedia/mplayer # make WITH_GTK2=yes install clean
六、大功告成 ============ 至此,一个基本的系统就安装完成了,现在所要做的就是logout,再重新login,以使前面的设置都生效。 1、重新登录 # logout 然后输入用户和密码登录 进入桌面执行 # startx
2、如果想使fcitx的字体好看一点,可进入终端修改~/.fcitx/profile和~/.fcitx/config文件 # ee ~/.fcitx/profile 是否GBK=1 # ee ~/.fcitx/config 显示字体=simsun
3、进入X桌面后,修改用户界面,字体改成simsun 10或AR PL New Sung 10,自己选择一个喜欢的吧:)
4、That's all, enjoy it!
七、附录 ======== 1、vmware-4.5.2-freebsd-5.3.patch文件内容 --- vmware-tools-distrib.orig/bin/vmware-config-tools.pl Fri Jun 11 08:52:59 2004 +++ vmware-tools-distrib/bin/vmware-config-tools.pl Fri Dec 17 16:37:04 2004 @@ -2849,7 +2849,7 @@ } sub xserver4 { - return xserver_bin() . '/XFree86'; + return xserver_bin() . '/Xorg'; } sub xserver3 { @@ -3052,7 +3052,7 @@ # string. Maybe it will once it settles down. if ($xversionAll eq "0.0.0") { $xversionAll = direct_command(shell_string(xserver4()) . ' -version 2>&1') =~ - /X.org Foundation/ ? '4.4.0' : '0.0.0'; + /Release 6.7/ ? '4.3.0' : '0.0.0'; } # This search order is issued from the XF86Config man page. @@ -3063,6 +3063,8 @@ file_name_exist('/usr/X11R6/etc/X11/' . $ENV{'XF86CONFIG'})) { $xconfig_path = '/usr/X11R6/etc/X11'; $xconfig_file_name = $ENV{'XF86CONFIG'}; + } elsif (file_name_exist($xconfig_path . '/xorg.conf')) { + $xconfig_file_name = 'xorg.conf'; } elsif (file_name_exist($xconfig_path . '/XF86Config-4')) { $xconfig_file_name = 'XF86Config-4'; } elsif (file_name_exist($xconfig_path . '/XF86Config')) {
2、.fonts.conf文件内容 <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- for simsun.ttc --> <match target="font"> <test name="family"><string>SimSun</string></test> <edit name="antialias"><bool>true</bool></edit> <edit name="hinting"><bool>true</bool></edit> <edit name="autohint"><bool>false</bool></edit> </match>
<match target="font"> <test name="family"><string>NSimSun</string></test> <edit name="antialias"><bool>true</bool></edit> <edit name="hinting"><bool>true</bool></edit> <edit name="autohint"><bool>false</bool></edit> </match>
<match target="font"> <test name="family"><string>SimSun</string></test> <test name="size" compare="less_eq"><int>16</int></test> <edit name="antialias" mode="assign"><bool>false</bool></edit> <edit name="hinting" mode="assign"><bool>true</bool></edit> </match>
<match target="font"> <test name="family"><string>NSimSun</string></test> <test name="size" compare="less_eq"><int>16</int></test> <edit name="antialias" mode="assign"><bool>false</bool></edit> <edit name="hinting" mode="assign"><bool>true</bool></edit> </match>
<match target="font"> <test name="family"><string>NSimSun</string></test> <edit name="globaladvance"><bool>false</bool></edit> </match>
<!-- for mingliu.ttc --> <match target="font"> <test name="family"><string>MingLiU</string></test> <edit name="antialias"><bool>true</bool></edit> <edit name="hinting"><bool>true</bool></edit> <edit name="autohint"><bool>false</bool></edit> </match>
<match target="font"> <test name="family"><string>MingLiU</string></test> <test name="size" compare="less_eq"><int>12</int></test> <edit name="antialias" mode="assign"><bool>false</bool></edit> <edit name="hinting" mode="assign"><bool>true</bool></edit> </match> </fontconfig> 
|