FreeBSD桌面应用软件

桌面应用软件

FreeBSD拥有独立的内核和基本系统(包括常用的Unix命令、函数库等)。同时,多数可以在其他Unix,以及在Linux上运行的软件,也可以在 FreeBSD 上运行。下面列出一些日常用的软件

终端界面

虚拟终端

urxvt的特点是占内存少,启动速度快,中文支持好
xterm的特点是普及, 中文字体显示效果漂亮.
gnome-terminal 配置简单,界面不错,中文支持好。
mlterm 速度快,Unicode 支持好的虚拟终端。
full-screen window manager

screen用来开多个终端的软件,就算退出开的程序还在执行,下次还可以继续

浏览器

lynx 终端下面的浏览器。用户界面比w3m好。不过访问不了google
w3m 能访问google

邮件

mutt 小巧,强大,高度可配置的邮件客服端。用户界面好。配置麻烦。

新闻

slrn news阅览器。用户界面好。配置麻烦。
raggle rss阅读器。操作简洁,上手快。
Liferea rss阅读器。
gnus Emacs 内嵌的强大的 Email/News 阅读工具。

即时通讯

irssi irc工具.操作一流,配置简单,速度快。
weechat irc工具.集 irssi 优点。

多媒体工具

sox 瑞士军刀式的音频格式转换软件

安全工具

Clamav 开源的杀毒软件。安装,使用都简单。

图形用户界面

X Windows系统机理

xdm
X与3D加速重要,但是不晓得怎么说
X中文机制重要,但是不晓得怎么说

窗口管理器

fvwm 高度可定制。速度和内存占用看你怎么配置,界面可以异常简洁,也可以异常华丽。配置麻烦。
kde 非常成熟的桌面套件,基于Qt。进入4.5以后,不得不说很漂亮、很稳定。
gnome 开源的桌面套件。项目起步晚于kde,依赖于GTK库。

浏览器

firefox 桌面上面启动最慢的,内存占用最多,经常导致X崩溃的,不能不用的软件。看flash有点问题.
FireFox扩展 FireFox扩展是一个丰富多彩的世界
opera 有瑞士军刀的美称.
tor 俗称“套”。配合privoxy可以访问一些平时无法访问网站。

多媒体

MPlayer 能播放几乎所有格式电影的软件。速度极快,播放任何格式时,快进快退、拖动进度条都是瞬间完毕。
smplayer 它是mplayer的Qt界面封装品,KDE下不二的选择。
vlc 原生的Qt界面播放器。功能上可能不如mplayer,但是代码架构清晰,发展应该很快。
gqview 图片预览软件。

邮件

kmail 界面不错,操作不错
evolution Gnome 的邮件处理套件
Thunderbird Mozilla 的邮件处理程序
Sylpheed 界面简洁,操作不错;每封邮件都以文本保存,速度超快。

新闻

pan Gnome 新闻阅读软件。
knode KDE 新闻阅读软件。

即时通讯

xchat irc聊天工具。操作勉强。
eva中国人做的高度仿qq的聊天工具,界面不错,操作勉强。
pidgin gaim。聊天的,支持msn,qq,irc等。操作勉强。

文档及其编辑

LaTex一流排版系统.论文必备工具.生成漂亮版面,字体,数学公式,的PDF的工具.让你关注要写的内容,而让计算机来处理版面.
xpdf能看中文,不过要调整一下。操作不错。启动速度快。
Openoffice.org办公软件。
gimp专业的图像处理软件
denemo音乐打谱软件。操作不错。
blender 3d建模软件

科学与教育

R 统计学常用的计算软件,S的免费版本。
Maxima十分钟教程 用lisp写的符号计算数学工具。
scilab仿matlab的软件
solfege一个训练耳朵的软件。主要是和弦,音程,节奏听辨。增加你大脑里面音乐细胞数目的软件

下载和共享

amule界面不错,不常用的操作就不说了。特别强调的是,amule有命令行下面的界面,通过网页来配置的。

游戏

FretsOnFire 用键盘玩吉他的软件。界面,速度,操作不错。
美国陆军 超大。免费的商业水准的3D,FPS游戏。
tremulous 非常好玩的FPS/动作类联网游戏。网上人多。
supertux Linux/BSD下的超级玛丽,主角是企鹅。简单耐玩,堪称经典。

残障

flite英文语音合成软件。安装,使用都简单。

安全工具

ClamTKClamav的图形。安装,使用都简单。

原文链接:http://wiki.freebsdchina.org/faq/desktop

