Main

April 13, 2006

抵制flash

delphij发布了一项声明,抵制adobedv对EULA的修改。虽然随着新的ibook的到来,freebsd不再是我笔记本的桌面系统,但就我对freebsd上flash的情况所知,这个声明是相当重要和必要的。

delphij在freebsdchina论坛对此事作了进一步说明

搞不懂adobe在做什么,所有人都在忙着扩大市场份额,还有人要把用户轰走。

我支持抵制flash,除了freebsd这档子事,flash用的最多的还是广告,糟糕的美工写出来的flash往往让cpu直奔100%而去。还是阻挡了swf用起来放心。

December 31, 2005

freebsd.org已经被屏蔽

今天发现,freebsd.org无法访问。这是不可能发生的事情,穿墙访问成功。确认被封。

上freebsdchina.org论坛,发现全国都不能访问了。看来是被封了。

我除了骂人真是无话可说了。难道他们对free这个词已经过敏到这种地步了??

打电话到网通投诉,等回复。

如果您也是freebsd的用户,请分别致电当地网通/电信以及集团公司投诉。或许能有点帮助。我真得很悲观。哎。

December 23, 2005

在freebsd 上安装lighttpd

听说lighttpd这个web server很好,速度很快,内存占用小。于是打算装一个看看。

lighttpd已经port在freebsd里面了。到/usr/ports/www/lighttpd下面make config ,选定需要的东西,然后make install安装就可以了。

装后需要一个配置文件,可以先用默认的。
cp /usr/local/etc/lighttpd.conf.sample /usr/local/etc/lighttpd.conf
然后用
echo lighttpd_enable=\"YES\" >> /etc/rc.conf (是>>不是>,千万别错了)
/usr/local/etc/rc.d/lighttpd.sh start
第一次启动,可能会碰上一些问题。

我碰上的依此有:

1
# /usr/local/etc/rc.d/lighttpd.sh start
Starting lighttpd.
2005-12-22 23:18:30: (server.c.418) Are you nuts ? Don't apply a SUID bit to this binary

这个错误原因是/usr/local/sbin/lighttpd 的owner是root,而lighttpd.conf里面写了:
## change uid to <uid> (default: don't care)
server.username            = "www"

## change uid to <uid> (default: don't care)
server.groupname           = "www"

所以我们需要chown www /usr/local/sbin/lighttpd

2 # 2005-12-22 23:32:36: (mod_accesslog.c.512) opening access-log failed: Permission denied /var/log/lighttpd.access.log
2005-12-22 23:32:36: (server.c.670) Configuration of plugins failed. Going down.

这是因为www没有权限在/var/log建立文件。同样还有lighttpd.error.log也会报出来类似错误。
touch /var/log/lighttpd.access.log
touch /var/log/lighttpd.error.log
同样给www读写权限。
chown www /var/log/lighttpd.access.log
chmod 666 /var/log/lighttpd.access.log
...
这样就可以了。


再来/usr/local/etc/rc.d/lighttpd.sh start 就可以启动了。

November 10, 2005

如何编译FreeBSD 6.0支持无线网卡

如何编译FreeBSD 6.0支持无线网卡

FreeBSD 6.0 Release加入了对无线设备的支持,今天尝试了一下。

刚刚安装好的内核是不支持无线设备的,需要重新编译。

如果没做过,可参考http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/kernelconfig-building.html

简单说一下:
先复制一个配置文件
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
然后修改MYKERNEL,里面选项的意思参考前面的文档。

编译无线支持需要保留device wlan,device pci,然后按照自己的设备类型选择。
我用的是intel网卡ipw,这个配置文件中没有,所以自己加上device ipw。

确认无误用make buildkernel KERNCONF=MYKERNEL编译。
安装:# make installkernel KERNCONF=MYKERNEL

修改/boot/loader.conf,加入

if_ipw_load="YES"
wlan_load="YES"

重新启动之后,ifconfig应该就能看到ipw0这个设备了。
这时候还不能用,要加载firmware。我是通过安装ports/net/ipw-firmware实现的。

安装后,用 ipwcontrol -i ipw -f /usr/local/share/ipw-firmware/ipw.fw 加载。

