2012年11月

#!/bin/bash

# A Linux Shell Script with common rules for IPTABLES Firewall.

# By default this script only open port 80, 22, 53 (input)

# All outgoing traffic is allowed (default - output)

# -------------------------------------------------------------------------

# Copyright (c) 2004 nixCraft project <http://cyberciti.biz/fb/>

# This script is licensed under GNU GPL version 2.0 or above

# -------------------------------------------------------------------------

# This script is part of nixCraft shell script collection (NSSC)

# Visit http://bash.cyberciti.biz/ for more information.

# -------------------------------------------------------------------------

 

IPT="/sbin/iptables"

SPAMLIST="blockedip"

SPAMDROPMSG="BLOCKED IP DROP"

 

echo "Starting IPv4 Wall..."

$IPT -F

$IPT -X

$IPT -t nat -F

$IPT -t nat -X

$IPT -t mangle -F

$IPT -t mangle -X

modprobe ip_conntrack

 

[ -f /root/scripts/blocked.ips.txt ] && BADIPS=$(egrep -v -E "^#|^$" /root/scripts/blocked.ips.txt)

 

PUB_IF="eth0"

 

#unlimited

$IPT -A INPUT -i lo -j ACCEPT

$IPT -A OUTPUT -o lo -j ACCEPT

 

# DROP all incomming traffic

$IPT -P INPUT DROP

$IPT -P OUTPUT DROP

$IPT -P FORWARD DROP

 

if [ -f /root/scripts/blocked.ips.txt ];

then

# create a new iptables list

$IPT -N $SPAMLIST

 

for ipblock in $BADIPS

do

$IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"

$IPT -A $SPAMLIST -s $ipblock -j DROP

done

 

$IPT -I INPUT -j $SPAMLIST

$IPT -I OUTPUT -j $SPAMLIST

$IPT -I FORWARD -j $SPAMLIST

fi

 

# Block sync

$IPT -A INPUT -i ${PUB_IF} -p tcp ! --syn -m state --state NEW -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Drop Sync"

$IPT -A INPUT -i ${PUB_IF} -p tcp ! --syn -m state --state NEW -j DROP

 

# Block Fragments

$IPT -A INPUT -i ${PUB_IF} -f -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Fragments Packets"

$IPT -A INPUT -i ${PUB_IF} -f -j DROP

 

# Block bad stuff

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL ALL -j DROP

 

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL NONE -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "NULL Packets"

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL NONE -j DROP # NULL packets

 

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

 

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "XMAS Packets"

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP #XMAS

 

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags FIN,ACK FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Fin Packets Scan"

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags FIN,ACK FIN -j DROP # FIN packet scans

 

$IPT -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

 

# Allow full outgoing connection but no incomming stuff

$IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

 

# Allow ssh

$IPT -A INPUT -p tcp --destination-port 22 -j ACCEPT

 

# allow incomming ICMP ping pong stuff

$IPT -A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT

 

# Allow port 53 tcp/udp (DNS Server)

$IPT -A INPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

 

$IPT -A INPUT -p tcp --destination-port 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

 

# Open port 80

$IPT -A INPUT -p tcp --destination-port 80 -j ACCEPT

##### Add your rules below ######

 

##### END your rules ############

 

# Do not log smb/windows sharing packets - too much logging

$IPT -A INPUT -p tcp -i eth0 --dport 137:139 -j REJECT

$IPT -A INPUT -p udp -i eth0 --dport 137:139 -j REJECT

 

# log everything else and drop

$IPT -A INPUT -j LOG

$IPT -A FORWARD -j LOG

$IPT -A INPUT -j DROP

exit 0

---------------------------------------------------------

How do I install and use this script?

Type the following command as root server:

# mkdir /root/scripts

# cd /root/scripts

# wget http://bash.cyberciti.biz/dl/381.sh.zip

# wget http://bash.cyberciti.biz/dl/151.sh.zip

# unzip 381.sh.zip

# unzip 151.sh.zip

# mv 381.sh start.fw

# mv 151.sh stop.fw

# chmod +x *.fw

Now edit firewall as per your requirements:
# vi /root/scripts/start.fw
Install firewall:
# echo '/root/scripts/start.fw' >> /etc/rc.local

How do I start firewall from a shell prompt?

# /root/scripts/start.fw

How do I stop firewall from a shell prompt?

# /root/scripts/stop.fw

网络校时

#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

给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 用户名 -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:\

:charset=zh_CN.UTF-8:\

:lang=zh_CN.UTF-8:\

:setenv=LC_ALL=zh_CN.UTF-8:\

:setenv=LC_COLLATE=zh_CN.UTF-8:\