FreeBSD已测硬件清单

品牌服务器

品牌 型号 状态 已知问题 解决方法
Dell PowerEdge 1435 可用
Dell PowerEdge 1950(RAID) 可用
Dell PowerEdge 1950(SAS无RAID) 可用 某些型号会在启动时出现bce0: watchdog timeout或在检测到acd0之后停止响应 启用或禁用 MSI (消息信号中断) 支持(6.3或更高版本)
Dell PowerEdge 1850 可用 外接SCSI卡时,由于主板设计原因在高负载情况下会出现Interrupt Storm;
尽量避免外接SCSI卡与共享中断的网卡同时出现高负载
Dell PowerEdge 1750 可用
Dell PowerEdge 1650 可用
HP Proliant DL-140G3 可用 1. 仅能从网络安装
2. 安装完成后使用中一直有如下信息:
mpt0: QUEUE FULL EVENT: Bus 0x00 Target 0x02 Depth 65
解决方法:升级硬盘固件,或使用camcontrol降低tag数:
camcontrol tags da0 -N 64
HP Proliant DL380G4 可用
IBM x3250 可用
SUN
Lenovo

品牌笔记本

品牌 型号 状态 已知问题
Lenovo ThinkPad T61 可用 无线网卡目前不支持
Lenovo ThinkPad T60 可用 7.0以下版本无线网卡wpi不支持
Lenovo ThinkPad T43 可用
Lenovo ThinkPad R400 可用 蓝牙未尝试,摄像头可能无法使用,”硬盘安全气囊“可以检测震动但无法控制磁头

主板

品牌 型号 状态 已知问题
华硕 A8N-Sli-Deluxe 可用 N/A
华硕 M2A-VM 可用
华硕 P5B 可用 网卡经常失去响应
技嘉 GA-MA69VM-S2 可用 网卡经常失去响应
任何 intel-845pe 可用

显卡

型号 状态 备注
NV-fx5200 可用 完美

声卡

名字 状态 备注
intel-845pe-集成 可用 完美
ATI SB600 HDA(ASUS M2A-VM 集成) 可用 完美

USB设备

名字 状态 备注
蓝牙耳麦 不可用 仅指耳麦,非蓝牙其他

原文链接:http://wiki.freebsdchina.org/faq/hardware

配置你的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的Ports系统

FreeBSD的Ports系统

什么是 Ports 系统

简单的讲,一个 port 就是一个被移植到了 FreeBSD 上的软件。所有这些软件的集合,加上 FreeBSD 处理这些软件的各种工具,就是 Ports 系统。

Ports 系统有什么用

每一个被移植到 FreeBSD 上的软件(就是 Port),都能通过 Ports 系统中的工具方便有序的安装,升级,卸载。而且符合 FreeBSD 系统对应用软件施加的各种规范。免去了你到处寻找软件,自己编译,安装,升级的麻烦。借助这些 ports 维护者的努力,你也不用担心这些软件与系统不兼容导致无法安装升级等等。

怎么安装 Ports 系统

有三种方法来安装 Ports 系统:

1 安装系统时选择安装 Ports 系统

这是最简单的方法,但是也有缺点。因为 Ports 系统总是随时更新的。因此你从安装光盘上安装的 Ports 系统肯定不是最新的了。

2 使用 portsnap 安装/同步 ports 系统

这是推荐的方法。使用portsnap不需要事先安装 ports tree,并且能够在任何时候恢复到已知的最新状态(即使手工对ports tree进行了修改)。

使用 portsnap 分成两个步骤:下载压缩的 portsnap 快照,和更新现有系统。下载或更新 portsnap 快照的方法是 portsnap fetch;首次安装,或希望将 ports tree 恢复到快照的样子,应使用 portsnap extract;之后更新系统中的 ports tree,则可以通过 portsnap update 来完成。对于服务器而言,推荐在 crontab 中增加在每天3点执行 portsnap cron,以减少使用时所需要的下载时间。

首次下载 portsnap 快照时,需要下载一个大约50MB的快照基础文件。在中国大陆,由于网络状况的原因,这可能需要较长时间。可以考虑用 portsnap fetch -s portsnap.cn.freebsd.org 做首次下载;之后的下载,还是推荐使用正常的 portsnap fetch。

可以使用下面步骤完成上述情况

1.首先设置一个比较快的portsnap服务器,如果系统默认的地址你的访问速度也很快,可以不修改

#vi /etc/portsnap.conf设置SERVERNAME=portsnap.cn.freebsd.org ,你可以设置相对你速度快点的服务器的地址