最后用ifconfig激活设备就可以用了。
需要注意的是,如果使用WEP,需要先加载相关模块。
在/boot/loader.conf加入wlan_wep_load="YES"
然后用:
ifconfig ipw0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net \
wepkey 0x01020304050607080910111213 deftxkey 1 wepmode on

注意:6.0之前用的是weptxkey ,现在变成了deftxkey。

这样就可以用了。

参考资料:

http://www.freebsd.org/cgi/man.cgi?query=ipw&sektion=4&manpath=FreeBSD+6.0-RELEASE

http://damien.bergamini.free.fr/ipw/ipw-freebsd.html

October 21, 2005

FreeBSD 中使用Opera速度慢的问题

某一天开始,Opera突然变慢了。尤其是输入地址的时候,总要停顿一下,甚至有可能让整个wm静止。这个现象很奇怪,是突然出现的,而且明显不正常。

查看log,看最近做过什么操作。

发现疑点最大的是从ports安装了一个xpdf和chinese/xpf的cmap补丁。

然后又发现gtk的字体有点异常,似乎不是通常用的TureType字体了。

怀疑与字体有关。于是xlsfonts | grep simsun 发现没有结果。

果然是TrueType字体不见了。

查看/usr/X11R6/lib/X11/fonts,我曾经在这里mkdir了TrueType,并且copy了simsun.ttf进去。但现在发现这个目录里面东西很多,似乎是安装cmap的时候装进来的。

在此目录尝试ttmkfdir,出错。把出错的文件都删掉,再来一次,成功。

然后fc-cache -fv 刷新字体缓存,重新启动x,这时候xlsfons | grep simsun,找到结果了。

再打开opera,一切正常。

结论,渲染字体是个很麻烦的事情,大部分显示上的异常都跟这个有点关系。

我的firefox屏幕滚动很慢的问题,似乎也和这个有关,但还没找到解决办法。1

October 14, 2005

我的FreeBSD

笔记本的硬盘坏了之后,心有不甘,后来想想,干脆利用这个机会,换一次操作系统吧。
(以前怪癖中说过,我最不喜欢升级软件,当然也不喜欢重装系统。)



说作就作。以往曾经有一次,被BSD的中文问题搞的晕头转向,这次有点怕,虽然我不在乎系统是否中文,但是处理中文的能力还是必不可少的,否则我怎么写blog,怎么跟别人聊天?



linux在这方面处理的好点,毕竟用的人多,发行版也多。逐个比较了一番,初步选定了Debian,但是我周围没人用过这个版本。怎么办?我想起来我订阅的blog中,有一个叫做“海豚微笑的背后
的blogger用的是debian,于是,我决定写一封邮件,问问他的感受。邮件发出,以前从来没有过交往,这次我就很冒昧的问了一堆问题。这哥们是个
好人,当天晚上我就收到了他的回信,不仅回答了我的问题,而且还给我推荐了几个不错的站点。嗯,有了这个保证,我顿时信心满满。下载了net-
install cd img,刻了光盘,就等转天新硬盘到手了。


次日中午,dell的工程师来换了新的硬盘。我的linux之旅开始了。

安装非常顺利,debian的安装程序非常好,甚至我认为比win 2000的安装程序还要强大,该配置的东西都配置好了,我觉得对于普通的家庭用户,应该也足可以操作自如了───事实上,所有配置都可以自动完成,顺畅得很。



如果愿意使用经典的gnome的话,应该就可以很顺利的装上,正常使用了。偏偏我不喜欢gnome,太大了。我不需要一套什么都有的工
具,我只是需要一个能运行图形程序的平台而已──否则,我需要用的firefox什么的怎么办?因此,我决定自己安装一个非常简单的icewm。


这时候就出问题了。我先试图从网络上安装一个字体包,不幸出错,报告找不到这个包,但从此以后,无论用apt_get安装什么东西,都
无法进行,不找到这个包,誓死不继续。我用了很多办法想解决这个问题,可惜都不管用。google搜索,只有新闻组里面找到有2个相关的文章,可也都没提
出解决的办法。(转天海豚告诉了我,是因为我没有在source.list里面加入那个站点)


这时候已经是晚上21:00了。