:setenv=LC_CTYPE=zh_CN.UTF-8:

 

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

 

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

在/boot/loader.conf 加入 snd_hda_load="YES"

#echo 'snd_hda_load="YES"'>> /boot/loader.conf

(更详细的说明参见http://cnsnap.cn.freebsd.org/doc ... ok/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 ... dbook/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显卡驱动所必须的)

#kldloadlinux

#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 ... mu-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>

上面几行不加也可以反正也关不了机,只能退出Xfce4。

再普通用户下执行

% echo "/usr/local/bin/startxfce4" >> ~/.xinitrc

以后startx就可以进桌面了。我有时候需要在非X下所以我没有装GDM。如果需要开机直接进入桌面就吧GDM装上就可以。

 

安装scim 拼音输入法

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

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

%echo 'export XMODIFIERS='@im=SCIM''>> ~/.xinitrc

%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

在/etc/fstab中加入:

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

参见handbook:http://cnsnap.cn.freebsd.org/doc ... sktop-browsers.html

如果平时不用flash还是建议不要装了。现在的这个版本占用资源还是有点高,有时候firefox会卡。

 

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

 

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

 

安装galculator(计算器)

#cd /usr/ports/math/galculator

#make install clean

 

安装Thunderbird(邮件客户端)

#cd /usr/ports/mail/thunderbird

#make BATCH=YES install clean

 

安装Thunderbire语言包

#cd /usr/ports/mail/thunderbird-i18n

#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来更改带宽控制模式。

 

添加服务器列表:

点击servers>Import Server.met输入http://ed2k.im/server.met(放心都是安全服务器列表)

或者下载下来手工导入:servers "/home/username/server.met"

 

添加overnet启动用户列表:

ov_load "/home/username/contact.dat"

 

添加kad节点信息

下载地址:http://emulefans.com/emule-kad-node-dat/

kad_load "/home/username/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/下。

JDK US DST Timezone Update Tool这个文件需要在网站(http://java.sun.com/javase/downloads/index.jsp)注册才能下载。

关键是版本和Makefile里的对不上,我下载的时候Makefile里的是tzupdater-1_3_29-2010f.zip可是网站上给的已经是JDK DST Timezone Update Tool - 1.3.31了,没办法有点小崩溃。

freebsd.org的论坛上发现也有几个哥们儿遇到了这问题,他们给出的解决办法是取消TZUPDATE的默认选项。cd /usr/ports/java/diablo-jdk16 && make config 取消TZUPDATE前面的X。

 

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

 

-------------------------------------------------------------------------------------------------

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

#!/bin/sh

#make DEPENDS_TARGET=package package 这个命令的意思是 打包一个ports并将依赖也一起打包

#make BATCH=YES 这个命令的意思是 使用默认选项

#把用ports安装的软件都打包到下面的目录

#mkdir -p /usr/ports/packages/All/

#安装并打包

#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

首先在命令行界面,使用如下命令 打开配置文件

ee /etc/rc.conf

查看文件中是否有如下信息

moused_enable="YES"

moused_nodefault_enable="YES"

dbus_enable="YES"

hald_enable="YES"

 

你的rc.conf文件里是否有这些内容,如果没有,添加上,如果有,看是否一样,

注意:后面的值,一定要大写 如“YES”不能写“yes”

光盘安装FreeBSD 8.1, Xorg, 和Gnome 2.3:

 

FreeBSD 8.1 DVD, 安装.

distribution选的all.

pakages选的Xorg meta port, 和 Gnome 2 meta port

50分钟左右安装完成

 

----------------------------------------------

设置网卡

 

1. ifconfig 找到网卡

2. 在/etc/rc.conf里面加

ifconfig_re0="inet 本机地址 netmask 掩码地址" #用你的网卡代替re0

defaultrouter=" 网关地址"

3. 在/etc/resolv.conf里面加

nameserver DNS的地址

 

重启动, 网络ok

 

---------------------------------------------------

设置Xorg和Gnome

 

1./etc/rc.conf里面加

hald_enable="YES"

dbus_enable="YES"

这样X11可以找到键盘鼠标

2. 运行

Xorg -configure

$home里面生成一个xorg.conf.new文件

3.测试Xorg -config xorg.conf.new -retro

会看到一个黑白格的桌面和中央一个X

用Ctrl-Alt- F1调出tty0, 按Ctrl-C退出X测试

4. 编辑xorg.conf.new文件, 在"Section Screen"区里, 加上DefaultDepth 24; 在SubSection Display区里, 加上Modes 屏幕宽x屏幕高. 像下面这样:

Section "Screen"

Identifier "Screen0"

Device "Card0"

Monitor "Monitor0"

DefaultDepth 24

SubSection "Display"

Viewport 0 0

Depth 24

Modes "1024x768"

EndSubSection

EndSection

5. copy编辑好的conf文件到指定位置:

cp xorg.conf.new /etc/X11/xorg.conf

 

X11 设置完成, 下面是Gnome设置

 

6. 如果之前没有使用其他的display manager, 这一步很简单:

在~/.xinitrc文件里加入:

/usr/local/bin/gnome-session

startx

gnome桌面就启动了

 

------------------------------------------------

安装文泉驿中文字体:

# whereis wqy

wqy: /usr/ports/x11-fonts/wqy

# cd /usr/ports/x11-fonts/wqy

# make install clean

15分钟左右ok

 

让X系统启动时载入字体。

编辑/etc/X11/xorg.conf

在Section "Files"里面加一行,FontPath "/usr/local/lib/X11/fonts/wqy"像下面这样

Section "Files"

ModulePath "/usr/local/lib/xorg/modules"

FontPath "/usr/local/lib/X11/fonts/misc/"

FontPath "/usr/local/lib/X11/fonts/TTF/"

FontPath "/usr/local/lib/X11/fonts/OTF"

FontPath "/usr/local/lib/X11/fonts/Type1/"

FontPath "/usr/local/lib/X11/fonts/100dpi/"

FontPath "/usr/local/lib/X11/fonts/75dpi/"

FontPath "/usr/local/lib/X11/fonts/wqy"

EndSection

 

--------------------------------------------------------------

安装ibus输入法

 

方法一:

pkg_add -r zh-ibus-pinyin

自动安装ibus和拼音输入法

 

方法二:

1 # pkg_add -r ibus 安装ibus

2 如下安装拼音输入法

# whereis ibus-pinyin

# ibus-pinyin: /usr/ports/chinese/ibus-pinyin

# cd /usr/ports/chinese/ibus-pinyin

# make install clean

需时约30分钟

 

设置启用ibus:

1.设置locale为UTF-8字符集

如果用csh或者tcsh, .cshrc 中增加

setenv LANG zh_CN.UTF-8

#桌面界面语言为中文 [如果remark掉,则桌面菜单等仍为英文]

setenv LC_CTYPE zh_CN.UTF-8

#locale的character type为UTF-8中文. [如果remark掉,将无法调出中文输入法]

setenv LC_ALL zh_CN.UTF-8

#暂不清楚,推测是locale各项设置改为中文 [remark掉无影响]

 

如果用sh, .shrc中增加 [如果用bash, .bashrc中增加]

export LANG=zh_CN.UTF-8

#桌面界面语言为中文 [如果remark掉,则桌面菜单等仍为英文]

export LC_ALL=zh_CN.UTF-8

#locale的character type为UTF-8中文. [如果remark掉,将无法调出中文输入法]

export LC_ALL=zh_CN.UTF-8

#暂不清楚,推测是locale各项设置改为中文 [remark掉无影响]

 

2.让ibus daemon随X一起启动

.xinitrc中增加

XIM=ibus

GTK_IM_MODULE=ibus

QT_IM_MODULE=xim

XMODIFIERS='@im=ibus'

XIM_PROGRAM="ibus-daemon"

XIM_ARGS="--daemonize --xim"

 

[参考一里有下面的说明, 这部分干啥用的?没照做也ok了]

.profile中添加

export LC_ALL=zh_CN.UTF-8

 

重启, startx, 在panel右击ibus图标->preferences->input method->select an input method->Chinese->pinyin, 点击Add, 点close.

 

ibus设置ok了.

 

参考一: http://alexshots.blog.163.com/blog/static/112112020108284599116/ [freebsd 8.1 如何安装中文拼音输入法ibus-pinyin]

 

参考二: ibus安装后的提示信息[after pkd_add -r ibus]:

 

ibus installation finished. To use ibus, please do the following:

 

If you are using bash, please add following lines to your $HOME/.bashrc:

 

export XIM=ibus

export GTK_IM_MODULE=ibus

export QT_IM_MODULE=xim

export XMODIFIERS=@im=ibus

export XIM_PROGRAM="ibus-daemon"

export XIM_ARGS="--daemonize --xim"

 

If you are using tcsh, please add following lines to your $HOME/.cshrc:

 

setenv XIM ibus

setenv GTK_IM_MODULE ibus

setenv QT_IM_MODULE xim

setenv XMODIFIERS @im=ibus

setenv XIM_PROGRAM ibus-daemon

setenv XIM_ARGS "--daemonize --xim"

 

If you are using KDE4, you may create a shell script in $HOME/.kde4/env,

and add following lines:

 

#!/bin/sh

export XIM=ibus

export GTK_IM_MODULE=ibus

export QT_IM_MODULE=xim

export XMODIFIERS=@im=ibus

export XIM_PROGRAM="ibus-daemon"

export XIM_ARGS="--daemonize --xim"

 

Following input methods/engines are available in ports:

 

chinese/ibus-chewing Chewing engine for IBus

chinese/ibus-pinyin The PinYin input method

japanese/ibus-anthy Anthy engine for IBus

japanese/ibus-skk SKK engine for IBus

textproc/ibus-kmfl KMFL IMEngine for IBus framework

textproc/ibus-m17n The m17n IMEngine for IBus framework

textproc/ibus-table Table based IM framework for IBus

 

and QT4 input method module, textproc/ibus-qt.

 

If ibus cannot start or the panel does not appear, please ensure

that you are using up-to-date python.

There's a bug in python 2.5, which may prevent the panel from appearing.

 

------------------------------------

声卡驱动安装

 

1.先安装meta驱动试验:

# kldload snd_driver

 

检查是否有声音

# cat anyfile > /dev/dsp 有声音

 

然后查看驱动加载情况:

#cat /dev/sndstat

FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)

Installed devices:

pcm0: <HDA Realtek ALC889 PCM #0 Analog> (play/rec) default

pcm1: <HDA Realtek ALC889 PCM #1 Analog> (play/rec)

pcm2: <HDA Realtek ALC889 PCM #2 Digital> (play)

pcm3: <HDA Realtek ALC889 PCM #3 Digital> (play)

pcm4: <HDA ATI RS690/780 HDMI PCM #0 HDMI> (play)

 

一般会显示出driver名字, 例如snd_ich. 但这里没有,好在根据HDA猜到了时snd_hda, 并且在FreeBSD说明里找到了snd_hda支持此Realtek ALC889

2. 修改 /boot/loader.conf

snd_hda_load="YES"

 

重启动无声, 然后

#cat /dev/sndstat

FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)