2.执行下面命令

#portsnap fetch extract    这里直接下载ports并且解压这样就完成了下载ports系统以及解压到/usr下面了

3.设置最快的ports镜像

用ports安装软件的时候,如果没有设置相对于你来说最快的ports服务器地址,那就会默认的 ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/,这个地址对于很多地方来说是很慢的。

修改 /etc/make.conf 加入以下代码

MASTER_SITE_OVERRIDE=\
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}\
ftp://ftp.tw.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}如果你有最快的地址,可以加到上面去,下载就会块了

3 使用 csup/cvsup 安装/同步 Ports 系统

这种方法已经不再推荐使用。

不管事先你有没有安装 Ports 系统,你都可以使用 csup/cvsup (推荐使用 csup,这是基本系统中自己带的)来安装/同步最新的 Ports 系统。把 /usr/share/examples/cvsup/ports-supfile 拷贝到一个地方(比如 /home/user/tmp/ports-supfile),然后作适当的修改(比如修改要连接的服务器)。最后使用如下命令来安装/同步:

csup -L 2 /home/user/tmp/ports-supfilePorts 树的目录结构

假设你的 ports 树安装在默认位置 /usr/ports。

文件:

/usr/ports/CHANGES # ports 开发者、维护者等的记录文档。
/usr/ports/COPYRIGHT # ports 树的版权。
/usr/ports/GIDs # 一些 port 可能用到的组名称。
/usr/ports/INDEX-xxx # 每个 port 的摘要
/usr/ports/KNOBS # 编译 port 时需要的一些环境变量与解释。
/usr/ports/LEGAL # 某些 port 的协议限制。
/usr/ports/MOVED # 被移动/删除了的 port 列表。
/usr/ports/Makefile # ports 树总的 BSD Makefile。
/usr/ports/README
/usr/ports/UIDs # 一些 port 可能用到的用户名称。
/usr/ports/UPDATING # ports 树的更新记录以及建议。目录:

/usr/ports/Mk # 编译 port 需要的 Makefile 集合。
/usr/ports/Templates # 一些模板。
/usr/ports/Tools # 一些工具。
/var/db/ports # 包含所有进行过配置的可定制 port 的可选变量。每一个 port 占用一个目录。
/var/db/pkg # 包含所有已经安装的 port 的记录。用 pkg_add 安装的预编译好的包也会在此留下记录。除开以上文件和目录,其他所有的目录都是 ports。一个 port 的目录结构:

/usr/ports/分类/名称比如 firefox 被分类在 www。因此 firefox 在 ports 树中的位置就是:

/usr/ports/www/firefox使用 Ports 系统

1 查询

比如,你想知道 ports 中是否有 pidgin 这个软件,那么可以这样:

$cd /usr/ports
$make search key=pidgin同样也可以使用

$cd /usr/ports
$make search name=pidgin用上面两种方法查询时,显示的信息比较详细,包括维护者、依赖包、主页等内容。如果只想显示所在的路径和软件名称,则可以用

$cd /usr/ports
$make quicksearch name=php这样可以使显示的结果更清晰。

/usr/ports/README 中还有更多的例子可以参考。

2 安装

非常简单。比如你要安装 firefox,那么作为超级用户 root:

#cd /usr/ports/www/firefox
#make install clean3 卸载

要卸载 firefox 的话:

#cd /usr/ports/www/firefox
#make deinstall clean4 升级

要升级 firefox:

#cd /usr/ports/www/firefox
#make deinstall reinstall clean5 定制 port

有时候,你会发现安装某个 port 的时候会有奇怪的事情发生。比如 editors/vim,安装的时候竟然会自动安装 glib1 和 gtk1,而明明自己的系统上已经有了 glib2 和 gtk2。

这是因为有些 port 有很多不是默认的编译选项。这个时候你需要设定一些环境变量让 port 知道该怎么做。对于 editors/vim,你需要设定 WITH_GTK2 来让 vim 依赖 gtk2 而不是 gtk1。

你可以在 csh 下:

setenv WITH_GTK2或者在 bash 下:

export WITH_GTK2=yes也可以把这个选项写到 /etc/make.conf 里面:

WITH_GTK2=yes或者你也可以指定在更新/安装某个 port 的时候使用特定的环境变量。添加如下代码(注:csh 的语法,不是 sh/bash)到 /etc/make.conf 里面:

