在FreeBSD上搭建NTP时间服务器

电脑的时间放置不理的话过不久就会出现误差。
这个误差会反映在email送信时刻的time stamp上,会反映在你的论坛帖子发表时刻上。至少我遇到过这个问题。
网络上有ntp(network time protocol)服务器,提供当前的时刻。我们可以将本地的时刻与ntp服务器的时刻进行同步。

目的如下:
1,启动时用ntpdate进行时刻修正。
2,启动中,通过ntpd进行时刻校正的同时,将各个客户端电脑的时刻也进行同期校正。
3,如果不能找到ntp服务器,那么就使用local time,同时同步客户。

全世界约有100多个ntp服务器,从下面地址找一个离你最近的
http://www.eecis.udel.edu/~mills/ntp/clock1a.html
我选择了两个
clock.nc.fukuoka-u.ac.jp 133.100.9.2
clock.tl.fukuoka-u.ac.jp 133.100.11.8
步骤:

FreeBSD中有两个标准的ntp程序,其一为ntpdate。
ntpdate通过从ntp服务器获取时刻,调整本地时刻。
# ntpdate clock.nc.fukuoka-u.ac.jp
9 Oct 18:12:23 ntpdate: step time server 133.100.9.2 offset -19.112674
大约有19秒钟的误差

自动设定
# grep ntpdate /etc/defaults/rc.conf >>/etc/rc.conf
# vi /etc/rc.conf
ntpdate_enable="YES" # Run ntpdate to sync time on boot (or NO).
ntpdate_program="ntpdate" # path to ntpdate, if you want a different one.
ntpdate_flags="clock.nc.fukuoka-u.ac.jp" # Flags to ntpdate (if enabled).
重新启动以后就运行了,当然设定没有完,不必急着启动
FreeBSD的另一个标准ntp程序,ntp
ntp程序使的获取ntp时刻的同时,向其他pc提供时刻。

添加文件ntp.conf:

用来作为标准时刻的ntp服务器我选择了两个
clock.nc.fukuoka-u.ac.jp 133.100.9.2
clock.tl.fukuoka-u.ac.jp 133.100.11.8
同时指定复数个服务器也没有问题,系统会自动选择一个可以信赖的。
这里,为避免多余的DNS数据包传递,我们直接指定IP地址。
server行 server 127.127.1.0 为参考本地时刻时用的地址。然后用fudge指定阶层编号为5,降低其优先度。

接着用restrict对每一个IP地址指定相应的规则。
最后,指定波长校正用的drift文档保存地址。关于这个命令行,具体的含义不太清楚。不过如果没有的话,时间校正起来就会比较慢
# vi /etc/ntp.conf
server 133.100.9.2 #clock.nc.fukuoka-u.ac.jp
server 133.100.11.8 #clock.tl.fukuoka-u.ac.jp
server 127.127.1.0
fudge 127.127.0.1 stratum 5
restrict default ignore
restrict 127.0.0.0 mask 255.0.0.0
restrict 192.168.1.0 mask 255.255.255.0 noquery nopeer notrust
restrict 133.100.9.2 noquery
restrict 133.100.11.8 noquery
driftfile /etc/ntpd.drift
启动测试
# ntpd -p /var/run/ntpd.pid
# tail /var/log/messages
Oct 9 16:46:56 chiwawa ntpd[89409]: ntpd 4.1.0-a Thu Apr 3 08:26:24 GMT 2003 (1)
Oct 9 16:46:56 chiwawa ntpd[89409]: kernel time discipline status 2040
……
Oct 9 16:50:10 chiwawa ntpd[89409]: time set -0.189546 s
看到类似的结果就可以了。

运行测试
ntpd的运行用ntpq命令
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*clock.nc.fukuok .GPS. 1 u 43 64 37 19.067 -6.884 10.339
+clock.tl.fukuok .GPS. 1 u 36 64 35 19.670 -3.259 2.341
LOCAL(0) LOCAL(0) 5 l 45 64 37 0.000 0.000 0.001
启动后到时刻校正完成需要一点时间。*是第一候补,+是第二。
本地时刻校正完成以后就可以为其他PC提供时刻校正服务了。

自动启动的设定
完成以上设定,确认运行无误以后:
# grep ntpd /etc/defaults/rc.conf >>/etc/rc.conf
# vi /etc/rc.conf
xntpd_enable="YES" # Run ntpd Network Time Protocol (or NO).
xntpd_program="ntpd" # path to ntpd, if you want a different one.
xntpd_flags="-p /var/run/ntpd.pid" # Flags to ntpd (if enabled).

往rc.conf追加上面3行内容,并修改。
客户端PC设定:
UNIX OS
# vi /etc/ntp.conf
server [local ntp server IP] prefer
driftfile /etc/ntpd.drift
或者追加下面内容到crontab,这样,每过一个小时0分的时候就自动更新。
# vi /etc/crontab
0 * * * * root ntpdate [ntp server IP] >/dev/null 2>&1
当然,你的主机其实也是一个客户机,这些内容也可以用上。
Windows
精工的网站上有下载软件,不过是日语的
http://www.seiko-p.co.jp/systems/down/time.html
windows2000自带了sntp机能,请自己研究吧。

原文链接: http://www.bsdlover.cn/html/12/n-112.html

FreeBSD NTP服务器配置笔记

一组服务器里面配置一台NTP服务器也是必要的,可以让所有服务器的时间同步。

一、配置NTP服务器

vi /etc/rc.conf

ntpd_enable="YES"

vi /etc/ntp.conf

server www.freebsd.org prefer
server time.windows.com
server 127.127.1.0
fudge 127.127.0.1 stratum 5

restrict default ignore
restrict 127.0.0.0 mask 255.0.0.0
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

driftfile /var/db/ntp.drift

启动NTP服务:

/etc/rc.d/ntpd start

二、客户端配置

vi /root/scripts/synctime.sh

#!/bin/sh
/usr/sbin/ntpdate 192.168.0.100 #内网NTP服务器地址

chmod +x /root/scripts/synctime.sh
crontab -e

*/30 * * * * cd /root/scripts;./synctime.sh

这样客户端服务器每半小时就会和NTP服务器同步一次。

FreeBSD NFS架设

FreeBSD下的NFS配置

服务                 描述
nfsd NFS,          为来自NFS客户端的 请求服务。
mountd NFS          挂载服务,处理nfsd(8)递交过来的请求。
rpcbind             此服务允许 NFS 客户程序查询正在被 NFS 服务使用的端口。

配置NFS
NFS的配置过程相对简单。这个过程只需要 对/etc/rc.conf文件作一些简单修改。

安装rpc  #cd /usr/ports/math/rpc  make install clean

在NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了:

nfs_server_enable=”YES”
nfs_server_flags=”-u -t -n 4″
rpc_statd_enable=”YES”
rpc_lockd_enable=”YES”
mountd_flags=”-r”

只要NFS服务被置为enable,mountd 就能自动运行。

在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:

nfs_client_enable=”YES”
nfs_client_flags=”-n 4″
像nfsd,-n 4告诉nfsiod运行自己的4个拷贝。

二,设置

etc/exports文件指定了哪个文件系统 NFS应该输出(有时被称为“共享”)。 /etc/exports里面每行指定一个输出的文件系统和哪些机器可以访问该文件系统。在指定机器访问权限的同时,访问选项开关也可以被指定。

格式:

[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]

下面是一些NFS共享的常用参数:

ro                      只读访问
rw                      读写访问
sync                    所有数据在请求时写入共享
async                   NFS在写入数据前可以相应请求
secure                  NFS通过1024以下的安全TCP/IP端口发送
insecure                NFS通过1024以上的端口发送
wdelay                  如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide                    在NFS共享目录中不共享其子目录
no_hide                 共享NFS目录的子目录
subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check        和上面相对,不检查父目录权限
all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash           保留共享文件的UID和GID(默认)
root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas           root用户具有根目录的完全管理访问权限
anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID

配置文件/etc/exports内容如下:

$ cat /etc/exports
/home/share 192.168.1.15(rw,sync) *(ro)
配置说明: 对192.168.1.15赋予读写权限,其他机器仅有只读权限。

四.客户端配置

1.查看NFS服务器的输出
#showmount -e 192.168.1.1
2.挂载NFS服务器中的共享目录到本地目录/mnt/下
#mount -t nfs 192.168.1.1:/home  /mnt/
3.卸载系统中已挂载的NFS共享目录
#umount /mnt/
4.修改fstab文件让系统启动时自动挂载NFS文件
#vi /etc/fstab
192.168.1.1:/home    /mnt    nfs     defaults    0 0

五、安全性
———
portmap: 111
NFS: 2049
防止使用IP欺骗和RPC重定向技术通过lo回环进行攻击以及限定授权主机:
iptables -A INPUT -p udp -d 127.0.0.1 –dport 111 -j DROP
iptables -A INPUT -p udp -d 127.0.0.1 –dport 2049 -j DROP
iptables -A INPUT -p udp -s 10.0.0.2 –dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 10.0.0.2 –dport 2049 -j ACCEPT

原文链接:http://blog.chinaunix.net/u/27383/showart_499159.html

FreeBSD 8.0 NFS服务器配置笔记

一组服务器系统里面必然存在一台NFS服务器,实现多服务器的文件共享。
NFS服务器:nfs_server
NFS客户端:host1,host2,host3
共享目录:/share

一、NFS服务器配置

vi /etc/rc.conf

rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"

二、客户端配置

vi /etc/rc.conf

nfs_client_enable="YES"

三、文件共享配置

vi /etc/exports

/share  -alldirs    host1 host2 host3

共享设置好了之后,重启NFS服务器以启动NFS服务。

四、客户端挂载NFS文件系统

mount nfs_server:/share /share

或者写进fstab让系统启动时自动挂载文件系统:
vi /etc/fstab

nfs_server:/share   /share  nfs rw  0   0

权限问题:最好让所有服务器上操作NFS共享文件的用户ID相同。

关于NFS的其他问题请参考FreeBSD手册。

原文链接: http://garey.bsdart.org/2010/11/freebsd-8-0-nfs%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE%E7%AC%94%E8%AE%B0/

配置你的csh/tcsh

选择 csh/tcsh