转天我怎么也要用这台机器。这么没头没脑的折腾下去,恐怕不妙。要不干脆换BSD?那个我还熟悉点。最终决定,就这么作了。debian的中文问题解决的不错,于是我找到了相关的配置文件,都看了一遍,大概明白了应该怎么作。想来应该差不多吧。不怕,装了看看。



家里有FreeBSD 5.3 release的光盘,拿出来,开始装。一路顺利。其实FreeBSD的安装程序也很好,但充满了太多的隐喻和吓人的名词,这个无论如何也比不上debian的。



装好之后,按照刚才学到的配置方法配置了一下,果然中文问题顺利解决了。

后面就都很顺利了,安装各种应用程序,重新编译内核。最终终于搭出来了一套我需要的工作环境。

安装的时候,有一些比较特殊的地方,应该注意,记录在此,希望能给其他朋友一些帮助。



1 gtk的中文问题是最烦人的。解决方法很简单,make -DWITH_GTK2 install
这样可以把gtk的程序用gtk2来编译,虽然会多安装很多gtk2的东西,但是gtk2以后肯定也是少不了要装的。
安装好之后,就可以在home目录或~中用.gtkrc-2.0来配置gtk的字体问题了。



2 vim的中文问题,可以在~/.vimrc中配置,加上set encoding=cp936即可




3 其实,台湾的statue有一份chinese how-to 文档,如果真正用心看懂了,基本就不会被中文问题困扰了。我过去虽然读过,但是因为急功近利,没有好好读,结果搞出来那么多问题。
地址在此:http://freebsd.sinica.edu.tw/~statue/zh-tut/index.html



4 发现一个叫做ion的桌面管理器,http://iki.fi/tuomov/ion/,有兴趣的话不妨试试,我现在没那么多时间,恐怕难以深入,不过还是装了,准备闲暇时候抽时间玩一玩。




附:我的一些配置文件


~/.gtkrc-2.0

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

style "gtk-default-zh-cn" {
font_name = "Sans 12"
}
class "GtkWidget" style "gtk-default-zh-cn"


~/.vimrc

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

" Maintainer:   Bram Moolenaar <Bram@vim.org>
" Last change: 2002 Sep 19
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc
" for OpenVMS: sys$login:.vimrc
"colorscheme desert
set encoding=cp936
set guifont=SimSun\ 12
set shiftwidth=4
set tabstop=4
set expandtab
if has("multi_byte")
set encoding=utf-8
setglobal fileencoding=utf-8
set fileencoding=gb2312
set bomb
set termencoding=gb2312
set fileencodings=ucs-bom,gb2312,utf-8,latin1
" set guifont=-misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1
" set guifontwide=-misc-fixed-medium-r-normal-*-18-120-100-100-c-180-iso10646-1
else
echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
endif
" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif

" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible

" allow backspacing over everything in insert mode
set backspace=indent,eol,start

if has("vms")
set nobackup " do not keep a backup file, use versions instead
else
set backup " keep a backup file
set backupdir=/usr/local/vibackup
endif
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching

" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
" let &guioptions = substitute(&guioptions, "t", "", "g")

" Don't use Ex mode, use Q for formatting
map Q gq

" This is an alternative that also works in block mode, but the deleted
" text is lost and it only works for putting the current register.
"vnoremap p "_dp

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif

" Only do this part when compiled with support for autocommands.
if has("autocmd")

" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
" 'cindent' is on in C files, etc.
" Also load indent files, to automatically do language-dependent indenting.
filetype plugin indent on

" Put these in an autocmd group, so that we can delete them easily.
augroup vimrcEx
au!

" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78

" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif

augroup END

else

set autoindent " always set autoindenting on

endif " has("autocmd")


~/.fonts.conf

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

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/X11R6/lib/X11/fonts</dir>
<!-- Default fonts -->
<match target="font">
<test name="pixelsize" compare="less_eq">
<double>14</double>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="size" compare="less_eq">
<double>14</double>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>

about me:
me.jpg
CC License. Some rights reserved.
署名·非商业用途·保持一致
本站之所有未作特别说明的内容均使用 创作共用协议.
POWERED_BY_MT_3.2