.if ${.CURDIR:M*/ports/editors/vim}
WITH_GTK2=yes
.endif这样下次升级 editors/vim 的时候就会自动依赖到 gtk2 而不是 gtk1 了。

类似的例子还包括 WITH_GECKO 环境变量。请阅读 ports/Mk/bsd.gecko.mk 来获得详细资料。

定制 Ports 系统

1 设定 Ports 树的位置

当你把 Ports 树放在非默认位置(/usr/ports)的时候,就需要修改一些环境变量让 Ports 中的工具知道你的修改。这个变量就是 PORTSDIR。 比如,你把 Ports 树放在了 /opt/ports,那么 在 sh/bash 中,执行如下命令:

export PORTSDIR=/opt/ports在 csh 中,你需要执行如下命令:

setenv PORTSDIR /opt/ports妥贴的办法是把这个环境变量放到超级用户 root 的 dot.cshrc 文件(/root/.cshrc)里面。又或者你想让普通用户也能用到这个环境变量,可以考虑放到 /etc/profile 或者 /etc/csh.cshrc 里面。

注意!如果你使用 portsnap 命令来同步 Ports 树,而你的 Ports 树不在默认位置,请在 /etc/portsnap.conf 中也设定你的 Ports 树的位置。

注意!如果你使用 csup/cvsup 同步 Ports 树,而你的 Ports 树不在默认位置,请在你的 ports-supfile 中也设定你的 Ports 树的位置。

2 设定 dist 文件的位置

所谓 dist 文件,就是 port 的源码。一般情况下,这些源码都是用 tar 打包然后用 bzip2 压缩的。默认的位置是在 $PORTSDIR/distfiles。 但是,你也可以把这些 dist 文件放到另外的地方。需要设定的环境变量就是 DISTDIR。你可以根据上面的例子来设定这个环境变量。

3 设定工作目录

如果没有设定工作目录,ports 系统默认在 port 的目录进行编译。比如你的 firefox 在 /usr/ports/www/firefox,那么默认将在 /usr/ports/www/firefox/work 下编译 firefox。这样有一个缺点,如果你的 /usr 目录不是很大的话,在编译某些大软件的时候,比如 gnome,kde 桌面系统时,你的 /usr 空间可能会不足。

解决的办法之一就是设定环境变量 WRKDIRPREFIX,比如

export WRKDIRPREFIX=/opt/obj/portbld这个时候 ports 系统就会到 /opt/obj/portbld/usr/ports/www/firefox/work 下编译 firefox。

Ports 管理工具

1 系统自带的工具

同步 ports

portsnap 是同步 ports 用的,前文已经作了介绍。

详细用法参照这里[URL:http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/ports-using.html](搜索“Portsnap 方式”)

为了方便,我在 csh 的配置文件里写入了如下 alias :

alias update-ports ‘portsnap fetch update’大家不妨参考一下。

维护 ports

pkg_add

pkg_create

pkg_delete

pkg_info

pkg_updating

pkg_version

注:

1.具体的用法请参考手册中的4.4、4.5节[URL:http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/ports.html]。

2.严格来说,pkg_add,pkg_updating并不是用于 ports 的工具,它们只能用于 package 。这里只是为了让大家全面了解,哪些是官方的东西。

2 推荐的第三方工具

主要工具

portupgrade

portupgrade是一个强大全面的工具,但是依赖于ruby。

个人没有用过,所以不多作评论,大家可以试一下。

portmaster

portmaster是一套仅使用系统软件,而不依赖其他ports的工具。

因为它没有依赖,很“纯”,功能也够用,所以个人比较推崇这个。

我在csh的配置文件里写了关于portmaster的如下alias:

alias update-apps ‘portmaster -a –force-config’
alias show-dep ‘portmaster –show-work ./ | sort’前者用来更新所有ports,并强制make config。

后者用来显示该软件的依赖,按已装和未装排序,需要事先进入那个软件的目录才能执行。

辅助工具

pkg_rmleaves

这个工具可以用来删除用不着的软件,其作用相当于Gentoo的emerge –depclean,或者Debian的orphaner(deborphan这个包)

它首先列出所有不被其他软件所依赖的“叶子节点”,或者说“孤立的软件包”(这意味着删除它们不会影响依赖关系)。

然后你可以手动指定哪些软件是你不需要的,

选中执行[OK]后,它会进一步筛选“叶子节点”。

如此递归之后,它可以保证该软件及其(不被其他软件依赖的)依赖被彻底清除。

pkg_cleanup