和许多刚从 Linux 转到 BSD 的人不同,我并没有装完 BSD 就顺手安装 bash,
因为之前除了打命令,我没有用到额外的功能,bash 也好,csh 也罢,在我眼里都是当做 shell 来用。
但是渐渐地,我发现 csh 真的挺好用,它小巧、简单、开放,不需要额外依赖。
可能有人要拿脚本能力来作对比,比如bash脚本支持函数,csh不支持等。
对我来说,其实我从未像模像样地写过一个脚本,我的工作是 C++ 程序员。
从我的角度来看,
论脚本能力,其实bash、csh、zsh都比不上Python,
论兼容性,bash、csh、zsh都比不上sh,
论强大,bash、csh、zsh都比不上C/C++,甚至asm。
再看易学程度,bash、csh、zsh可能还是要输给Python。
综上,脚本能力忽略不计。
好了,说了这么多大不敬的话,我们开始切入正题。

配置文件

全局配置文件 /etc/csh.cshrc
个人配置文件 ~/.cshrc或~/.tcshrc
为了方便,建议修改全局性的配置文件,这样每个账号都可以享受便利。
按键绑定

通常,我们不设置按键绑定也能很好地工作,
但是对于远程登录,可能需要一些额外的配置。
比如,为了避免putty登录后,Home、End、Delete等变成~,你需要如下配置:
bindkey ‘\e[1~’ beginning-of-line      # Home
bindkey ‘\e[3~’ delete-char            # Delete
bindkey ‘\e[4~’ end-of-line            # End
bindkey “^W” backward-delete-word      # Delete
bindkey -k up history-search-backward  # PageUp
bindkey -k down history-search-forward # PageDown
提示符

设置一个漂亮使用的的提示符可以让工作变得更愉快高效。
以下是一个合理的配置方案:
if ( $?prompt ) then                                #如果$prompt变量尚未设置,则做如下设置
if ( “$uid” == “0” ) then                      #判断用户的uid
set prompt = “%U%n%u@%m [%l] %B%~%b # ”    #对于root,我们显示“#”号
else
set prompt = “%U%n%u@%m [%l] %B%~%b % ”    #对于普通用户,显示“%”号。
endif
endif
Konsole中的效果如下:

一种彩色的配置方案如下:
set cr = “%{\e[31m%}” #开始红色
set cg = “%{\e[32m%}” #开始绿色
set c0 = “%{\e[0m%}”  #恢复为默认色彩

# Set some variables for interactive shells
if ( $?prompt ) then
if ( “$uid” == “0” ) then
set prompt = “%B%U%n%u@%m.$cr%l$c0%b %c2 %B%#%b ”
else
set prompt = “%B%U%n%u@%m.$cg%l$c0%b %c2 %B%%%b ”
endif
endif
Konsole中的效果如下:

颜色代码:
1 for brighter colors
4 for underlined text
5 for flashing text
30 for black foreground
31 for red foreground
32 for green foreground
33 for yellow (or brown) foreground
34 for blue foreground
35 for purple foreground
36 for cyan foreground
37 for white (or gray) foreground
40 for black background
41 for red background
42 for green background
43 for yellow (or brown) background
44 for blue background
45 for purple background
46 for cyan background
47 for white (or gray) background
查看更多参数,及其作用:
man tcsh  #查看man手册
/%/       #搜索到“%/”开始的地方
环境变量等

你在抱怨 FreeBSD下的 ls 没有显示颜色, grep 出来的东西没有高亮吗? 那么你需要如下的配置:
#让 ls 鲜艳些
setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes
#让 grep 匹配到的字符高亮
setenv GREP_OPTIONS –color=auto
对于在KDE下使用fcitx的人,需要如下三行设置,
其实就是fcitx安装完后所提示的内容,如果你够细心的话。
setenv XMODIFIERS @im=fcitx
setenv QT_IM_MODULE xim
setenv GTK_IM_MODULE xim
嗯, ls 有颜色了,但是等等,为何 tab 不能补全?
你需要如下配置:
set autolist
如果命令输错了,让csh/tcsh 为你纠正:
set correct = cmd
为了在命令行启动某个游戏,或者kde程序,例如dolphin、kcalc,
你需要加两个路径到$path中去:
/usr/games /usr/local/kde4/bin/

set path = (/sbin /bin /usr/sbin /usr/local/bin /usr/games /usr/local/sbin /usr/bin $HOME/bin /usr/local/kde4/bin/)
黑魔法防御术

重定向防御

重定向很强大,我们有时候会运行诸如“date » b.txt”,“ls -l > files.txt”等命令。
然而如果一不小心,把“»”输成“>”会造成什么后果呢?
为此,tcsh提供了noclobber这个选项:
set noclobber
有了它,悲剧就不会发生。如果“>”的目标文件已存在,tcsh会拒绝重定向。
覆盖防御

是否遇到过“mv a b”,从而把有用的b文件覆盖掉了?
为此,我们要让mv和cp的行为更谨慎:
alias mv ‘mv -i’
alias cp ‘cp -i’
如果目标文件已存在,mv和cp会拒绝操作,除非使用参数“-f”。
误删防御

rm这个命令自从诞生起,就一直是个危险的操作。
我们可以让rm更温和:
alias rm ‘rm -i’
这样rm之前,会要求再次确认。
一切皆alias

前面,我们在黑魔法防御术中已经初步见识了alias。
alias不仅可以避免危险操作,还可以简化命令,自创命令。
除非极短,否则良好的alias命名,应当以某个统一的单词或字母开头,
例如下面即将展示的reload/edit系列、update系列、show系列等。
先展示最基本的alias,并逐条解释。
alias ..    ‘cd ..’       #两点即可回到上级目录
alias –        ‘cd -‘        #一杠返回上次的目录
alias q        ‘exit’        #退出登录
alias rm    ‘rm -i’       #误删防御
alias del   ‘rm -r’       #删除整个目录
alias mv    ‘mv -i’       #覆盖防御
alias cp    ‘cp -i’       #覆盖防御
alias ls    ‘ls -I’       #root状态下,默认不显示隐藏文件(.*)。BSD的ls很特殊,root默认显示所有文件。
alias la    ‘ls -a’       #显示所有文件
alias ll    ‘ls -h -l’    #显示文件权限和大小(以合理的单位)
alias lr    ‘ls -R’       #递归显示目录
alias dh    ‘df -h -a -T’ #以合适的单位显示所有磁盘的剩余空间,以及文件系统类型(如ufs、devfs、procfs)。
alias ds    ‘du -sh’      #以合适的单位显示查看每个文件/文件夹的大小
find/wc系列。快速查找当前目录下的所有c/cxx/python源码文件。结合wc可以统计行数。
alias find-c    ‘find . -name “*.h” -o -name “*.c”‘
alias find-x    ‘find . -name “*.h” -o -name “*.hpp” -o -name “*.cpp” -o -name “*.cxx”‘
alias find-py    ‘find . -name “.py”‘
alias wc-c    ‘find . -name “*.h” -o -name “*.c” | xargs wc | sort -k 4’
alias wc-x    ‘find . -name “*.h” -o -name “*.hpp” -o -name “*.cpp” -o -name “*.cxx” | xargs wc | sort -k 4’
alias wc-py    ‘find . -name “.py” | xargs wc | sort -k 4’
reload/edit系列。实现快速修改,载入配置文件。
alias reload-rc.conf  ‘sh /etc/rc’
alias reload-cshrc    ‘unalias * && source /etc/csh.cshrc’
alias edit-xorg.conf  ‘vim /etc/xorg.conf’
alias edit-csh.cshrc  ‘vim /etc/csh.cshrc’
alias edit-make.conf  ‘vim /etc/make.conf’
alias edit-kern.conf  ‘vim /etc/kernconf/thinkpad’
alias edit-rc.conf    ‘vim /etc/rc.conf’
alias edit-vimrc      ‘vim /usr/local/share/vim/vimrc’
set系列。快速设置locale。

alias setlocale-zhcn ‘setenv LC_ALL zh_CN.UTF-8 && setenv LANG zh_CN.UTF-8’
alias setlocale-c    ‘setenv LC_ALL C’
startx专用。
保持命令行下为英文locale(避免date等命令出现乱码),而让x环境为中文,适合手动startx而不是kdm的人。

alias sx ‘setenv LC_ALL zh_CN.UTF-8 && setenv LANG zh_CN.UTF-8 && startx && setenv LC_ALL C’
make系列。快速编译kernel/world。

alias make-world  ‘cd /usr/src && make buildworld && cd -‘
alias make-kernel ‘cd /usr/src && make kernel KERNCONF=thinkpad && cd -‘
alias make-installworld ‘cd /usr/src && make installworld && make delete-old && cd -‘
show系列。查看状态或某些信息。

alias show-ifstat    ‘systat -ifstat’    #查看网络接口的数据流量
alias show-geom        ‘gstat’             #查看I/O状态
alias show-thermal    ‘sysctl dev.acpi_ibm.0.thermal’  #查看ThinkPad笔记本的各部分温度
alias show-cpufreq    ‘sysctl dev.cpu.0.freq’          #查看当前cpu频率
alias show-cpulevels    ‘sysctl dev.cpu.0.freq_levels’   #查看可用的cpu频率
alias show-battery    ‘sysctl hw.acpi.battery.life && sysctl hw.acpi.battery.time’ #查看电力
alias show-smartctl    ‘smartctl -a /dev/ad4’           #需要安装smartmontools,查看磁盘smart参数
alias show-alldep    ‘make all-depends-list’            #需要在ports的安装目录下执行,显示所有依赖
alias show-dep        ‘portmaster –show-work ./ | sort’ #同上,且需要安装portmaster,只显示尚未安装的依赖
alias show-ver        ‘pkg_version -v’                   #查看是否有软件可更新
update系列。顾名思义,更新嘛。
alias update-locatedb    ‘/usr/libexec/locate.updatedb’            #更新locate数据库
alias update-kernsrc     ‘csup -L 2 /etc/supfiles/stable-supfile’  #同步kernel tree
alias update-ports       ‘portsnap fetch update’                   #同步ports tree
alias update-apps     ‘portmaster -a –force-config’            #需要安装portmaster,更新所有软件,提示配置选项
杂项,均需要安装第三方软件才能用。

alias lt    ‘tree -N -C’       #需要安装tree。树状显示目录,-N可以保证中文显示,-C使用彩色
alias l3    ‘tree -N -C -L 3’  #目录最多递归三级
alias l4    ‘tree -N -C -L 4’  #四级
alias l5    ‘tree -N -C -L 5’  #五级
alias l6    ‘tree -N -C -L 6’  #六级
alias v        ‘vim’              #不用说,我懒
alias m     ‘mocp’             #控制台下的cs架构播放器
alias getdir    ‘wget -c -r -np -k’                  #递归下载目录
alias ssh-home    ‘ssh raphael.vicp.cc -l root’        #用root账号登录,结合key可以免输密码
alias ftp-home   ‘ftp ftp://syh:syh@raphael.vicp.cc’ #BSD自带的ftp,免输账号密码。主机已被电信和工信部和谐,勿再试
alias lft-phome    ‘lftp raphael.vicp.cc -u syh,syh’    #lftp的免输账号密码。
alias scons    ‘scons -Q -j 4’                      #构建工具,默认4个线程进行
alias valgrind-checkmem ‘valgrind –tool=memcheck –leak-check=full’  #检查内存泄漏
最好的教材

最好的教材莫过于man手册,真的什么都有了。

man tcsh

原文链接:http://wiki.freebsdchina.org/howto/c/config_your_csh

FreeBSD ATI显卡与xorg配置记录

ATI显卡与xorg配置记录

ATI与NVIDA显卡是当前的两大主流显卡,相对来说ATI在被AMD收购以前对开源社区的支持不太热情,在FreeBSD中的驱动依赖于开源社区自己的努力。

对相对较新的显卡,主要使用radeon.ko模块和drm.ko模块驱动。具体支持的型号可以man radeon查询。 依据实验的情况和在google检索的结果,radeon驱动尚不支持AIGLX,compize fusion无法在7.0 beta2中正常工作。但radeon支持比较简单的3D建模,xfce4中已经可以使用混合模式,显现阴影和透明效果。(具体使用方法见设置–窗口管理器调整–混合设置)

目前radeon驱动已经支持AIGLX,2D/3D加速等特性。实验证明,在KDE4.5.1中,ATI Radeon 3470独立显卡可以开启KWin特效,并且跑得还挺流畅。

另一个需要说明的是ATI显卡支持XAA和EXA两种加速模式,其中EXA方式比较新,性能好出很多,特别在KDE桌面环境之下速度的提高比较明显,最近使用的情况来看也足够stable,建议在可能的情况下打开此选项。

案例:IBM T41,FreeBSD 7.0-beta2下/etc/X11/xorg.conf部分配置

Section "ServerLayout"
   Identifier     "XFree86 Configured"
   Screen      0  "Screen0" 0 0
   InputDevice    "Mouse0" "CorePointer"
   InputDevice    "Keyboard0" "CoreKeyboard"
   Option         "Clone" "off"
#    Option         "AIGLX" "True"          #打开AIGLX就黑屏
EndSection

Section "Monitor"
  Identifier     "Monitor0"
  VendorName     "Generic Monitor"
  ModelName      "Generic"
  DisplaySize    287    215                 #1024×768  90dpi,适合14.1"屏
EndSection

Section "Device"
  Identifier     "Card0"
  Driver         "radeon"                                  #也可以使用ATI,这是个wrapper,会自动侦测显卡类型,如果你用radeon有问题可以尝试换成ati
  VendorName     "ATI Video Driver"
      Option          "DynamicClocks"      "on"         #节能用的,显卡温度下降6-10度
      Option          "EnablePageFlip"     "on"
      Option            "AccelMethod"         "exa"        #使用EXA加速模式取代传统的XAA模式
      Option         "AccelDFS"          "true"
      Option          "FBTexPercent"           "0"
#        Option      "AGPFastWrite"        "True"       #试验性功能,怀疑不够稳定
      Option         "MonitorLayout"      "LVDS"       #强制LCD,使用CRT不能用此选项
      Option         "Dac6Bit"           "True"
      Option         "XAANoOffscreenPixmaps"  "true"
EndSection

Section "DRI"
   Group 0
   Mode 0666                           #普通用户也可使用DRI加速
EndSection

Section "Extensions"
  Option "Composite" "Enable"         #打开混合模式
EndSection

IBM T41使用的是ATI RADEON M7 LW显卡,即7500移动版,xorg启动后在/var/log/Xorg.0.log中grep到Direct rendering enabled.即表示3D功能激活,Composite enabled表示混合模式打开。

Tips:

1、UNTUTU 7.10已经支持compiz fusion,FreeBSD驱动滞后于linux。

2、fontconfig会覆盖xorg中关于DPI的设置。为了保证此设置生效,最好GNOME和KDE中在/etc/local/etc/fonts/local.conf中加入

<!–
   Target dots per inch, change 90 to yours
–>
      <match target="pattern" >
              <edit name="dpi" mode="assign" >
                      <double>90</double>
              </edit>
      </match>
     
如果是使用xfce4,在家目录下修改./.config/xfce4/Xft.xrdb文件,加入一行Xft.dpi:90即可。

如果总是不能设置正好的屏幕分辨率. 可以在 textmode下以root 身份运行

  gtf 1024 768 85
 
来生成Modules.把生成的Modules加入到你的Xorg.conf中。

原文链接:http://wiki.freebsdchina.org/doc/x/xorg_with_ati

安装FreeBSD桌面-Xfce4

作者:zp阿土

最小化安装FreeBSD8.1(amd64)不make buildworld的话 别忘了安装man手册
如果不是第一次安装的化最好把/usr/ports/distfile 备份下,装好系统再拷贝回来。这会让你在安装的时候节省很多下载的时间。

安装系统前先看看硬件信息是个好习惯(别忘了看看FreeBSD的硬件兼容性列表确定下你的硬件是否被支持)。
另外用dmesg |grep attached 可以查看哪些设备没有被驱动,再用pciconf -lv看下具体信息。/var/run/dmesg.boot也是排错的参考之一。

网络校时

#ntpdate time.windows.com (time服务器地址time.nist.gov 、chime.utoronto.ca 、ntp.pipex.net 、time.windows.com)

安装、更新源代码

#csup -L 2 -h cvsup.freebsdchina.org /usr/share/examples/cvsup/standard-supfile

安装、更新doc文档

#csup -L 2 -h cvsup.freebsdchina.org /usr/share/examples/cvsup/doc-sufile

安装、更新Ports Collection

#portsnap fetch extract

(以后更新执行portsnap fetch update就可以了。参见:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/updating-upgrading-portsnap.html)

升级、编译、安装内核

(对于桌面用户我觉得用GENERIC内核就很好了,当然如果你想感受下定制内核那就另当别论了。)

参见/usr/src/Makefile文件。

或者http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/makeworld.html

给bsd打补丁(自动打补丁只能用于默认内核)

#freebsd-update #freebsd-install

设置本地化(中文)

登录分类法(管理员级设置)

在/etc/login.conf加入:

chinese:Chinese Users Account:\
:charset=UTF-8:\
:lang=zh_CN.UTF-8:\
:tc=default:

然后执行:

#cap_mkdb /etc/login.conf

然后:

#pw user mod 用户名 -L chinese

查看

#pw user show 用户名
XX:*:1001:1001:chinese:0:0:用户名:/home/用户名目录:/bin/sh
su -用户名
$ locale
LANG=zh_CN.UTF-8
LC_CTYPE=”zh_CN.UTF-8″
LC_COLLATE=”zh_CN.UTF-8″
LC_TIME=”zh_CN.UTF-8″
LC_NUMERIC=”zh_CN.UTF-8″
LC_MONETARY=”zh_CN.UTF-8″
LC_MESSAGES=”zh_CN.UTF-8″
LC_ALL=

设置成功

登录分类(用户级设置)

在用户根目录文件.login_conf加入:

me:\
:lang=zh_CN.UTF-8:\
:setenv=LC_ALL=zh_CN.UTF-8:\
:setenv=LC_CTYPE=zh_CN.UTF-8:\
:setenv=LC_COLLATE=zh_CN.UTF-8:\
:setenv=LC_TIME=zh_CN.UTF-8:\
:setenv=LC_NUMERIC=zh_CN.UTF-8:\
:setenv=LC_MONETARY=zh_CN.UTF-8:\
:setenv=LC_MESSAGES=zh_CN.UTF-8:\
:charset=UTF-8:\
: xmodifiers=”@im=SCIM”:

参考1:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/using-localization.html

参考2:http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/locale.html

加载声卡驱动(我的声卡是板载alc883)

在/boot/loader.conf 加入 snd_hda_load=“YES”

#echo ‘snd_hda_load=”YES”‘>> /boot/loader.conf

(更详细的说明参见http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/sound-setup.html)

安装配置xorg

#cd /usr/ports/x11/xorg && make BATCH=YES install clean

生成xorg.conf.new配置文件并移动到/etc/X11/下

#Xorg -configure
#mv xorg.conf.new /etc/X11/xorg.conf

在/etc/rc.conf内加入hald_enable=“YES” 和 dbus_enable=“YES”

#echo ‘hald_enable=”YES”‘>> /etc/rc.conf
#echo ‘dbus_enable=”YES”‘>> /etc/rc.conf

详细说明参见HandBook 配置X11 地址:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/x-config.html

安装文泉驿字库

#cd /usr/ports/x11-fonts/wqy &&make install clean

在/etc/X11/xorg.conf里面的Section “Files”小节加入:

FontPath    “/usr/ports/lib/X11/fonts/wqy”

安装Linux二进制兼容模式(安装nvidia显卡驱动所必须的)

#kldload linux
#cd /usr/ports/emulators/linux_base-f10 && make BATCH=YES install distclean

在/etc/rc.conf中增加 linux_enable=“YES”

#echo ‘linux_enable=”YES”‘>> /etc/rc.conf

参见http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/linuxemu-lbc-install.html

安装nvidia显卡驱动(我的是7600gs)

#cd /usr/ports/x11/nvidia-driver && make BATCH=YES install clean

在/boot/loader.conf中加入nvidia_load=“YES”

#echo ‘nvidia_load=”YES”‘>> /boot/loader.conf

安装nvidia显卡驱动自动配置工具

#cd /usr/ports/x11/nvidia-xconfig/ && make install clean

执行

#rehash
#nvidia-xconfig –add-argb-glx-visuals
#nvidia-xconfig –composite
#nvidia-xconfig –depth=24

上面三行是为了compiz-fusion所设置的,如果不装compiz-fusion执行nvidia-xconfig就可以了。 (会在/etc/X11下生成新的xorg.conf文件并把旧的xorg.conf备份为org.conf.backup)

安装xfce4

#cd /usr/ports/x11-wm/xfce4 && make BATCH=YES install clean

(如果需要GDM就不要加BATCH=YES这句,装的时候吧GDM前面的X打上就行了。) 如果你想允许用户关闭或重启(指在xfce4下)计算机那么在/usr/local/etc/PolicyKit/PolicyKit.conf中加入:

<match action=”org.freedesktop.hal.power-management.shutdown”>
<return result=”yes”/>
</match>
<match action=”org.freedesktop.hal.power-management.reboot”>
<return result=”yes”/>
</match>

注意:上面几行要加在<config>和</config>之间。 然后普通用户下执行

% echo “/usr/local/bin/startxfce4″ >> ~/.xinitrc

以后startx就可以进桌面了。如果需要开机直接进入桌面就吧GDM装上。

安装compiz-fusion(桌面3D效果)

# cd /usr/ports/x11-wm/compiz-fusion && make BATCH=YES install clean

在普通用户下创建个启动脚本start-compiz名并加入:

#! /bin/sh
compiz –replace –sm-disable –ignore-desktop-hints ccp &
emerald –replace &

给这个脚本执行权限

%chmod +x start-compiz

把这个脚本加入Session和启动以后进入Xfce4就自动启动compiz了。

简单设置 点开CompizConfig设置管理器>首选项>在后端选择GConf Configuration Backed (这样你以后选择的效果就可以即时生效了。) 另外在CompizConfig里吧 最小化效果、窗口装饰、震颤窗口、移动窗口、调整窗口大小、应用程序切换条都起用了,这样基本的3d桌面就好了。还有很多效果看自己喜好吧。

说明参见http://www.freebsd.org/doc/en/articles/compiz-fusion/article.html

常用软件

安装axel(多线程下载工具)

#cd /usr/ports/ftp/axel && make install clean

在/etc/make.conf中加入FETCH_CMD=axel -a -n 2

#echo ‘FETCH_CMD=axel -a -n 2

详细配置参见man手册 我只是在安装非常大的软件,像xorg、gnome、openoffice的时候才使用。(如果你用脚本自动安装最好还是用FreeBSD默认的fetch。)

安装scim 拼音输入法

#cd /usr/ports/chinese/scim-pinyin/ && make install clean

在.xinitrc里加入(我用的是sh)

%echo ‘export XMODIFIERS=’@im=SCIM”>> ~/.shrc
%echo ‘scim -d’>> ~/.xinitrc

安装firefox浏览器

#cd /usr/ports/www/firefox/
#make BATCH=YES install clean

在/boot/loader.conf中加入sem_load=“YES”

echo ‘sem_load=”YES”‘>> /boot/loader.conf

安装firefox中文包

#cd /usr/ports/www/firefox-i18n/
#make install clean

让firefox支持flash

=安装nspluginwrapper=

#cd /usr/ports/www/nspluginwrapper
#make install clean

=安装linux-f10-flashplugin10=

#cd /usr/ports/www/linux-f10-flashplugin10
#make install clean

建一个符号链接

#ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so /usr/local/lib/browser_plugins/

然后在用户下执行

%nspluginwrapper -v -a -i

如果希望播放 Flash 动画的话,Linux® 的进程文件系统, linprocfs(5) 必须挂载于 /usr/compat/linux/proc。可以通过以下的命令实现:

# mount -t linprocfs linproc /usr/compat/linux/proc

这也可以在机器启动时自动挂载, 把以下这行加入 /etc/fstab:

linproc    /usr/compat/linux/proc  linprocfs   rw  0   0

参见handbook:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/desktop-browsers.html 如果平时不用flash还是建议不要装了。现在的这个版本占用资源还是有点高,有时候firefox会卡。

安装Thunderbird(邮件客户端)

#cd /usr/ports/mail/thunderbird
#make BATCH=YES install clean

安装Thunderbire语言包

#cd /usr/ports/mail/thunderbird-i18n
#make install clean

安装Ristretto

Xfce项目。一个轻巧的图像查看器。

#cd /usr/ports/graphics/ristretto
#make install clean

安装Xfburn

Xfce项目。Xfburn是一个使用cdrtools(cdrecord、cdrdao、mkisofs)来烧制CD和DVD的前端烧录程序。

#cd /usr/ports/sysutils/xfburn
#make install clean

确保在/etc/rc.conf中dbus_enable=“YES”和hald_enable=“YES”已经启动。(如果你是按着这篇简单教程安装到这里的那它们已经被启动了。) 内核中这些选项被打开。

device          scbus
device          cd
device          pass

如果你是用的是ATAPI CD/DVD驱动器还必须在内核中打开

device     atapicam

或者在/boot/loader.conf中加入

atapicam_load=”YES”

查看你正在使用的CD/DVD设备

#camcontrol devlist

我的显示结果是

<LITE-ON DVDRW SHW-1635S YS0W>     at scbus0 target 1 lun 0 (cd0,pass0)

然后在/etc/devfs.conf中加入:

perm    cd0     0666
perm    xpt0    0666
perm    pass0   0666

然后重新起动计算机就可以用Xfburn刻录了。

参考1:http://www.freebsd.org/gnome/docs/faq2.html#q15

参考2:http://forums.freebsd.org/showthread.php?t=1195

参考3:http://www.freebsd.org/doc/handbook/creating-cds.html

安装xfce4-media

Xfce项目。Xfmedia 是一个简单易用的媒体播放器,基于 xine 引擎。GTK+ GUI 旨在播放与管理音频文件,但是,由于它是基于 xine 的,所以同样支持视频文件。

#xfce4-media: /usr/ports/multimedia/xfce4-media
#make install clean

安装audacious

(音频播放器。如果你觉得xfce4-media不太适合你也可以装这个。)

#cd /usr/ports/multimedia/audacious
#make install clean

安装audacious-plugins

(音频播放器插件。必须安装)

#cd /usr/ports/multimedia/audacious-plugins
#make install clean

安装mplayer播放器

cd /usr/ports/multimedia/mplayer
make WITH_LANG=zh_CN install clean

(如果你喜欢看搞清电影并且你的显卡支持VDPAU别忘了吧这个点上。)

安装galculator(计算器)

#cd /usr/ports/math/galculator
#make install clean

安装MLDonkey(电驴、BT)

#cd /usr/ports/net-p2p/mldonkey
#make WITHOUT_GUI=yes WITHOUT_X11=”YES” WITHOUT_TK=”YES” install clean
%ln -s ~/.mldonkey/incoming ~

在/etc/rc.conf加入mlnet_enable=“YES” 和 mlnet_user=“用户名非root“

%/usr/local/etc/rc.d/mlnet start (注意是%)
1.%telnet 127.0.0.1 4000
2.>auth admin “”
3.>passwd 键入你想设置的密码
4.>set allowed_ips “127.0.0.1 192.168.0.0/24” (根据你自己的情况设置)
5.>save
6.>exit

(mldonkey需要一个非root用户来运行。我习惯在装系统的时候就建立一个wheel组的用户,所以这里我就不用在建立用户了。)

具体情况可以参考http://forums.freebsd.org/showthread.php?t=227

现在就可以在浏览器里输入:localhost:4080来设置和下载文件了。

默认mldonkey的文件夹是隐藏的,在用户目录下。找下载好的电影有点不方便,把incoming连接到你的用户目录下就好了。当然你也可以自己修改默认下载路径。

mldonkey简单设置:

enable_kademlia的选项为true――打开kad减少对服务器的依赖。
max_hard_upload_rate默认是10    (全局最大上传,根据自己情况设置)
max_hard_download_rate默认是50 (全局最大下载,根据自己情况设置)
mldonkey有两组两组带宽控制模式,通过点击Bandwidth toggle来更改带宽控制模式。

=添加服务器列表:=

先删除原先的服务器列表下载地址。点击Options>Web infos找到server.met行然后点击前面的Remove
然后点击Add Url输入“server.met http://ed2k.im/server.met”(不包括引号,放心都是安全服务器列表。)再点击前面的DL也就是DownLoad。

=添加kad节点信息=

点击Options>Web infos>Add Url输入nodes.gzip http://upd.emule-security.net/nodes.dat

=添加firefox for mldonkey插件=

下载地址:http://www.informatik.uni-oldenburg.de/~dyna/mldonkey/

安装OpenOffice.org

#cd /usr/ports/editors/openoffice.org-3 && make LOCALIZED_LANG=zh-CN install clean

注意:由于许可证的问题需要手工下载一些文件到/usr/ports/distfiles/下。

GIMP

专业的图像处理软件

#cd /usr/ports/graphics/gimp-help && make config (把除了中文以外的X全部去掉,保存。)
#cd /usr/ports/graphics/gimp && make BATCH=YES install clean

GIMP的手册

#cd /usr/ports/graphics/gimp-manual-pdf && make install clean

以下是简单的自动安装脚本

#!/bin/sh
#make BATCH=YES 这个命令的意思是 使用默认选项
#把用ports安装过的软件都打包到下面的目录
#mkdir -p /usr/ports/packages/All/
#make DEPENDS_TARGET=package package 这个命令的意思是 打包一个ports并将依赖也一起打包
#安装并打包
#make BATCH=YES DEPENDS_TARGET=package package install clean
#安装xorg
cd /usr/ports/x11/xorg &&make BATCH=YES install clean
echo ‘hald_enable=”YES”‘>> /etc/rc.conf
echo ‘dbus_enable=”YES”‘>> /etc/rc.conf
#安装wqy
cd /usr/ports/x11-fonts/wqy/ && make BATCH=YES install clean
#安装Linux二进制兼容模式
kldload linux
cd /usr/ports/emulators/linux_base-f10/ && make BATCH=YES install distclean
echo ‘linux_enable=”YES”‘>> /etc/rc.conf
#安装nvidia显卡驱动
cd /usr/ports/x11/nvidia-driver/ && make BATCH=YES install clean
echo ‘nvidia_load=”YES”‘>> /boot/loader.conf
#安装nvidia显卡自动配置工具
cd /usr/ports/x11/nvidia-xconfig/ && make install clean
#安装Xfce4
cd /usr/ports/x11-wm/xfce4/ && make BATCH=YES install clean
#安装scim
#cd /usr/ports/chinese/scim-pinyin/ && make BATCH=YES install clean
#安装firefox
cd /usr/ports/www/firefox/ && make BATCH=YES install clean
echo ‘sem_load=”YES”‘>> /boot/loader.conf
#安装firefox中文包
cd /usr/ports/www/firefox-i18n/ && make BATCH=YES install clean

原文链接:http://wiki.freebsdchina.org/doc/x/freebsd_desktop_xfce

在FreeBSD下配置HP LaserJet 4000和HP LaserJet 2100打印机

以前一直以为配置起来很麻烦,现在看来并不是这样。

我现在的办公室里面使用的是 Windows 打印服务器,而 Windows 打印服务器和 HP 打印机之间是通过 TCP/IP 连接的(不过为什么还需要这个打印服务器?先不管它)。最近因为工作原因需要相当多的打印任务,但是我自己没有合法的 Microsoft Office 授权,因此,寻找合法的、开源解决方案便势在必行了。

我平时使用的桌面系统是 FreeBSD,采用 GNOME 作为窗口管理器,平时主要是用它来进行开发,因此也没研究过打印的事情。说了很多废话,现在我们来看在 FreeBSD 上面需要先做些什么?

首先是 print/cups。如果还没有安装的话,使用下面的命令来安装:

portinstall print/cups

注意:我没有做测试,但是由于有 port 说有 CJK 兼容问题,因此我在 /usr/local/etc/ports.conf 中增加了这个配置:

print/cups*: WITH_CJK=yes

这个选项是否真的需要,现在还不太清楚,如果谁有经验的话麻烦说一句。

有一个用于安装 smb 后端的 cups-smb-backend,不过因为我并不真的从 Windows 打印服务器输出,因此虽然安装了,但是我认为应该没用。

之后,用下列命令启动 cupsd:

/usr/local/etc/rc.d/cupsd onerestart

这样就可以访问 http://localhost.sina.com:631/printers/ 的打印机管理了。注意,当要求验证身份时,输入本地的 root 用户名和口令。

进入 http://localhost.sina.com:631/admin 之后,选择Find new printers,于是 CUPS 会检测到本广播域内存在的 TCP/IP 打印机。添加之后,其他选项都选择默认,然后在Model中选择PCL 4/5,就可以了。

一个比较需要注意的地方是,LJ 4000打印时,一定要写对纸张类型。如果选的不对,LJ 4000上面会显示”Tray 1 Load Plain A4″,并且Attention红灯亮,导致后续打印被阻塞,此时用打印机的Cancel钮取消就可以了。

LJ2100与此类似。

之前确实没想到配置这么简单。。。看来 Apple 出的东西还是很为用户着想的。

——-

更新(回复liukang):最后说Apple,是因为 cups 是 Apple 的一项产品:

All other content is copyright 2007 by Apple Inc. CUPS, the Common UNIX Printing System, and the CUPS logo are the trademark property of Apple Inc. All other trademarks are the property of their respective owners.

原文链接:https://blog.delphij.net/2007/12/-freebsd-hp-las.html

FreeBSD下KDE桌面系统配置与使用

FreeBSD下KDE桌面系统配置与使用

作为一个自由软件爱好者,出于系统性和稳定性考虑,选择FreeBSD做为我的基本系统,我钟意KDE桌面环境给我带来的方便和使用上的乐趣。在我看来FreeBSD+KDE是一个很好的学习平台,这个组合提供了很多界面友好、功能强大的工具软件可以让我把注意力集中在想要学习的内容上,而不是纠缠在某个具体的操作细节。

FreeBSD+KDE这个组合可以汇集大量的资料让我边学习边操作,我觉得这是学习FreeBSD非常好的一种方法——边学习边使用。而且相当重要的一点是我喜欢KDE给我带来的一致性美感,这和FreeBSD本身是一脉相承的。尤其目前FreeBSD桌面化在KDE与FreeBSD结合上研究探索的进展,诸如PC-BSD,更让人看到一种希望,那就是FreeBSD桌面系统可以和Windows一样的易用,进而可以成为一种选择,我想这对FreeBSD也是一件好事。

接触KDE时间越长,越觉得KDE的强大,使用KDE越多,越觉得自己掌握的东西太少。虽说可以通过个人努力,解决一些问题,但是学习中更多的体会是别人的点滴经验可以让你的学习事半功倍,也正是出于这个出发点,弄了这篇文章,想法只有一个,就是与大伙一起学习、交流,一起努力对“FreeBSD环境下KDE桌面系统配置与使用”的经验与网络资源做一些力所能及的整理与汇总,减少一些重复劳动。真诚期待大伙参与,一起共享学习中的体会和使用上的经验!
主要范围是以下几个:
1、FreeBSD下KDE的安装
2、FreeBSD系统针对KDE的系统优化、配置
3、KDE的中文化配置
4、KDE软件介绍与使用配置 选择[Configure]->[Distributions]->[X.Org],如下图:截图一

接下来会出现一个菜单让你选择所需要安装的X.Org的包,如下图所示,请进入每一个选项里选取ALL.截图二 截图三

接着选择Exit回到选择安装来源.您可以选择CD/DVD为安装本源,放入第一张CD即可开始安装.

安装KDE:
leo# sysinstall
选择[Configure]->[Packages]->[kde],选择kde-3.5.1如下图:

截图四

选择OK,然后Install会有提示要求您放第二张光盘.这里需要等比较长的时间.安装完就退出.运行
xorgcfg –textmode

截图五

配置xorg
本机上所生成的/etc/X11/xorg.conf文件内容如下
leo# cat /etc/X11/xorg.conf
Section “ServerLayout”
Identifier “Layout0″
Screen 0 “Screen0″ 0 0
InputDevice “Keyboard0″ “CoreKeyboard”
InputDevice “Mouse0″ “CorePointer”
EndSection

Section “Files”
EndSection

Section “Module”
Load “freetype”
# Load “xtt”
Load “extmod”
Load “glx”
Load “dri”
Load “dbe”
Load “record”
Load “xtrap”
Load “type1″
Load “speedo”
EndSection

Section “InputDevice”
Identifier “Mouse0″
Driver “mouse”
Option “Protocol” “Auto”
Option “Emulate3Buttons”
Option “Device” “/dev/sysmouse”
EndSection

Section “InputDevice”
Identifier “Keyboard0″
Driver “kbd”
Option “XkbModel” “pc101″
Option “XkbLayout” “us”
EndSection

Section “Monitor”

### Comment all HorizSync and VertSync values to use DDC:
Identifier “Monitor0″
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 31.5 – 57.0
VertRefresh 50.0 – 90.0
EndSection

Section “Device”
Identifier “Card0″
Driver “vmware”
EndSection

Section “Screen”
Identifier “Screen0″
Device “Card0″
Monitor “Monitor0″
DefaultDepth 24
SubSection “Display”
Viewport 0 0
Depth 24
Modes “1024×768″ “800×600″
EndSubSection
EndSection在 /root 目录下 编辑 .xinitrc 文件:.(注:用edit 编辑一个 .xinitrc 文件)
加入下面行
exec /usr/local/bin/startkde
然后执行
startx
即可进入KDE

截图六

接着我们要将KDE 汉化,如果要在X-Window 中看到中文的菜单,必须先装中文字体kcfont(国乔字体)及arphicttf(文鼎字体),以及中文信息档(i18n)
# cd /usr/ports/chinese/kcfonts
# make install clean
# cd /usr/ports/chinese/arphicttf
# make install clean
# cd /usr/ports/chinese/kde3-i18n-zh_CN
# make install clean
# cd /usr/ports/chinese/koffice-i18n-zh_CN
# make install clean
接着编辑/etc/X11/xorg.conf
leo# vi /etc/X11/xorg.conf
在Section “Files”之间加入下面三行,以使X-Window能找到正确的字体路径,如下:
Section “Files”
FontPath “/usr/X11R6/lib/X11/fonts/TrueType”
FontPath “/usr/X11R6/lib/X11/fonts/local”
FontPath “/usr/X11R6/lib/X11/fonts/misc”
EndSection
更改保存后进入KDE。
找到Setting->Desktop Setting Wizard进行设置:

截图七

按Next一直到最后即可。如果您想要有Windows的字体,可以到将Win上面的字体COPY到下面的目录
#cd /usr/X11R6/lib/X11/fonts/TrueType
然后打开“控制中心”->外观和主题->字体,里面设置你所需要的字体和字体大小。我是把windows下面的simsun.ttc和tohoma.ttf拷贝到了FreeBSD上面,然后应用windows的字体,这样感觉比较舒服,毕竟是平时看惯了windows的字体了。看其它字体感觉怪怪的。
-rw-r–r– 1 root wheel 10507340 May 14 19:07 simsun.ttc
-rw-r–r– 1 root wheel 379856 May 14 19:07 tahoma.ttf

截图八

中文输入法安装:
cd /usr/ports/chinese/scim-tables/
make install

cat >> /etc/csh.cshrc << OK
setenv LANG zh_CN.eucCN
setenv LC_CTYPE zh_CN.eucCN
setenv XMODIFIERS @im=SCIM
setenv GTK_IM_MODULE scim
OK
另外在进入X之前需要执行(在~/.xinitrc中加入)
exec scim -d &
此行一定要放在exec /usr/local/bin/startkde之前
leo# cat /root/.xinitrc
exec scim -d &
exec /usr/local/bin/startkde

重新启动KDE就可以输入中文了。    概要:以KDE桌面环境为例,试析Fontconfig的运作机制
一、Fontconfig在桌面系统中的作用

KDE是类Unix系统中建立在X基础上的一个主流桌面环境,对用户来说,它提供了良好的图形界面和语言切换机制,用以满足来自不同国家、使用不同语言的用户的使用需求,这种机制简称“国际化”。主要包括界面文字的翻译,多种语言字体的管理、显示的支持以及输入法等等。这其中系统层面字体的管理和显示的支持直接关系到文字的显示效果,因此显得尤为重要。在KDE系统中,字体管理、显示的支持采用的是如下框架。

Fontconfig(字体配置)——–>Freetype(字库操作)————–>xft(字体渲染)

Fontconfig : 管理系统安装的字体,根据应用程序的字体配置,match(匹配)一种字体,填充match字体的各种属性。

Freetype : 以Fontconfig匹配到的字体为参数,根据应用程序需要读取相应的字库。

xft: 对需要显示的语言文字进行渲染

二、X系统中字体的管理

作为KDE底层支持的X,它使用字体服务器(xfs)对安装的字体进行管理,也称之为“核心字库管理系统”,基本配置原理是xfs使用可维护的字体安装目录和fonts.dir文件对字体进行操作。

X为之提供了一些工具来完成管理操作。诸如 :

mkfontdir,mkfontscale 用来生成安装字体的 fonts.dir和fonts.scale。

xlsfonts 用来显示安装的字体。

xfd 用来显示指定字库的信息。

xset 用来管理字体服务器。

对于FreeBSD,在安装了xorg 7.2并且X server运行的情况下,字体安装目录可用 xset q来查询

shell>xset q
上面显示的是X系统安装时定义的字体目录。在这些目录中,都有利用mkfontdir生成的fonts.dir(对于true type 字体需要使用mkfontscale 生成 fonts.scale,然后拷贝到fonts.dir中)。fonts.dir是个文本文件,里面保存的是所在目录的字体信息。关于这些信息的具体含义,可以参见X的man手册,这里不再赘述。

Font Path:
/usr/local/lib/X11/fonts/misc/,/usr/local/lib/X11/fonts/TTF/,
/usr/local/lib/X11/fonts/OTF,/usr/local/lib/X11/fonts/Type1/,
/usr/local/lib/X11/fonts/100dpi/,/usr/local/lib/X11/fonts/75dpi/,
/home/dbhrscom/.fonts

如果准备把一个字体安装到X系统中,并且使用Xfs进行管理,大致需要以下过程:

1、建立一个目录,并且把字库文件拷贝到这个目录下

2、运行mkfontdir或者mkfontscale,生成安装字库的fonts.dir文件。

3、运行“mkfontdir -e 系统编码目录” 生成encodings.dir 文件(可选)

4、运行 “xset +fp 字体目录” 或者 “xset fp+ 字体目录”,把字体目录添加到xfs的字体目录列表中。需要注意的是当字体目录没有fonts.dir这个文件时,这种添加字体目录操作会失败。

5、运行“xset rehash”进行更新,确保新添加的字体可用。

注意:作为一种X系统的约定,安装字体最方便的做法是把字体文件拷贝到“$HOME/.fonts/“目录下,这样省去了添加字体目录的操作,而且xset +fp 是针对当前会话有效,如果准备系统启动时有效,还要修改相关的配置文件。

三、Fontconfig的字体管理

简单的说Fontconfig是使用字体缓存的机制来进行字体管理的。这个Xfs有所不同。fontconfig提供fc-cache来建立这个缓存。

shell >fc-cache -v
fc-cache的运行原理是扫描fontconfig的配置文件中定义的字体目录,然后利用扫描的结果生成系统字体缓存。在这个fc-cache -v的运行结果中可以看到,它所扫描的路径已经涵盖了xfs所管理的系统字体路径。但这并不表示fontconfig和xfs的继承关系,fontconfig扫描这些目录,完全是因为在配置文件fonts.conf中有这样的定义!

/usr/local/lib/X11/fonts: skipping, 0 fonts, 12 dirs
/usr/local/lib/X11/fonts/100dpi: skipping, 398 fonts, 0 dirs
/usr/local/lib/X11/fonts/75dpi: skipping, 398 fonts, 0 dirs
/usr/local/lib/X11/fonts/Fonts: skipping, 4 fonts, 0 dirs
/usr/local/lib/X11/fonts/OTF: skipping, 23 fonts, 0 dirs
/usr/local/lib/X11/fonts/TTF: skipping, 13 fonts, 0 dirs
/usr/local/lib/X11/fonts/Type1: skipping, 29 fonts, 0 dirs
/usr/local/lib/X11/fonts/bitstream-vera: skipping, 10 fonts, 0 dirs
/usr/local/lib/X11/fonts/cyrillic: skipping, 0 fonts, 0 dirs
/usr/local/lib/X11/fonts/encodings: skipping, 0 fonts, 1 dirs
/usr/local/lib/X11/fonts/encodings/large: skipping, 0 fonts, 0 dirs
/usr/local/lib/X11/fonts/local: skipping, 0 fonts, 0 dirs
/usr/local/lib/X11/fonts/misc: skipping, 55 fonts, 0 dirs
/usr/local/lib/X11/fonts/util: skipping, 0 fonts, 0 dirs
/home/dbhrscom/.fonts: skipping, 0 fonts, 0 dirs
/var/db/fontconfig: not cleaning unwritable cache directory
/home/dbhrscom/.fontconfig: cleaning cache directory
fc-cache: succeeded

<!– Font directory list –>
fc-cache所作的扫描都是基于以上的<dir></dir>定义。

<dir>/usr/local/lib/X11/fonts</dir>

<dir>~/.fonts</dir>

<!– Font cache directory list –>

<cachedir>/var/db/fontconfig</cachedir>
<cachedir>~/.fontconfig</cachedir>

这个配置文件在fontconfig最新版本中,默认放在下面的目录中

/usr/local/etc/fonts/

而生成的字体缓存按照系统和当前用户,分别存放到

/var/db/fontconfig
~/.fontconfig
这两个目录中,诸如下面所看到的
0c3f6abf7a2705d2e8570f7f70e9302d-x86.cache-2
1e99991e6eeb0b3e05d4185c886f4b19-x86.cache-2
2550ddc31d0b62d94bc27b0fea358aba-x86.cache-2
55cbb48b13195d29d336fd465f155e7b-x86.cache-2
75ff5e8ddb5aa19e5f229f72d89c73db-x86.cache-2
.cache-2 就是fc-cache的运行记号,fontconfig通过这个缓存来管理系统安装的字体,也因为这种机制在系统中安装字体变得非常简单,只要把字体文件放到fonts.conf定义的目录中,然后运行一下fc-cache。

甚至fc-cache一下也不需要,因为在fonts.conf中定义了刷新时间:
<!–
Rescan configuration every 30 seconds when FcFontSetList is called
–>
<rescan>
<int>30</int>
</rescan>
由此看出,fontconfig和xfs相比,fontconfig提供了更加灵活的字体管理机制,目前系统中保持xfs和fontconfig并行工作的理由,只能是为必须使用xfs机制的程序提供一种支援。而作为KDE,它使用的就是fontconfig进行字体管理。举例来说,KDE的控制中心有个“字体安装”模块,通过分析可知它进行字体安装的原理就是自定义一个安装路径,放到fontconfig的配置文件中,然后把字体拷贝到自定义的目录。    四、Fontconfig配置文件的结构

在2.4.2以后的版本中,Fonfconfig的配置文件采用了模块化的结构。配置文件由以下文件组成
/usr/local/etc/fonts/fonts.conf
/usr/local/etc/fonts/conf.avail/*.conf
/usr/local/etc/fonts/conf.d/*.conf
/usr/local/etc/fonts/conf.d/ 目录下的文件大多数是 conf.avail/ 目录下的连接,大致是如下这些:
20-fix-globaladvance.conf
20-lohit-gujarati.conf
20-unhint-small-vera.conf
30-amt-aliases.conf
30-urw-aliases.conf
40-generic.conf
49-sansserif.conf
50-user.conf
51-local.conf
60-latin.conf
65-fonts-persian.conf
65-nonlatin.conf
69-unifont.conf
80-delicious.conf
90-synthetic.conf
前面的数字用来控制执行的先后顺序,从名称上就可以看出,每个.conf文件都有针对性的字体特性进行处理。

而实现这种模块化,所借助的就是 /usr/local/etc/fonts/fonts.conf 文件。

<!–
Load local system customization file
–>
<include ignore_missing=”yes”>conf.d</include>
分析/usr/local/etc/fonts/conf.d 目录下的文件,并通过打开Fontconfig的调试功能,可知这些配置文件的执行顺序:
Loading config file /usr/local/etc/fonts/fonts.conf
Scanning config dir /usr/local/etc/fonts/conf.d
Loading config file /usr/local/etc/fonts/conf.d/20-fix-globaladvance.conf
Loading config file /usr/local/etc/fonts/conf.d/20-lohit-gujarati.conf
Loading config file /usr/local/etc/fonts/conf.d/20-unhint-small-vera.conf
Loading config file /usr/local/etc/fonts/conf.d/30-amt-aliases.conf
Loading config file /usr/local/etc/fonts/conf.d/30-urw-aliases.conf
Loading config file /usr/local/etc/fonts/conf.d/40-generic.conf
Loading config file /usr/local/etc/fonts/conf.d/49-sansserif.conf
Loading config file /usr/local/etc/fonts/conf.d/50-user.conf
Loading config file /home/dbhrscom/.fonts.conf
Loading config file /usr/local/etc/fonts/conf.d/51-local.conf
Loading config file /usr/local/etc/fonts/conf.d/60-latin.conf
Loading config file /usr/local/etc/fonts/conf.d/65-fonts-persian.conf
Loading config file /usr/local/etc/fonts/conf.d/65-nonlatin.conf
Loading config file /usr/local/etc/fonts/conf.d/69-unifont.conf
Loading config file /usr/local/etc/fonts/conf.d/80-delicious.conf
Loading config file /usr/local/etc/fonts/conf.d/90-synthetic.conf
五、Fontconfig所提供的调试功能
Fontconfig提供了调制功能,用来诊断字体配置运行时的信息,使用调制功能非常简单,在KDE环境下用模拟终端定义 FC_DEBUG 这个环境变量的值即可:

例如:csh环境下

setenv FC_DEBUG 1

在模拟终端中启动相应的程序,就可以查看设定的调试信息。可以按照下面Fontconfig用户手册介绍的说明设定具体显示的调试信息。
MATCH 1 Brief information about font matching 字体匹配信息
MATCHV 2 Extensive font matching information
EDIT 4 Monitor match/test/edit execution 显示match/test/edit信息
FONTSET 8 Track loading of font information at startup
CACHE 16 Watch cache files being written
CACHEV 32 Extensive cache file writing information
PARSE 64 (no longer in use)
SCAN 128 Watch font files being scanned to build caches
SCANV 256 Verbose font file scanning information
MEMORY 512 Monitor fontconfig memory usage
CONFIG 1024 Monitor which config files are loaded 显示配置文件装载信息
LANGSET 2048 Dump char sets used to construct lang values
OBJTYPES 4096 Display message when value typechecks fail    六、Fontconfig的字体匹配

Fontconfig的字体匹配模块是它的功能核心,设计的目标是确保根据“使用Fontconfig的应用程序所题出来的字体要求”能在系统安装的字体中找到一个匹配的字体,并为后续的字体渲染、字体显示填充一些用户可以控制的属性。字体匹配的原理简单的说就是“字体之间属性距离的计算”,通过比较应用程序所要求的字体与Fontconfig所管理的字体一些属性之间的距离,来确保可以找到一个字体,理想的字体匹配是“完全满足应用程序的要求”,但一般情况下,因为受系统中安装字体种类的限制、用户审美取向的不同以及Fontconfig配置文件的具体设定等因素的影响,只能依据“综合距离最小”的原则匹配到一种字体。然后根据Fontconfig配置文件中对具体字体的设定,以及后续字体渲染的一些要求,最终“加工”出一个“具有完整属性”的字体。

在整个字体匹配过程中,Fontconfig提供了一种非常灵活的控制字体匹配的机制,它通过可定制的的配置文件(fonts.conf)生成可对字体匹配造成影响的匹配规则,利用这些规则,用户可以替换字体,可以对可用字体进行排序,可以针对不同语言环境进行优化调整,甚至可以针对一种字体的不同大小,进行字体渲染的微调,这一切都可以利用Fontconfig的配置文件来调整,这一切也都是利用配置文件来控制,而这正符合Unix应用哲学中的“高可定制性”,因此想要掌握桌面系统的字体匹配,首先必须要了解掌握的就是Fontconfig的配置文件—fonts.conf和conf.d下的所有配置文件。

在第一部分已经提到了目前fonts.conf的一种发展趋势,就是模快化设计,但是fontconfig系统运行时,是加载全部的配置文件。

为了更深层次的对fontconfig的字体匹配机制进行分析,先明确几个概念性的东西:

(一)字体的属性

在fontconfig中定义了35种字体属性,在fontconfig的用户手册中有所介绍,现摘录如下:

截图九

每个属性都有一个或多个值,用来描述字体的某方面特征。如 lang,它保存的是字体所支持的语言字符串,里面可以有多个值, 如 hinting ,它保存的是该字体在显示时是否进行hint渲染,值只能是 true 或 fasle。

从属性的功用上分,大致可以分为三类:

1、为后续的字体渲染所定义,fontconfig可以对这些属性进行设定,影响后续的字体显示动作。如:antialias、hinting、hintstyle、rgba 等等

2、为字体匹配所定义,这些属性用来完成字体匹配的运算。如:family、style 、lang

3、为标识字体所定义,这部分属性一般不参与字体匹配与字体渲染的操作,但用来标识字体的信息。如 fontversion。

一个具体的例子:simsun的字体属性,部分属性是根据fontconfig的配置文件生成。

family: “SimSun”(s) :字体家族名
familylang: “en”(s) :家族语言
style: “Regular”(s) :正常风格
stylelang: “en”(s) :语言风格
slant: 0(i)(s) :倾斜
weight: 80(i)(s) :一些字体参数
width: 100(i)(s)
size: 12(f)(s)
pixelsize: 12.5(f)(s)
spacing: 90(i)(s)
foundry: “unknown”(s) :出品公司
antialias: FcTrue(w) :可antialias
hintstyle: 2(i)(w) :hint风格
hinting: FcTrue(w) :可hinting
verticallayout: FcFalse(s) :纵向输出
autohint: FcFalse(s) :不antohint
globaladvance: FcTrue(s) :高级控制可用
file: “/usr/local/lib/X11/fonts/Fonts/simsun.ttc”(s) :字体位置
index: 0(i)(s) :索引
outline: FcTrue(s) :可outline
scalable: FcTrue(s) :可scalable
dpi: 75(f)(s) :DPI值
rgba: 5(i)(w) :rgba方式
scale: 1(f)(s) :缩放方式
charset: 0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff (这里删去很多)
lang: aa|ast|ay|bg|bi|br|ch|co|da|de|en|es|eu|fj|fo|fr|fur|fy|gd|gl|gv|ho|ia|id|ie|io|is|it|kum|lb|mg|nb|nds|nl|nn|
no|oc|om|os|pt|rm|ru|sel|sma|smj|so|sq|sv|sw|tn|ts|vo|wa|xh|yap|zh-cn|zh-sg|zu(s) :支持zh-cn语言
fontversion: 131072(i)(s) :字体版本
capability: “otlayout:hani”(s) :兼容
fontformat: “TrueType”(s) :字体格式
embeddedbitmap: FcTrue(s) :位图字体增强
decorative: FcFalse(s) :可修饰
(二)、pattern

pattern是fontconfig字体匹配的核心数据结构,所有的匹配操作都是围绕着pattern来完成的,pattern可以理解成为一个在流水线上制造的汽车,汽车的用户需求相当于应用程序提出的字体要求,可以非常简单,比如sans serif字体,大小12号,这也是pattern的最初形态 ,Fontconfig相当于制造流水线,根据配置文件中所定义的匹配规则,对这个最初的pattern进行加工,随着工序的逐步完成,pattern变得有模有样,无论是功能还是外形,都按照匹配规则的定义进行了设定,最终当fontconfig的所有流水作业完成时,pattern已经被武装成了一种具体的字体 ,并添加了控制后续字体显示,渲染的属性参数。

这就是pattern,它最终表示的是一种设置周全的字体,满足应用程序,或者说用户的要求。

(三)、匹配规则

就是Fontconfig的配置文件中定义的那些规则,在进行字体匹配时fonts.conf和conf.d目录下的配置文件都要被fontconfig读取、分析,然后形成匹配规则列表,匹配规则可以分为三类

1、与pattern相关,这些规则用于进行字体匹配运算,最终可以得到一种字体

这种类型的规则在配置文件中大都以下面的形式进行定义:

<match target=”pattern”>
<test qual=”any” name=”family”>
<string>sans</string>
</test>
<edit name=”family” mode=”assign”>
<string>sans-serif</string>
</edit>
</match>
简单说明一下:这个语句块的作用是,对pattern进行匹配操作,当pattern中的family属性中包含有sans时,匹配成功,执行下面的操作 —— 把pattern 中 family 属性中的 sans字体 替换成 sans-serif 字体。这里不对语句快中的具体参数进行解释,可以参看fontconfig的用户手册。

2、与font相关,这些规则主要是对匹配得到的字体进行进一步调整,满足用户的需求

<match target=”font”>
<test name=”family”>
<string>SimSun</string>
</test>
<edit name=”hinting”>
<bool>false</bool>
</edit>
</match>
简单说明一下:这个语句块的作用是,对匹配到的字体pattern进行字体匹配,如果这个字体pattern中的family属性是SimSun,则对这个匹配到的pattern做如下修改:把hinting的属性设定成false ,整个语句块的作用就是把simsun的hinting设定成假,如果匹配到的字体是simsun,那么这个设定就生效。如果没有匹配到simsun这个字体,这个匹配操作无效。

3、与字体渲染属性相关,这些规则主要是按照用户的需求,对字体的显示作一些定义。

<match target=”font” >
<edit mode=”assign” name=”antialias” >
<bool>true</bool>
</edit>
</match>
简单说明一下:这个语句块是对fontconfig匹配到的字体,无论是什么字体,都修改antialias属性为true,这个语句块摘自用户目录下的.fonts.conf文件,由KDE控制中心的字体配置中进行设定。1、安装xorg kde,以freebsd 6-stable为例,在保证网络联通的情况下,可用下面命令安装:

pkg_add -r xorg ;安装xorg
pkg_add -r kde ;安装kde
2、运行xorgcfg命令,在用户目录下生成 xorg.conf.new
cp ~/xorg.conf.new /etc/X11/xorg.conf
3、在用户目录下生成 .xinitrc 文件,文件的内容是
exec startkde
可以用如下命令生成 .xinitrc 文件
echo “exec startkde”>~/.xinitrc
4、运行startx命令,如果xorg.conf和.xinitrc文件正确,应该可以进入kde了

5、安装中文字体和输入法,可以输入和显示中文。推荐的方法是使用ports

cd /usr/ports/chinese/auto-cn-i10n
make install ;安装
make clean ;清除编译时产生的文件
6、安装kde中文包,界面中文化

pkg_add -r kde3-i18n-zh_CN
7、设置区域:

K菜单–>设置->区域和辅助功能->国家地区以及语言->添加语言->选择“简体中文”,并放到最上面,确定之后,可以显示中文界面
8、调整用户的locale,主要是设置LANG变量,以startx方式启动kde为例:

如果shell是csh,在用户目录下找到 .cshrc 任意位置填入 setenv LANG zh_CN.UTF-8
以上是建立kde中文桌面的大致过程,基本上就可以实现KDE桌面环境的中文化了。以前用Fctix就可以工作,今天装了Scim进入系统那个键盘标为灰色的,按Ctrl+space也不管用。
最终解决方法:重装了一下Scim

如果shell是sh,在用户目录下找到.profile 任意位置输入 export LANG=zh_CN.UTF-8

环境变量在.profile中设置一下。就行了。
.profile
代码:
export LANG=zh_CN.eucCN
export LC_ALL=zh_CN.eucCN
export LC_CTYPE=zh_CN.eucCN
.xinitrc
代码:

export XIM=”scim”
export XMODIFIERS=”@im=scim”
export GTK_IM_MODULE=”scim”

cat .xinitrc
export LANG=”zh_CN.eucCN”
export LC_CTYPE=”zh_CN.eucCN”
export LC_ALL=”zh_CN.eucCN”
export XMODIFIERS=’@im=scim’
exec scim -d&
exec gnome-session
pkg_info |grep scim
scim-1.4.4_2 Smart Common Input Method platform
scim-table-imengine-0.5.6_2 SCIM table based input method engine
zh-scim-tables-0.5.4_3 SCIM table based Chinese input methods
分析:
出问题有可能是升级了内核后需要重装一下Scim从windows转到KDE来的,可能一开始会不习惯,想找几个在windows里用的比较的顺手的软件。这里就推荐几个:
一、“我的电脑”->“系统”
从windows过来,可能要习惯性地找“我的电脑”,我的电脑里,基本上可以找到系统的一切。在KDE的世界里,这个变了名字,叫做“系统”了,当然,位置还没变,还在桌面的左上角。
当然,如果你愿意,完全可以把它改名为“我的电脑”,但是,改名的时候注意哦,在windows中,单击名称可以改名,但是在KDE中,单击是打开程序。
当然这个鼠标行为是可以改掉的,KDE中还有很多在windows中不可能改的东西都可以改。(这是后话,先知道有这么回事就行了)
进了“我的电脑”了,咦?C盘和D盘到哪儿去了?对不起,这是Unix,没有C盘和D盘的概念,在Unix中,所有的文件,都是统一在根(root,用“/”表示,斜杠,不是DOS里的把斜杠)目录下面的,不论你有几个硬盘,所有分区都在根(/)下面。而在根(/)下面,有几个目录是必须有的,你自己想建目录,最好别在根下面建,到/home里建最好,因为那个是你自己的地盘。
注意看两个地方:菜单栏和下半部分左边。菜单栏可以折行。左边部分显示了本机常用的资源,从网络到设备。在Unix中,还要有个概念,就是所有的设备也是一个文件,所以,没有“系统设备”那一个说明,看系统中有什么设备,到/dev/里面看一下就行了。可能一开始看懂,接触多了就能看懂一部分,到看懂所有的设备文件,就成为“大师”了。^_^
在最右边,还有一个kde的图标,这个表示开启一个新的窗口。
其它的方面,都和windows下差不多,注意默认情况下,单击是打开程序,而不是选择。
二、”记事本”->“kedit“,“UltraEdit”->“Kate”
进了系统,也许第一件事就是打几个字过过瘾了。在windows中,最简单的是“记事本”,在KDE中,则是“K菜单”->“实用工具”->“编辑器”->“Kedit 简单文本编辑器”。
这个编辑器,只有最简单的功能。基本上和“记事本”差不多。想要点高级点的功能,那就看一下“K菜单”->“实用工具”->“编辑器”->“Kate 高级文本编辑器”,这个功能多了很多,但是,不要把它等同于”写字板”。“写字板”可以进行简单的文字编辑,改一改字体、颜色、大小什么的。这个“Kate”可不能,想要实现那个功能,去看“koffice”。这个“Kate”是个编辑器,那么它编辑什么呢?最善长的就是源程序,你写的C、JAVA、PERL等程序,都可以在这儿写,说白了,就相当于“UltraEdit”之类的工具,但是不具备16进制编辑。
既然提到16进制编辑,那么KDE下用什么来实现16进制编辑呢?在“K菜单”->“实用工具”->文件->“KHexEdit”,这个功能比“UltraEdit”还要强大哦!(当然,某些方面,^_^)
对了,在Unix里面,你可能要面对一个很严肃的问题:中文编码。也许你意识不到在Windows里还有编码的事,但是在Unix里面,就不行了,如果编码不对,将显示乱码。“Kate”就可以让你切换字符编码。设置的地方在”工具里面“。
三、“开始菜单”->“K菜单”及“任务栏”
进来半天了,还没仔细看一下“开始菜单”和“任务栏”吧。如果你用习惯了“WindowsXP”的“开始菜单”,你可能又觉得“K菜单”不习惯了。“K菜单”和Windows2000的开始菜单差不多,功能也相似,感觉就像是只换了一个图标而已。
“任务栏”也差不多,只有两个地方不太一样:第一个就是多了“一、二、三、四”字样,第二个就是最右边多了个小小的箭头(不仔细看还看不到!)。
“一、二、三、四”表示是四个“虚拟桌面”,你最多可以设置到20个桌面,在每个桌面上可以运行不同的程序,每个桌面还可以单独命名,比如把它们命名成为“上网”、“打字”、“电影”、“程序”、“图片”……这样,在干大活的时候,就不至于在桌面上堆满乱七八糟的窗口了。
“任务栏”最右边,是一个小箭头,按一下,看下效果。怎么样?吃了一惊吧!“任务栏”没有了!看你怎么操作计算机!不过没关系,再点一下仅余的一点点小箭头,任务栏又回来了。
这个有什么用呢?搞过多媒体的都知道,干活的时候,经常嫌屏幕小了,多了这么一行屏幕空间,有很多时候也是非常有用的。“寸屏寸金”啊!
也许你觉得这个跟“自动隐藏”差不多,其实它也可以“自动隐藏”的,在“任务栏”的空白处或栏交界处“右击”->“配置面板”,打开看一下,肯定吓你一跳,这里面有很多Windows里不可以想像的选项,比如说把“任务栏”变短变窄,注意:可不是windows意义上的变窄哦!
多在里面逛逛吧!你会发现,KDE里,比Windows里更自由!
四、“画图”->“KolourPaint”,“Photoshop”->“Krita”
想画个图试试吗?“K菜单”->“图像”->“KolourPaint 绘图程序”。这个绘图程序应该比Windows里自带的“画图”功能更多一些。经常有人说,Windows的“画图”仅仅是初学者的学习之地,而”KolourPaint”则有一定的实用价值。按下“ctrl+M”(或菜单“图像”-“更多效果”),可以调出“更多效果”面板,这里,可以有“柔化”“亮度”“对比度”等简单的功能,如果不是进行大的修改,一般的图片都可以在这儿进行。
谈到图像,马上就想起PhotoShop来。Unix下面没有Photoshop(更正:这提法其实不对,因为Mac系统就是FreeBSD,但是普通意义上讲还可以说得通),想用Photoshop的强大功能怎么办呢?那么就试试krita吧,打开路径是:“K菜单”->“图像”->“Krita 绘图和图像编辑”,这个图像功能更强大一些,包括很多滤镜在内。由于本人不是图像狂热爱好者,所以也没法试用所有功能,但是,对于一般人来说,虽然跟不上 Photoshop,平时用应该足够了。具体用法,还是去看一下帮助吧,可能开始会不习惯。

原文链接:http://jswz.jiashanedu.net/wordpress/?p=7

FreeBSD 8.0 Gnome桌面安装笔记

一,安装FreeBSD系统
安装系统并升级到8.0 release
编译内核,以便获得显卡,声卡,无线网卡等支持
我的电脑是IBM R52,编辑内核文件:
# ATI drives
device    drm
device    radeondrm
# Sound drives
device sound
device snd_ich
# Intel Wireless
device          iwi

编译内核,重启电脑

二、无线网卡设置
vi /boot/loader.conf
legal.intel_iwi.license_ack=1

vi /etc/rc.conf
wlans_iwi0=wlan0
ifconfig_wlan0=”ssid linksys wepmode on weptxkey 1 wepkey 1:0xFFFFFFFFFF DHCP”

三、升级ports
cp /usr/share/examples/cvsup/ports-supfile /root/.
csup -L 2 -h cvsup.cn.freebsd.org /root/ports-supfile

四、安装xorg
vi /etc/make.conf
MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSDChina.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
USE_LINUX_BASE_PORT=f10
USE_LINUX_NONBASE_PORTS=f10
OVERRIDE_LINUX_BASE_PORT=f10
OVERRIDE_LINUX_NONBASE_PORTS=f10

cd /usr/ports/x11/xorg
make install clean

五、安装gnome2
cd /usr/ports/x11/gnome2
make install clean

六、安装输入法
1,安装SCIM输入法主程序
cd /usr/ports/textproc/scim
make install clean

2,安装五笔插件
cd /usr/ports/chinese/scim-tables
make install clean

3,安装拼音插件
cd /usr/ports/chinese/scim-pinyin
make install clean

七、配置汉化Gnome
Xong -configure
cp /root/xong.conf.new /etc/X11/xong.conf

mkdir /usr/X11R6/lib/X11/fonts/TypeFonts
把WINDOWS系统字体文件复制到/usr/X11R6/lib/X11/fonts/TypeFonts
包括mingliu.ttf
simhei.ttf
simsun.ttf(simsun.ttc重命名即可)
tahoma.ttf
tahomabd.ttf
执行命令:
fc-cache -v

vi /etc/profile
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
export LANG LC_ALL
exec scim -d &

vi /etc/rc.conf
hald_enable=”YES”
dbus_enable=”YES”
# 开机自动启动gnome
gdm_enable=”YES”

vi /etc/fstab
proc    /proc    procfs    rw    0    0

八、其它常用软件安装
1,QQ
vi /boot/loader.conf
linux_load=”YES”

vi /etc/rc.conf
linux_enable=”YES”

vi /etc/sysctl.conf
compat.linux.osrelease=2.6.16

cd /usr/ports/emulators/linux_base-f10
make install clean

cd /usr/ports/net-im/qq
make install clean

如果不能中文输入,执行:
/compat/linux/usr/bin/localedef -i zh_CN -f UTF-8 zh_CN

2,Firefox
cd /usr/ports/www/firefox35
make install clean

3,firefox flashplayer插件
cd /usr/ports/www/nspluginwrapper
make install clean

cd /usr/ports/www/linux-f10-flashplugin10
make install clean

ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so /usr/local/lib/browser_plugins/

安装插件
nspluginwrapper -v -a -i

vi /etc/fstab
linproc    /usr/compat/linux/proc    linprocfs    rw    0    0

原文链接:http://garey.bsdart.org/2009/12/freebsd-8-0-rc1-gnome%E6%A1%8C%E9%9D%A2%E5%AE%89%E8%A3%85%E7%AC%94%E8%AE%B0/