Installed devices:

pcm0: <HDA ATI RS690/780 HDMI PCM #0 HDMI> (play) default

pcm1: <HDA Realtek ALC889 PCM #0 Analog> (play/rec)

pcm2: <HDA Realtek ALC889 PCM #1 Analog> (play/rec)

pcm3: <HDA Realtek ALC889 PCM #2 Digital> (play)

pcm4: <HDA Realtek ALC889 PCM #3 Digital> (play)

发现此时的pcm0跟Generic driver时不同了,变成了HDMI输出,由于音箱不在HDMI上,因此判断应该将default输出指定到现在的pcm1上

 

# sysctl hw.snd.default_unit=1

hw.snd.default_unit: 0 -> 1

 

检查是否有声音

# cat anyfile > /dev/dsp 有声音

 

3. 将此设置放到 /etc/sysctl.conf

hw.snd.default_unit=1

重启动ok

①ports的目录在/usr/ports。

 

②POSTS安装软件有时可能这个包已经安装过了,会有提示,无法继续安装,能够用提示中的参数

 

#make install clean FORCE_PKG_REGISTER=yes

这样就能够继续安装了,yes不区分大小写。

 

③PORTS安装软件时有时能够下载回来的包的md5值不匹配,能够加参数强制安装。

 

#make install clean NO_CHECKSUM=yes

④如何查找安装一个ports软件

 

假如知道文件的详细名字,能够直接用whereis

 

#whereis php5

假如不知道细致文件名,能够用:

 

#cd /usr/ports

#make search name=php

假如只知晓描述性主要字,能够用:

 

#cd /usr/ports/

#make search key=php

⑤如何查找已完装软件包的信息

 

#pkg_info

用管道命令过滤定位

 

#pkg_info grep php

⑥如何删除一个软件包

 

#pkg_delete 软件包细致名,细致名称能够用pkg_info grep 管道命令查出。

 

加上-f 参数,能够删除一人别的软件对其有依靠联系的软件包

 

#pkg_delete -f 软件包细致名

 

⑦PORTS安装软件后,如何修改配置

 

有些POST包安装时会有蓝色配置挑选页,通常选过一次后就不会再显示了

 

#make rmconfig 删除配置,须要有root权限

 

#make reconfig 重新配置,须要有root权限

 

⑧重新安装已安装ports软件包

 

#make reinstall

⑨删险已安装ports软件包

 

#make deinstall

#make clean

⑩如果系统默认的下载地址失效了,你可尝试手动下载tbz软件包,然后用pkg_add 软件包名直接安装。