这个工具的作用和pkg_rmleaves完全一样,其工作原理也一致,不用担心两者冲突或者哪个剔除起来更彻底。

唯一的区别在于,这个软件能充分利用你的显示屏,另外能在上方显示出每个软件的描述,

比如上图中,光标停在了amarok这一行,它的上面就显示出amarok的介绍:“Media Player for KDE4”。

但是它存在一个“bug”,启动的时候光标虽然在第一行,但它不会显示描述,除非你上下移动光标。

这个小问题在man手册中有提及。总得来说它还是瑕不掩瑜。

pkg_cutleaves

这个工具也是用来清理孤立软件包的,它没有图形界面,

但是它支持配置文件,可以预先设定你需要保留的软件包,以后就直接cut,不必每次都做选择。

pkg_search

可能有的同学要问,怎样才能快速找到某个ports的位置呢,locate?find?

这个时候,我要向你推荐pkg_search。

pkg_search <name>可以让你快速找到该软件包的版本和描述,而加上参数-r,就可以知道它的位置。

pkgsearch

这个工具的作用和上述相同,但是它需要建立一个数据库,而且每次更新ports之后也要更新数据库。

看起来它的工作方式接近于Gentoo的eix。

portconf

它是用来设置全局的编译标记的,类似于Gentoo中设置的USE标记。 (详细内容待撰,哪位对它比较熟悉的帮个忙吧)

Ports 开发工具

portlint

当你写了一个新的 port 之后,可以使用 portlint 来检查自己的 port 是否符合 FreeBSD ports 的规范。

相关链接

中文 FAQ [URL:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/faq/applications.html]

中文手册 [URL:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/ports.html]

中文 Porter 手册 [URL:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/porters-handbook/]

FreshPorts 查看所有 ports 更新的站点 [URL:http://www.freshports.org/]

原文链接:http://wiki.freebsdchina.org/faq/ports

FreeBSD作弊条

FreeBSD作弊条

1.在 ls 时显示多种颜色

打开 /etc/csh.cshrc(全局生效) 或者 ~/.cshrc(当前用户有效),加入下列设置:

setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes

根据之前修改的配置文件,在命令行运行如下命令,以 /etc/csh.cshrc 为例:

source /etc/csh.cshrc

2.修改 rc.conf 之后让它立即生效

sh /etc/rc

3.新建一个空白文件

touch filename

4.清空文件内容但保留文件本身

cat /dev/null > filename

更简单的:

true > filename

5.快速注销

按下ctrl+d即可,代表EOF(End of File),适合于退出多种交互界面,如gdb、python、bc、ghci、数据库。

6.将 man 的内容转输出为 txt

man socket | col -b > socket.txt

7.让 grep 高亮匹配出的字符串

在/etc/csh.cshrc中加入如下配置

setenv GREP_OPTIONS –color=auto

8. 快速切换音频输出通道(snd_hda 驱动)

snd_hda 驱动可以通过 sysctl(8) 来快速切换是否使用前置音频接口还是后置音频接口(作为超级用户)

sysctl hw.snd.default_unit=1

默认 hw.snd.default_unit 为 0,就使用后置的音频接口,为 1 时使用前置。

原文链接:http://wiki.freebsdchina.org/doc/t/tip

FreeBSD 7.0 全程图解安装手册

FreeBSD 7.0 全程图解安装手册

FreeBSD 是一种优秀的 Unix 类操作系统,它以卓越的稳定性、安全性和性能著称,是目前主流服务器操作系统之一。就在不久前,FreeBSD 发布了一个新的重大版本 FreeBSD 7.0,新版本增加了许多优秀特性。现在我们以标准PC机为例,开始介绍 FreeBSD 7.0 的安装过程。

首先,你需要拥有 FreeBSD 7.0 的安装光盘,你可以在官方网站 http://www.freebsd.org/ 中下载到安装镜像,刻录成 CD 后使用。如果你是在虚拟机中安装,直接下载镜像即可。FreeBSD 7.0 的安装光盘有3张,格式为ISO。第一张光盘 7.0-RELEASE-i386-disc1.iso 可以满足最小安装,如果你还需要安装其他组件,还需要下载剩余两张光盘。

将第一张光盘载入光驱,将计算机设置为使用光盘引导启动。然后开启计算机。

启动计算机后,经过一些加载过程后,将载入 FreeBSD 引导画面,如下图:


现在,按回车键或数字1键,选择第一项使用默认方式启动 FreeBSD 安装程序。如果您不进行选择,安装程序会在十秒后自动使用此方式启动。


经过一些加载过程后,开始进入安装向导。进入向导前,首先会要求你选择所在国家。按键盘方向键选择 45 China 中国,为我们的国家,回车键确定。

下一个画面,是要求你选择键盘类型。中国地区和欧美地区都是使用美式键盘,我们可以直接使用默认选项 USA ISO,回车确认进入下一步。


正式进入了安装向导,FreeBSD 7.0 的安装程序名叫 Sysinstall。现在你看到的就是 Sysinstall 的主菜单,其中有各种安装选项。使用方向键选择 Standard 项目,回车确认,进入标准安装。


首先会看到一个安装提示消息框,确认即可。


现在看到的是分区向导,这里会列出你的硬盘信息。一般情况下,我们按键盘A键,使用自动分区功能,或者手工创建分区。这里我们按A键,自动分区完毕。按键盘Q键,完成分区。


这里是询问你安装何种硬盘引导程序。第一项是使用 FreeBSD 的启动引导程序,第二项是标准引导,第三项是不安装引导程序。如果我们安装单操作系统,请选择第二项。如果有多个操作系统,请选择第一项。第三项是不安装,这指使用目前已经有的其他操作系统的引导程序。我们选择第二项,确认。


再确认,进入分区向导。要注意的是 FreeBSD 的磁盘分区与 Windows 的分区概念不一样,除了硬盘分区之外,还有一个 Label 分区。我们依然按A键,使用自动分区,软件会为我们分配合适的磁盘分区与虚拟内存,按Q键完成。


现在看到的,是比较重要的部分,选择软件安装包。我们只需要一个全新干净的 FreeBSD,这里我们选择倒数第二项 Minimal 最小安装模式,按空格键确认。这里要注意的是,FreeBSD 有一个很方便的软件包管理和安装器,名叫ports,类似 Ubunut 的 Apt-get,一般我们都是必须安装的。我们再选择菜单最后一项,进入详细软件包设置。


使用空格键勾选 ports,然后再选择第一项 Exit,回到前一个菜单。然后同样选择第一项 Exit,结束选择。


询问我们所使用的安装介质,这里我们选择 CD/DVD,确认。


警告我们即将开始安装,将正式对硬盘进行写入操作。选择 Yes 开始安装,选 No 可以回到之前的安装步骤。


分区操作结束后,开始复制文件,FreeBSD 7.0 正在安装。


稍等片刻,提示安装完成。确认进入接下来的设置过程。


设置网卡,确认。


选择首项,一般是你的第一块本地网卡。然后会询问你是否是 IPv6 网络,目前我们主流网络依然是 IPv4,选择否。询问你是否使用 DHCP 网络自动配置网络,如果您的网络路由器开启了此功能,请务必选择是,否则选择否。


设置网络参数,如果您使用 DHCP 设置,现在已经设置完毕。如果不是,请手工填写网络信息。依次需要填写的项目是 主机名称、域名、IP地址、DNS服务器地址、网关地址、子网掩码与附加参数。如果你不知道这些信息,请咨询网络管理员。按Tab键切换表格项目,填写完毕选择 OK 结束。然后会提示你是否现在启动网络与自动启动网络,一般均选择是。


配置系统服务,选择 Yes 进入配置,No 则不配置。配置画面是一个文本编辑器,里面有各种服务参数,设置完毕按 Esc 结束,如果你不知道这是什么,请先不要设置或直接结束。


是否开启 SHH 功能,这是远程终端连接服务,一般服务器均开启。系统额外设置,选择否。

是否开启匿名 FTP 服务,选择否。NFS 服务器 与 NFS 客户端,选择否。


是否设置时间,选择是。稍后会提示你是否使用 UTC 时间,还是本机 CMOS 时间,根据需要选择。如果选择否,接下来需要选择时区,我们选择亚洲 Asia 的中国标准时间。


是否需要安装 Linux 软件兼容程序,如果选择是,你的操作系统就可以使用 Linux 的软件。根据需要设置。

设置鼠标,根据需要选择。


是否安装一些安装光盘自带的软件包,我们选择否即可。


建立用户,我们选择是,然后选择 User 项,建立一个新用户。


需要填写的内容依次是:登录用户名、用户ID、用户组、密码、完整名称、主目录与默认命令行程序,一般我们这里只要填写用户名和密码即可,选择 OK 完成。然后回到前一画面,你可以选择再建立其他用户或选择 Exit 结束用户建立过程。


提示设置 root 密码,root 是 FreeBSD 的最高权限用户,密码关系整机安全,请务必认真对待。输入新密码,按回车确认,再输入一遍并确认。这里输入的密码不会回显。


安装已经完成,选择 No,回到 Sysinstall 的安装主菜单。这里你可以进行其它设置,或者选择 Exit Install 或直接手工重启计算机,完成安装。这里会提示你是否真的退出,选择 Yes。

FreeBSD 已经安装完成,现在请务必取出所有安装光盘,否则系统重启后会再次进入安装程序。现在我们的计算机开始正常重启,重启后经过一些载入操作,进入 FreeBSD 操作系统。


这是 FreeBSD 的命令行启动完毕的主界面,提示输入登录用户名,我们可以使用刚才建立的新用户或 root 用户登陆,依次输入用户名和密码登陆。


登陆成功后,正式进入 FreeBSD。你可以输入一条命令执行,比如查看进程的 ps 命令,回车即可。测试你的操作系统是否可以正常使用。

到这里,FreeBSD 7.0 的安装过程已经结束,您已经可以开始探索 FreeBSD 伟大魅力了。

这是糯米平方的第一篇“多学两招”内容,介绍了 FreeBSD 7.0 操作系统的详细安装过程,如果您需要更深层的学习和了解 FreeBSD,请登陆 FreeBSD 的中文官方手册

原文链接:http://www.ittang.com/2008/0309/4832.html

FreeBSD下浏览器性能测试

用Futuremark新发布的免费浏览器在线测试软件Peacekeeper对FreeBSD下常用浏览器进行测试。

今天收到一条消息,《Futuremark发布免费浏览器在线测试软件Peacekeeper》,一时兴起,测试了我所用的浏览器在FreeBSD下的表现。

测试平台:

硬件:

  • AMD TL-52炫龙,1.6G
  • 内存1.5G
  • 集成显卡gForce 6150 GO

软件:FreeBSD-7.1-release-p3,显卡驱动nv,xorg7.4

测试对象:Opera 10、Opera 9.64、FireFox 3.07、Midori 0.12(webkit-gtk2-1.01)、Arora 0.40(qtwebkit-4.4.3)

说明:为确保公平,以及尽可能模拟平时使用的情况,这里,一次将所有的浏览器都打开,并保留上次浏览的页面(大概opera10有20多个标签,opera9.64有10多个,firefox有3个,其他都一个)。每次测试都是将其他的浏览器最小化,测试用的最大化。因为不想装Kde和Kde4,所以就没有测试konqueror,改用arora代替。同样的还有galoen和epiphany,用midori代替。firefox2与firefox3不能同时使用,所以改用seamonkey代替。以下是测试结果。

FreeBSD下浏览器性能测试结果

Peacekeeper将两个webkit的浏览器都识别成unknown。这里我们要说明下,其中最低的139分,是arora(qtwebkit)取得的,而最高的435分,则是midori(webkit-gtk)取得的,很有趣的结果。不幸的是,webkit的浏览器显示gbk编码的页面的时候都有问题,也容易崩溃,实用性不是很强。期望qt4.5内置的webkit,能有大的改善。

而两个主流的浏览器,firefox和opera,其中firefox安装了不少扩展,因为平时就用得着。测试结果看,firefox的表现要好于opera9.64,但比opera 10要差。由于不想添加更多的扩展,比如快速拨号和鼠标手势,再加上,opera内置邮件功能,我平时还是用opera比较多。估计如果是windows平台的话,chrome还是更强。不过,我还是喜欢opera,性能和好用之间,我选择后者。至于firefox,只是不太适合我的使用习惯而已,并不是不好。

以下是测试地址:Futuremark Peacekeeper[URL:http://service.futuremark.com/peacekeeper/index.action]

原文链接:http://www.sudown.cn/show-3073-1.html

FreeBSD桌面系统常用软件清单

其实说实话,如果只有一台电脑要用来学习 FreeBSD 或者是工作的话,没有 X 还真是相当的不方便,我的本本上安装的 FreeBSD  也是安装了 X 的。但是让我感觉郁闷的是,经常会找不到一些合适的软件来使用。所谓适合,是指像 windows 下的多数软件一样,好上手、尽量中文界面、能够容易处理中文的软件。借鉴多年前《电脑报》的一个经验,我觉得有必要列出我们觉得合适的常用软件,无论是日常使用、程序开发、服务器安装配置等,只要是你觉得好用的软件,希望大家罗列出来,让后来人少走一些弯路,也借以推广 FreeBSD 在大陆(在港台地区,FB 的用户水平是相当高的,这个是差距,不承认也没用)的普及和使用。

眼下,我列举出我本本上安装的用途常见的软件名称,然后做一个简单的分类。如果大家列举上来的软件名称没有在我目前的分类中,还希望大家给出一个大致的分类及简要描述,举例如下:

软件分类:开发类 软件名称:eclipse 软件作用:java程序开发 简要使用描述:java 程序开发,中文IDE 界面,容易处理中文  等

如果大家觉得打字麻烦,可以直接使用如下形式跟帖:

开发类; eclipse; java程序开发; java 程序开发,中文IDE 界面,容易处理中文。

我会定期更新至本贴一楼。谢谢。

一、基础类

xorg――没得说,运行 X ,现在是它一家独大
XFree86――曾经很辉煌,哈哈
GNOME2――我就习惯了GNOME,没办法
make/gcc ―― 已经属于最小系统中的程序了,就不用多说了。但是在其他的 Unix / Linux 下不一定是基础安装哦

二、日常应用类

1、文本编辑

vi ―― Unix 下的通用文本编辑器。啥?你不会用?不急不急,有 ee 和 emacs 可以考虑
gedit――GNOME 桌面捆绑的,貌似很好用,就是有时会出一点点小问题,比如无法选择正文文字
Madedit――我用来替代 gedit 的,也是相当不错的一个文本编辑器
OpenOffice.org(OOo)――早老就不自己编译那东东,了耗时间,还没怎么用过

2、文档查看

Adobe Reader(acroread)――很著名的 PDF 浏览软件,但是我用着常出问题,现在使用 “文档查看器(好像是 GNOME 捆绑的)”来代替,xpdf 的话有时好像不能正确显示中文。
chmsee ―― chm 文档的查看器,不过我用着好像也常出问题,现在用 CHM 阅读器(好像也是GNOME 捆绑的?)来代替。
图像查看器 ―― 像“windows 图片和传真查看器”一样简单的图片查看器,貌似也是 GNOME 捆绑的(汗,现在我真的晓得了为什么 windows 会如此流行了,你装一个系统,里面就有了好多的东西,真的很容易使用,只是价格上。。。。)

3、图像处理

GIMP ―― 没得说,Unix 下的 PhotoShop

4、压缩解压

tar ―― Unix 下的通用打包程序,没了它你还真的不好弄
rar/unrar       |
zip/unzip       | >―― 不是下载的任何东西都是 tar 打包的
gzip/gunzip   |

5、影音播放

mplayer ―― Unix 下的很好用的视频播放器
电影播放机 ―― 又是 GNOME 捆绑的,在你的 mplayer 不好用的情况下,它是另一个解决方案
xmms ―― Unix 下的很好用的音频播放器
realplay ―― 这个就不用多说了吧,不过我装着也常出问题

6、浏览器

Firefox ―― Unix 下的使用率非常高
Opera ―― Unix 下的使用率还是比较高的,访问国外网站,我觉得它还是相当不错的,只是国内的网站不知道怎么搞的,它有时会拉拉肚子
Safari ―― 原来听说是 MAC 下的东东,没用过
chrome ―― 传说是 Google 的浏览器,改天有空试下,不知道是不是像 Google 的搜索引擎一样棒

7、即时通信(IM) 类

pidgin ―― 一个程序包含了多种协议,瑞士军刀一样的 IM 工具
web qq ―― 这个不是程序,只是国人大多喜欢 QQ,又没有一个比较好的解决方案,我就列出来,大家参考下就行了

8、FTP 类

gftp ―― 我用着也是老出问题,所以用 IglooFTP 来代替的
IglooFTP ―― 我比较喜欢用这个,GUI 界面,能较好支持中文,可惜的是不是中文界面
ftp ―― 系统自带的 ftp 命令,也是不错的东东
wget ―― 我安装系统是必备的

三、开发类

vim ―― 开发高手常用的编辑器了
emacs ―― 同上
eclipse ―― 开发 java 程序的,听说过,没用过

四、服务器类

1、Web
apache/nginx ―― Web 服务器

2、FTP server
vsftpd ―― 相当著名的 FTP 服务器端
wu-ftpd ―― 曾经很流行
proftpd ―― 没有使用过
pureftpd ―― 还是没有使用过

3、database
mysql ―― 相当流行的开源数据库服务器
PortgreSQL ―― 也是相当流行的开源数据库服务器

原文链接:http://www.chenyan.org/thread-1780047-1-1.html

安装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