| Profilo di Fwolf温暖的耗子窝BlogElenchi | Guida |
|
28/05/2006 Walking Tall/威震八方
玩wwe的改行拍电影就是好,他们的身体比搞健美的更灵巧,比搞健身的更有力量,并且对于动作场面轻车熟路,实在是太抢镜头了,这部电影也是 rock一个人的show。在其他方面,影片毫无建树,因此豆瓣上只有一个人看过,imdb上也只有5.9的低分。豆瓣上这部片子同名的一共有两部,imdb上也是,看来是1973年老片的 翻拍,老片子还得到了6.5分呢,不过和很多片子一样,我关注的不是片子本身,而是它背后的故事。 片子最前端就声明了,"INSPIRED BY A TRUE STORY",根据真人真事改编,这种改编本不稀奇,可以片子的内容是什么呢?一个退役特种兵回到家乡,发现了不合法的事情,投诉警察也不管,于是他就自己作了警长,开除了原来的所有腐败警察,并且独自一人端掉了制毒、贩毒窝点,没有什么"你可以保持沉默",也没有法庭审判,就是直接把这些恶棍给放倒了。这可不是一件容易的事情,贩毒制毒的可都是玩命之徒,而自己只有一个人,imdb上1973年版有关于真人真事的说明:
简单解释一下,就是Buford Pusser独自铲除了自己家乡的犯罪和腐败,并且失去了一位亲人,差点连自己的也丧命,more中说,with a four-foot-long wooden club用一根四英尺长的木棍作为武器,这也是片中rock手持木棍的来历了,正好也符合rock一般不用枪的形象。片名"Walking Tall"是片中的一句台词,"当我小时候在家乡的时候,人人都Walking Tall,而现在情况却完全改变了"。 同样的故事在美国可以拍成这样,在香港也能,但主角事后会被判刑,而在我们伟大的祖国,警察不会坏掉一窝的,警长也不能独自包揽如此大功劳,必定有市领导、书记、纪检监察机关"协力"完成。。。。 我们的电影工作者真是一窝蜂啊,刚从大辫子戏中跳出来,现在满世界都是警匪片,也不知道都是什么人喜欢看这种片子,警察么?我们这里没有英雄警察,都是领导英明,看罪犯么?罪犯有什么好看的?还是抽时间写写老百姓的事情吧,就像贫嘴张大民,阳光的快乐生活,这才贴近生活嘛。见义勇为需要英雄主义精神,如果我们的电影不在一定程度上宣扬个人英雄主义,大家都作和事佬,谁还会勇于挺身?都让我们的英雄警察忙活好了,没听说过那个见义勇为负伤的英雄的事迹被改编成电影的,很是遗憾。。。 有一个土耳其人正在和我talk,我那蹩脚的英语,不光聊天不顺,还影响写观后感,上面都写了些什么乱七八糟的啊,不过打这些字不容易,留着吧,过路的省点砖用于建设社会主义好了。 27/05/2006 Mean Machine/监狱风波
这大概是一部很少人看的片子,豆瓣上没有评论,加上我也只有3个人看过,2个人想看而已。也难怪,2001年的片子,导演和演员也不是十分出名,加上又不是什么大制作,知道的人自然就少了。 不过,在离德国世界杯仅有十几天的今天,欣赏这部电影的确感觉不错。我承认我很少看足球,主要是因为不喜欢,或者是没空,但并不代表我就排斥或者讨厌足球,体育类的电影我也是很少看的,不过影片一开始,Vinnie Jones 那张具有恶棍特征的脸吸引了我,暗示着影片不会是一潭死水,吸引这我看下去。Vinnie Jones在片中的表现可谓深沉,面对自己背叛的全英国球迷,面对陌生的监狱环境,以及极其不友善的狱警和狱友,却意外得到了一个得以发挥特长的机会,组建罪犯足球队并和狱警足球队比赛。当然英雄的征途是坎坷的,犯人们的不信任,狱警的百般刁难,以及黑白两巨头施加的压力,虽然在片中并没有太刻意的进行描画,但都通过 Vinnie Jones脸上的褶子体现了出来。最终他终于冲出了过去的阴影,砸碎枷锁,得到了解放。 片中展现的资本主义监狱可谓复杂,说他好吧,狱警们那么凶,说关禁闭就关禁闭,说栽赃就栽赃,说他黑暗吧,犯人们却有吃有喝,能听音乐,还能贴满强的海报,就连"坏人都害怕的坏人",想锻炼身体的时候都有两名警官陪同,真是天堂和地狱的"城乡结合部"。 在片中还可以窥见足球暴力的一面,狱警和犯人本身就是两个对立的集体,现在又在一场合法的对抗中进行一项充满暴力的体育比赛,自然火爆万分,但是足球就是这样,虽然有着完善的制度,还有好几名裁判,但暴力仍然无法避免,裁判也不是万能的,也许这就是矛盾但美丽十足的足球。只可惜导演太保守,片中讲解足球中的"合法"暴力的时候,为了节约篇幅,23种方法只介绍了5种:-)。 Jason Statham这个长得有点想布鲁斯·威利的家伙在本片中演一个杀人狂守门员,如果别人也都像他那样,那就成了少林足球中的魔鬼队了。不过豆瓣上居然说这家伙是主演,瞎写啊,幸好我虽然只认脸不知道名字,但是imdb上的数据还是很有用的。 26/05/2006 Soldier of Change/军人的转变
这是一部节奏缓慢、感情细腻的生活剧,本来不善于也不想写这些感受的,可以豆瓣上不知谁写的简介实在是太烂太搞笑了,甚至简直就是胡扯!这个片子中其实根本就没有战争,我只看到了亲情、爱情,以及对种族主义的仇恨。英文的简介倒算是勉强"忠实"于原著。。。 虽然从导演到演员一个也不认识,看过这部的人也不多,但掩饰不了本片的光芒。演员们的表演都很好,尤其是b先生和老仆人。不过要想看下去的话,得找个清静点的时候,泡杯茶慢慢看。 23/05/2006 让phpmailer支持中文名称的附件phpmailer设置使用utf-8编码发送邮件以后,已经能够正常的发送中文邮件了,当然你调用时传进去的中文参数必须也是utf-8编码才行,但是我发现,即使这样,发送中文文件名的附件的时候,附件名称不能正确的显示。 比如我们要发送的附件是"测试.txt",如果在添加附件的时候强制使用指定文件名的方式:
$mail->AddAttachment($attach, $attach);
那么发送过去的附件文件名将会是乱码,如果不指定:
$mail->AddAttachment($attach, $attach);
那么发送过去的文件名中的中文干脆没了,成了".txt"。 究其原因,打开class.phpmailer.php,在大概第1007行左右,函数AddAttachment中,有一句
$filename = basename($path);
原因就在这里,现在我们使用的php 5.1.2,包括他以前的很多版本,basename函数和dirname函数都是不支持中文文件名的,所以一解析就把中文给过滤掉了。而如果强行指定文件名为什么还乱码呢,这是因为phpmailer虽然会自动根据你设定的编码方式给主题、正文进行utf-8编码化,但是却不会给附件的文件名编码。现在,只需要修改上面这一句,就能够同时解决这两方面的问题了。修改结果如下:
//$filename = basename($path);
if (false === strpos($path, '/')) $filename = $this->EncodeHeader($path); else $filename = $this->EncodeHeader(substr($path, strrpos($path, '/') + 1)); 不使用basename函数了,改用自己的方法来得到文件名,并且借用了主题Subject的编码函数EncodeHeader来生成utf-8编码形式的附件名称,搞定。 22/05/2006 [代发]如何申请带”.”用户名的雅虎邮箱
感谢 向往海 提供,gmail id : longforsea。 下面是我在GMAIL群里聊天,告诉别人,雅虎中文邮箱,和雅虎英文邮箱,如何申请带"."用户名的聊天记录,你有兴趣可以整理一下,发到自己博客上,给大家共享。 2006-05-22 12:35:29 向往海 2006-05-22 12:35:42 向往海 2006-05-22 12:36:08 ②Ο岁 2006-05-22 12:36:22 向往海 2006-05-22 12:37:01 向往海 不过雅虎中文不支持加点 以注册abc.ddd@yahoo.com.cn的了 2006-05-22 14:12:31 天道酬勤 2006-05-22 15:17:59 向往海 2006-05-22 15:18:00 向往海 21/05/2006 The Great Raid/大偷袭
非常不错的片子,虽然描写的只是二战后期的一次小规模的营救,但是影片在前面的铺垫、悬念的安排和冲突的迅速爆发以及结束各个方面呈现得都非常完美,也没有拖沓的地方。 影片描述的是一群1941年在菲律宾被俘的美国战俘,被日本人关押在集中营中,其中大部分受伤或者生病(身体好的都拉到别的地方作劳工了,就像The Bridge on the River Kwai/桂河大桥 里面描述的那样)。而到了1944年,美军麦克阿瑟将军重新在菲律宾登录,向日军展开反攻,日军在败退的同时,也在暗地里安排杀害战俘的计划。而此时美军前进的道路上必须经过这个集中营——日本人肯定不会让战俘活着迎接解放的。一群新兵,被委派任务营救这些战俘,而这个任务是上级指挥官都没有把握的,加上对战局影响不大,所以就没有派精锐,我想历史也应该是这样的。但是,在周密的计划和菲律宾本地游击队的密切配合下,这群新兵顺利得完成了任务,甚至可以说是完胜——120多人袭击500人关押的集中营,并且附近不远处还驻扎有11000名日本兵,结果只是美军阵亡1人,菲律宾游击队死亡12人,战俘死亡1人(还是因为救回来以后病得太重死的)的代价,解救了511名战俘,并且还全歼了集中营守军! 其实看这部电影还有似曾相识的感觉,地下党、游击队、夜袭、炸桥、炸坦克、牛车(比我们的独轮车要高级些),如果把片中的美军换成八路军,吧菲律宾游击队换成中国的游击队,今年八一就肯定全国巡演了。 按照片尾的字幕,这次营救是美军史上最成功的营救,他成功的原因是多方面的,从美军这边看:
而日军就要稍微差一些了,不过倒也没有像国民党军队那样窝囊:
电影中还有两个人物让我有些费解,一个是集中营中后来病死的那位军官,看他除了是地下党送药的目的之外,在战俘营中好像没有发挥多大的作用呀。另外一个是戴三角洲帽的那个军官,虽然本次任务的精神核心,但是无论是从决策、方案、实施、配合哪个方面看,没有看到他发挥了关键作用,到后来居然和什么事情都一肩挑的指挥官一样,都是优质服务勋章,当官就是好啊。 火星人玩转地球( Mars Attacks!)
虽然这是一部10年前拍摄的电影了,片中特技也能看出明显的痕迹,但是我还是非常喜欢看这部片子。片子颠覆了我们心目中的外星人形象,能有如此大胆想像力的剧本可不好找,如果10年后的今天再来重拍这部电影,应该和 Hitchhiker's guide to the galaxy/银河系漫游指南一样另类。 同是大胆的想象力也产生了某种巧合,Mars Attacks!/火星人玩转地球中美国总统很容易就被外星人给咔嚓了,无独有偶 Hitchhiker's guide to the galaxy/银河系漫游指南中的银河系总统居然是一个长着两个脑袋的无赖。能够把"总统"描写到这种地步的也就是这两部电影了,印象中美国总统在电影里也就死过这么一次。相比之下 Independence Day/独立日中的美国总统就英雄得多了(这部片子没准儿应该进小学课本,算爱国主义教育的一部分XD)。Independence Day/独立日和 Mars Attacks!/火星人玩转地球都上映于1996年,这也算一种巧合吧。 科幻片中的外星人大多比地球人类强大,强大到用人类的武器几乎无法伤害到他们,但是电影中的人类是不会被毁灭的,命运和巧合在这个时候起到了关键性的作用。如果说Independence Day/独立日 中用计算机病毒破坏外星人的网络(他们如果用的是IPV8呢,嘿嘿,穿帮了吧),从而使人类得以顺利消灭入侵者有些牵强的话,那么War of the Worlds/世界之战中外星人被病毒消灭就是天公作美了,而 Mars Attacks!/火星人玩转地球中外星人被音乐作掉就更是天马行空的想像了。 不过话说回来,还是我们人类最"皮实",无论是残酷的自然、恶劣的环境、无尽的贪念、信仰的丧失、人性的丑陋,都无法阻止人类社会的前进和种族的繁衍,和那些貌似强大而又十分脆弱的外星人相比,我们简直就是"异形"啊。 20/05/2006 老爷机就用Xfce吧
一般我们安装ubuntu,桌面默认的是gnome,还有一部分朋友用惯了kde,会换过去。但是如果电脑比较破,速度比较慢的话,gnome可能会比较慢,不过不要紧,我们可以换用更精简的Xfce桌面。
apt-get install xfce4 安装非常简单,也不大,默认的安装只安装了一些最基本的东西,包括菜单、面板、桌面、窗口等的管理,默认的文件管理器是thunar,不过需要手工装上,不喜欢的话可以换rox-filer,这个更简单,和thunar相比只是不能同时列目录树和文件而已。原来gnome下安装过的软件也都自动识别并且放到菜单里面了。 刚装上的时候可能会不适应,因为不像gnome那么完整,只在左上角有一个按钮,按下去还没反应。没有关系,在桌面上点一下右键,菜单就出来了,settings下面找到settings manager,就可以进行设置了。刚才看到左上角的那个只是一个panel,在上面点击右键就可以修改或者增加新的panel了。 有人觉得xfce下中文比较大或者有问题,由于我的电脑已经在gnome下安装过中文了,所以中文都能够正常显示,但是字体不协调,scim输入法的字体尤其小得出奇。这个在"User Interface Preference"里面先把fong调整为10号字(这样英文字体大小就比较合适了),然后在scim的Panel->GTK里面设置使用的字体为12号大小就可以了。 另外xfce的窗口最大化之后,还是可以改变大小的,当然当在最大化状态下改变窗口大小时,最大化状态就取消了。但是我习惯了鼠标移动到屏幕最右边就能点到滚动条上的设置,现在鼠标在最右边点的是改变窗口大小,暂时没有完美的解决方法,不过可以按Shift+Alt+右方向键,把窗口调到超出屏幕右侧一点就可以了。 初步感觉Xfce还是比gnome要快一些的,但好像和gnome相比少了不少东西,比如电池状态、笔记本上的快捷键之类的,不过没关系,需要的时候可以再退出登录换会gnome,这就是linux的方便之处。 18/05/2006 一个bash script的简单例子(if case的使用)
在局域网环境中工作,经常要访问别人的电脑,而他们大多还在使用windows,所以要反复的mount、umount共享目录,烦死了,并且不umount还不行,别人一关机,这边再操作就要停顿半天没反应。所以编写了一个小小的shell script,简化这些工作。代码、注释和说明都在一起了,应该不用再多解释了吧。 #! /bin/bash
# 如果不输入参数,则提示命令的用法
# 注意判断条件的这个表达式是用英文方括号[]包含的,
# 并且[后面和]前面必须各有一个空格,没有的话会报错
# 另外then必须另起一行,要不也报错
# 输出的字符串中包含|,所以必须引起来,不然就成了管道操作符了
# 如果实在不想用引号,可以在|前面加上\就可以了
if [ 0 = $# ]
then
echo "Usage: mmount destination [d|del|delete]"
exit
fi
# 看看当前用户是否root用户,不是的话就要使用sudo
if [ 0 = $UID ]
then
SUDO=""
else
SUDO="sudo "
fi
# 根据第一个参数判断要处理的是那个共享目录
# 为了方面调用,共享目录名称采用了"机器名-共享目录名"的简单方式
# 在这里识别出来之后再指定其详细的参数
case $1 in
xjl-e) DEST=//xjl/e
PS: vi中用:TOhtml命令生成的html颜色代码怎么就和看起来差别那么大呢,选了半天也不知道用什么颜色的背景最合适。darkolivegreen ? midnightblue? yellowgreen ? 一个bash script的简单例子(if case的使用)
在局域网环境中工作,经常要访问别人的电脑,而他们大多还在使用windows,所以要反复的mount、umount共享目录,烦死了,并且不umount还不行,别人一关机,这边再操作就要停顿半天没反应。所以编写了一个小小的shell script,简化这些工作。代码、注释和说明都在一起了,应该不用再多解释了吧。 #! /bin/bash
# 如果不输入参数,则提示命令的用法
# 注意判断条件的这个表达式是用英文方括号[]包含的,
# 并且[后面和]前面必须各有一个空格,没有的话会报错
# 另外then必须另起一行,要不也报错
# 输出的字符串中包含|,所以必须引起来,不然就成了管道操作符了
# 如果实在不想用引号,可以在|前面加上\就可以了
if [ 0 = $# ]
then
echo "Usage: mmount destination [d|del|delete]"
exit
fi
# 看看当前用户是否root用户,不是的话就要使用sudo
if [ 0 = $UID ]
then
SUDO=""
else
SUDO="sudo "
fi
# 根据第一个参数判断要处理的是那个共享目录
# 为了方面调用,共享目录名称采用了"机器名-共享目录名"的简单方式
# 在这里识别出来之后再指定其详细的参数
case $1 in
xjl-e) DEST=//xjl/e
PS: vi中用:TOhtml命令生成的html颜色代码怎么就和看起来差别那么大呢,选了半天也不知道用什么颜色的背景最合适。darkolivegreen ? midnightblue? yellowgreen ? 一个bash script的简单例子(if case的使用)
在局域网环境中工作,经常要访问别人的电脑,而他们大多还在使用windows,所以要反复的mount、umount共享目录,烦死了,并且不umount还不行,别人一关机,这边再操作就要停顿半天没反应。所以编写了一个小小的shell script,简化这些工作。代码、注释和说明都在一起了,应该不用再多解释了吧。 #! /bin/bash
# 如果不输入参数,则提示命令的用法
# 注意判断条件的这个表达式是用英文方括号[]包含的,
# 并且[后面和]前面必须各有一个空格,没有的话会报错
# 另外then必须另起一行,要不也报错
# 输出的字符串中包含|,所以必须引起来,不然就成了管道操作符了
# 如果实在不想用引号,可以在|前面加上\就可以了
if [ 0 = $# ]
then
echo "Usage: mmount destination [d|del|delete]"
exit
fi
# 看看当前用户是否root用户,不是的话就要使用sudo
if [ 0 = $UID ]
then
SUDO=""
else
SUDO="sudo "
fi
# 根据第一个参数判断要处理的是那个共享目录
# 为了方面调用,共享目录名称采用了"机器名-共享目录名"的简单方式
# 在这里识别出来之后再指定其详细的参数
case $1 in
xjl-e) DEST=//xjl/e
PS: vi中用:TOhtml命令生成的html颜色代码怎么就和看起来差别那么大呢,选了半天也不知道用什么颜色的背景最合适。darkolivegreen ? midnightblue? yellowgreen ? 17/05/2006 [Ubuntu]明明白白安装中文字体
Ubuntu 6.06 dapper对中文的支持应该说是一向不错的,包括现在默认安装就包含了scim输入法。然而,一般安装的ubuntu虽然能够显示、输入中文了,但总觉得所显示的中文像歪瓜裂枣,很是别扭。这是很无奈的,也不是linux的错,这是因为现在几乎没有免费的中文字体库来给我们用,大家平时使用习惯了的winxp里面的宋体、还有方正排版系统里面的仿宋体、公文中的方正小标宋等等,这些字体都是商业公司开发出来用在自己的产品中的,是有版权的,所以linux不能拿过来就用。如果你还没有听说过字体有版权的话,上网搜索一下"
胡万进"吧,这位老兄就是当年在微软从事字体制作的一位员工,他所制作的字体的版权就是归微软公司所有。我们国家虽然对IT产业非常关注,但是更关注windows,对开源社区和自由软件的支持几乎没有,直到今天也没有投资开发出一套免费的字体供大家使用。不过幸好有怀着共产主义信念的好同志,为我们提供了免费的替代方案,现在我们可以使用
圆体美化,还有开源的
文泉驿(域名2)可以用。 本文则是参考如何使用xp带的字体来进行中文美化?一文,实践中文字体的安装,并对ubuntu的字体体系更加深入的了解一下,这样以后再安装任何字体就都不怕了。 一、准备字体文件 我一直认为,如果我拥有了一套windows xp的使用权(通过oem方式),那么我就同时拥有了对这份windows产品的只用于我个人的任意使用权,这里面包括了对其中的字体的使用权。所以,本文中将winxp的字体拷贝到linux下使用的做法,应该是没有侵权的。 windows的字体一般存放在c:\windows\fonts目录下,我拷贝到linux下的字体有:
simfang.ttf 仿宋体
simhei.ttf 黑体 simkai.ttf 楷体 simsun.ttf 宋体和新宋体,原文件名simsun.ttc tahoma.ttf tahoma字体 tahomabd.ttf tahoma字体的粗体形式 verdana.ttf verdana字体 verdanab.ttf verdana字体的粗体形式 verdanai.ttf verdana字体的斜体形式 verdanaz.ttf verdana字体的粗体+斜体形式 拷贝过来的字体文件放在了/home/fwolf/tools/fonts目录下。 二、将字体加入到linux的可使用字体中 首先把字体文件链接到存放字体的目录中
cd /usr/share/fonts
ln -s /home/fwolf/tools/fonts xpfonts cd xpfonts mkfontscale mkfontdir 这样作和把字体拷贝到/usr/share/fonts的一个目录下的效果是一样的。后面的两个mkfont命令是生成xpfonts目录下所包含的字体的索引信息。然后运行fc-cache命令更新字体缓存:
fc-cache
现在,应该说linux就可以使用这些新装上的中文字体了,看一下openoffic里的截图吧: 其中仿宋体的字体名是FangSong_GB2312,黑体是SimHei,楷体是KaiTi_GB2312,宋体是SimSun,字体名暂时都不是中文的。 三、修改/etc/fonts/fonts.conf的字体渲染顺序 让我们一边修改,一边分析fonts.conf这个文件的内容吧,注意部分注释(<–和–>之间的内容)和无关紧要或者重复的内容我将跳过不再解释。
声明这个文件是一个xml文档
xml文档的格式声明(dtd = document type define) xml文件需要的根节点
DO NOT EDIT THIS FILE.
IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED. LOCAL CHANGES BELONG IN 'local.conf'. 文档中提示不要手工修改fonts.conf,个人的设定可以写入local.conf文件,并且会自动被fonts.conf读入,不过我现在还不知道怎么创建这个文件,等知道了再公布出来吧,现在先拿fonts.conf开刀,反正预先已经作了备份。 所有字体文件存放的位置,其中第一个就是我们刚才放字体文件的目录/usr/share/fonts。
Accept deprecated 'mono' alias, replacing it with 'monospace'
–> mono monospace 将本文件中的别名mono替换成全称monospace,这是xml的一个自动替换声明,使用别名的目的应该是为了简化书写或者维持对旧版本的兼容。后面还有几个替换就不再一一介绍了。
Serif faces
–> Bitstream Vera Serif Vera Sans YuanTi Times Times New Roman Serif字型将要使用的字体顺序。当要显示Serif字型的内容时,就从下面这个列表中选择字体,匹配顺序是自上而下。可以看到已经安装的圆体美化再这里作了修改。如果我们想把宋体作为首选,就在Bitstream Vera Serif字体前面比葫芦画瓢加上一行就可以了。 至于什么是Serif字型,以及Sans-serif字型,可以看一下细说字体 Sans Serif 与 Serif 和serif vs sans serif这两篇文章,说明的很详细。我觉得把他们叫做字型或者字族,相对于字体来说,更贴切一些。 下面的Sans-serif faces、Monospace faces段中处理方式相同。
If the font still has no generic name, add sans-serif
–> 又是三个替换,大概意思是如果上面的字体匹配还不成功,就尝试使用sans-serif、serif、monospace的默认字体来替换,最后如果还替换不成功,强制使用sans-serif字体。(不知道这么理解是否正确)
Some Asian fonts misadvertise themselves as monospaced when
in fact they are dual-spaced (half and full). This makes FreeType very confused as it forces all widths to match. Undo this magic by disabling the width forcing code –> GulimChe false 一些亚洲字体实际使用了等宽字体,但是却没有明确的声明,这段就是为了兼容这个进行的处理,保持不变即可。
The Bitstream Vera fonts have GASP entries suggesting that hinting be
disabled below 8 ppem, but FreeType ignores those, preferring to use the data found in the instructed hints. The initial Vera release didn't include the right instructions in the 'prep' table. Fix this by disabling hinting manually at smaller sizes (< 8ppem) –> 修正Bitstream Vera字体在小于8点的时候的显示问题,保持不变即可。
Load local system customization file
local.conf 加载配置文件local.conf,下面的~/.fonts.conf也是一样。
Provide required aliases for standard names
–> serif Bitstream Vera Serif 又是三个系列字型的字体别名,不知道这个和前面的类似设置是怎么个关系,大概前面设置的是备选字体,这里是推荐字体?不过照例把我们的SimSun加进去。
Artificial oblique for fonts without an italic or oblique version
–> 对没有斜体字的字体的处理方法,保持不变即可。
Synthetic emboldening for fonts that do not have bold face available
–> 没有黑体字的字体的处理方法,保持不变即可。
These are the default Unicode chars that are expected to be blank
in fonts. All other blank chars are assumed to be broken and won't appear in the resulting charsets –> Unicode编码中在所有字体中都应该显示为空的编码表,保持不变即可。
–>
每隔30秒钟就重新检查一下本设置文件(看设置改变了没有),保持不变即可。 至此,标准的配置文件就结束了,我们需要作的主要修改也都完成了。重启X应该就能看到宋体中文的界面了。不过在fonts.conf还可以作一些其他的字体处理设置,这个在圆体美化所带的那个fonts.conf中有例子,比如:
这就是指明在对Vera Sans YuanTi字体的处理中,globaladvance参数设置为false,其他的设置也多是这种语法,具体的含义和效果我就不知道了:)。 四、中文字体显示优化 按照上面的方法配置好以后,宋体能够显示了,但是字体有些发虚,那么一种简单的方法就是在 系统->首选项->字体(system->preference->font) 中选择单色(Monochrome),但是这样所有的字体包括英文字体都会有一点点的小锯齿,那么替代的方法就是通过修改fonts.conf,去掉宋体的反锯齿,并且用黑体替代宋体的粗体。在fonts.conf中添加: SimSun bold SimHei SimSun false 为什么要用黑体替代宋体的粗体呢,因为宋体字体其实是不含粗体的,windows下也是,只是windows采用了更高级一些的方法来间接实现了宋体的粗体而已。 小结 以上就是简单的中文字体设置方法,和我对fonts.conf的简单理解,希望能对大家有用,也希望过路大侠指正错误和不足之处。另外还可以参考一下一个详细的汉化美化方案(freetype/fontconfig/xft) ,分析得比我深入多了。 16/05/2006 The Ninja Text Generator先看图片吧,很有趣的哦: 那个小忍者会用剑把你指定的句子"划"出来,只可惜不支持中文,只支持如下字符: 0123456789 abcdefghijklmnopqrstuvwxyz -_+.=/\*@,;:()!?' 另外它还提供了贴图的辅助功能,确定好句子、它为你生成图片之后,不需要自己保存图片再贴到网上,它提供了一种格式,直接调用就可以了(包括html和vbb两种格式),句子的内容也含在了图片的网址里面,或者就是把生成之后的图片保存到服务器上了。 另外一个美中不足就是支持的句子太短了 一个离奇的php header函数问题的解决
Ubuntu上的apache、php5、mysql5都已经安装完毕了,phpMyAdmin也能够管理数据库了,接下来就是把以前apache上的程序再运行起来了。第一个Brim很顺利,除了和win下一样会有notice错误报告;第二个是mantis,一个bug跟踪系统,在这里就遇到了问题。 mantis的数据库配置正常,apache的虚拟目录配置也正常,访问/mantis时却是个空白页,php的error_reporting设置的是E_ALL,error_log和display_log都打开着呢,怎么会不显示内容呢。故意加了个语法错误在index.php中,发现浏览时会提示语法错误,errorlog中也有相应的内容。但就是正常访问的时候既不显示内容,也不提示错误,errorlog中也是没有变化。 于是开始跟踪代码,mantis 0.19.2,虽然include比较多,但是很容易就判断出:我的机器上尚存有保留的登录记录,因此index.php判断出登录状态之后就会把页面跳转到main_page.php,而问题极有可能就是出现在这个跳转上:
print_header_redirect( 'main_page.php' );
跟进函数print_header_redirect,在core/print_api.php中:
function print_header_redirect( $p_url, $p_die = true ) {
… header( "Location: $p_url" ); 就是一个简单的header函数,怎么会不干活呢?于是在header函数前面加上die('test');,刷新页面显示test,又改为在header函数后面加上die('test');,再刷新页面还是只显示test,header都是不工作。按理说我这两种操作方式,哪怕不起作用,总也会有个错误提示吧,但是再次查看errorlog文件,依然空手而归。 一个下午就在反复的检查设置、测试、跟踪代码、查找问题中过去了,还好没有放弃,最终把问题集中到了错误报告上面。我的php环境中错误的显示、保存都已经设置好了,但是无论怎么在这个程序里面添加错误的代码,就是不显示和保存错误(这里的保存指错误信息被存到errorlog文件中)。但是另外建了一个简单的测试文件,错误也能显示和保存,header还能够正常的工作。这不是出鬼了么,同样的apache,不同的虚拟目录,就能够有这么大的差别? 继续查找。。。直到吃过晚饭之后,终于发现,在core/error_api.php中,有一句:
set_error_handler( 'error_handler' );
后面还有function error_handler,并且这个文件是一大堆被包含文件之一。原来,mantis使用error_handler函数接管了php的错误处理,怪不得什么错误信息都不显示呢。现在,注释掉这一句,错误信息就能够显示了,并且header也能够正常工作了。但是把注释去掉,就又不行了,没办法,就先暂时用系统自带的错误处理功能吧,现在用的mantis 0.19.2版本是老了些,需要升级了,等升级完应该就没事了。 总结:在调试php程序的时候,错误报告对我们是十分有用的,但是在程序明显出错而又看不见错误的时候,别忘了有可能是程序使用set_error_handler函数接管了错误的处理,错误就不会显示和写入errorlog文件了。同样还有set_output_handler接管输出(输出过滤)等类似函数。 15/05/2006 汉芯事件,处理不过如此
用棕榈油冒充调和油,用维生素冒充高级保健品,用根本就没有的品牌打着外国精品的旗号在国内作市场,这念头真是无奇不有,也难怪,事情败露之后,大不了罚点钱,还可以换个山头东山再起嘛。 汉芯现在已经比龙芯要知名的多了,连纽约时报都知道了, 上海交大也公布了处理结果。然而处理结果却是如此得不疼不痒,让人联想起了贪污几千万,判刑10年,抢劫几百万,枪毙的巨大反差。 应该说现在的中国"很"重视知识产权的保护了,重视到我们的国家领导都跑到外国人家里去商量,可是现在被我们自己人糊弄了,却只有这几下花拳绣腿: 撤销职务、解聘、取消资格、取消称号、追缴经费、终止项目。 可怜呀,欺骗了这么多的人,却都只是被红头文件处理,事主没准儿还在哪儿逍遥呢,我们"强大"的法律在哪里?为什么就没有人起诉他诈骗?为什么法律的武器在现在却出现了臭子儿?按照赵本山的话来说就是:"悲哀,真为你感到悲哀!!!" 不过现在还是有一些好律师的,愿意以第三人的身份来提起公诉,我想汉芯研发使用的都是纳税人的钱吧,期待好心的律师出来呐喊。 14/05/2006 Ubuntu的简单远程控制和远程桌面
安全方便的简单控制-ssh 安装服务器:apt-get ssh,服务器基本不用怎么配置就可以使用。 操作命令:
ssh username@host_address
ssh登录之后就像本机使用命令行登录是一样的,虽然只能使用字符界面,但基本上能够完成大部分管理工作了。有人说配合screen是十分好用的,不过我还没有仔细研究过screen。 最省事儿的X转发功能 同样也要基于ssh,不过多了各图形界面。首先打开服务端的X11转发功能,修改/etc/ssh/sshd_config文件,把X11Forwarding no改成X11Forwarding yes,就启用了ssh的X11转发功能。在我的ubuntu dapper下这个选项默认就是打开的。 操作命令:
ssh -Y username@host_address
这种方式虽然速度稍微慢了一些,但是如果客户端是Linux的话,在局域网中应该是非常方便的,因为客户端不用再配置X。如果客户端是windows,putty,好像也有这个功能,至少在Connection->SSH->Tunnels中有X11 forwarding的配置,但是可能需要安装X for windows才能使用。 另外由于只是使用了X的转发,所以服务器端也会显示你所启动的程序。 使用vnc4server,据说速度最快 ubuntu安装软件是最方便的了,服务器安装:apt-get install vnc4server。客户端Linux下可以使用xvnc4viewer(apt-get install xvnc4viewer),Windows下可以使用 RealVNC的free版。 服务器安装完成之后需要先使用vncpasswd命令创建一个密码,密码加密存放在~/.vnc/passwd文件中。启动服务器也很简单,执行vncserver就可以了:
fwolf@wf:$ vncserver
New 'wf:1 (fwolf)' desktop is wf:1 Starting applications specified in /home/fwolf/.vnc/xstartup 由于是第一次执行,所以创建了虚拟服务1,如果再次执行就是2,以此类推。每创建一个服务,就会在~/.vnc下面创建hostname:x.pid和hostname:x.log两个文件。关闭服务使用命令:
fwolf@wf:~$ vncserver -kill :1
Killing Xvnc process ID 5786 关闭服务之后hostname:x.pid将被删除,而hostname:x.log将保留。vnc4server好像只能设置一个密码吧,不过也没有关系,因为总是开着一个server既浪费资源也不安全,需要连接的时候用ssh连进去开就是了。 andot说如果把~/.vnc/xstartup文件的内容换成 /etc/X11/Xsession文件的内容,启动桌面之后就像本机启动一样了。我暂时还没有试过,不过现在默认的设置,连接上之后,是一个有点像超级终端的命令行窗口,但是可以运行各种X下的应用。 另外如果要修改vnc4server的端口,可以修改/usr/bin/vncserver文件,在大约第124行,有一句
$vncPort = 5900 + $displayNumber;
其中5900就是端口的起始数,按照上面那句的设置,虚拟服务1的端口号就是5900+1=5901,虚拟服务2的端口号就是5900+2=5902,以此类推。参考1, 参考2 13/05/2006 在linux挂载的fat32分区上无法使用svn的问题,以及keywords:Id
在ubuntu Linux下搭建了svn服务器,工作正常,svn的档案respository存放在挂载的一个fat32分区中,apache的用户www-data也加入了plugdev组,能够正常读写svn的档案。 svn server build on ubuntu, apache, work fine. and svn respository is on mounted fat32 partition, and have add apache's user www-data to plugdev group, so apache can r/w svn respository. 但是当在fat32分区中使用svn客户端,checkout或者update文件的时候,却发生了错误: but when use svn client on fat32 partition, failed:
fwolf@wf:/media/hdd6/temp$ svn co http://localhost/svn/svntest/trunk –username guest
Authentication realm: Fwolf's Subversion Repository Password for 'guest': svn: Can't set file 'trunk/.svn/entries' read-only: Operation not permitted 原来,在Linux中,有些文件是不允许非所有者owner用户修改的(不知道是核心功能就禁止这样,还是一些软件按照这个规则来实现的?),即使当前用户有读、写权限。现在遇到的这个例子就说明svn客户端就是这样,所以我们必须把svn要操作的文件(.svn/entries什么的)的所有者owner改掉。 it's because, in linux, some file are not write able to user who is not its owner, althought the operate user have write priv, this is a example. so to make svn run right, we must change owner of mounted fat32 partition.
fwolf@wf:/media/hdd6/temp$ sudo chown fwolf svntest
Password: chown: changing ownership of `svntest': Operation not permitted 然而挂载的fat32分区还无法修改owner,那就只能通过修改/etc/fstab文件来实现了: it seems that we cannot change owner of mounted fat32 partition, so we can only modify fstab file. open /etc/fstab, change the line
/dev/hdd5 /media/hdd5 vfat defaults,utf8,umask=007,gid=46 0 1
to / 改为
/dev/hdd5 /media/hdd5 vfat defaults,utf8,umask=007,gid=46,uid=1000 0 1
vfat是分区格式(fat32),utf8是分区的字符集iocharset,umask是挂载时不分配的权限,gid 46时组"plugdev",uid 1000就是我使用的用户fwolf。 vfat is partition fstype, utf8 is iocharset, umask is privilege not give when mount, gid 46 is group "plugdev", uid 1000 is me — fwolf. 现在重新mount这个分区,所有分区上的文件的owner就是用户fwolf了,这也是我日常使用的用户,现在再来使用svn客户端就一切正常了。 then remount the partition, the all file on this partition is owned by fwolf, and user fwolf use svn client finely. $Id$的自动修改 和windows下的客户端类似,我以前介绍过,在Linux下编辑/etc/subversion/config,添加:
[miscellany]
enable-auto-props = yes [auto-props] 就可以自动替换所有.html文件里的$Id$了。 Linux和Win共存的模式下分区要小心了
前两天不是在重装Ubuntu的时候把winxp给毙了么,现在重装另外一台双系统机器的时候发现,问题应该是出在了调整分区大小的时候。 首先,这台电脑分区情况如下,主分区三个,一个是winxp的c盘,一个是扩展分区,所有linux分区也在这里,最后一个是ibm恢复用的预留分区。扩展分区中除了windows分区,还分了3个linux分区,分别是swap、/和/HOME。但是安装完毕Linux,再回到winxp想调整一下分区大小,启动PartitionMagic 8.0的时候就出现了错误提示:
初始化失败:错误117.
Partition's drive letter cannot be identified 原来pqmagic不能很好的识别linux的ext3分区,所以就产生了一些怪怪的现象,这个软件现在Symantec好像很久也没有更新了。加上/ipe参数强制启动pqmagic(ignore partition error),会提示硬盘上有错误: 也许硬盘上根据就没有错误,只是pqmagic认错了而已,不过还是确认修复,然后进入pqmagic查看分区情况,会发现又是多出来两块大的未使用空间,和上次毙掉winxp时遇到的情况一样(只是后来使用过parted调整过一个小分区之后,再次使用的时候,发现这个错误消失了,所以就没有截图,不过还是对pqmagic丧失了信心)那两块多出来的未使用空间只是由于计算错误产生的,并不实际的存在。如果硬要按照这个错误的情况来进行重新分区,估计就会和我一样要遇到严重的分区表错误了。千万不要窃喜并且挪用这块海市蜃楼般的未使用空间啊,切记、切记。 所以,在ntfs、ext3等格式分区共存的情况下,最好不要使用pqmagic来进行分区,在windows下可以使用Acronis Partition Expert 来分区,在Linux下可以使用parted、 qtparted或者gparted。只是parted系列暂时还不支持ntfs分区的调整,所以要么避免使用NTFS分区,要么使用 Acronis Partition Expert来操作NTFS分区。Acronis Partition Expert 好像也有for Linux版的,不过我没有找到,parted系列在Linux下分区的时候,总是要先umount分区,如果没有livecd,又只有一块硬盘的话,可能就要麻烦些了。 12/05/2006 Ubuntu下的apache2怪怪的
以前一直都是在win下使用apache,感觉比较熟悉了,现在突然转到linux或者说是ubuntu下,觉得有了很大的变化,不知道是apache2升级成这样了,还是ubuntu使然。 安装很简单,apt-get install apache2, apt-get install php5就ok啦,默认的localhost主页指向/var/www,下面再有一个目录apache2-default里面存放的才是原先的各种语言的index欢迎页面。 配置文件win下面就是一个httpd.conf搞定,现在复杂了一些: /etc/apache2下面除了两个配置文件以外,还有4个目录以前没见过,并且应该经常用到: 至于ln以后应当如何配置,也有例子可参考,默认安装就会生成一个虚拟主机NameVirtualHost *的设置文件,对应文件是sites-enabled/000-default,其实链接到文件sites-available/default,文件内容的语法和原来的httpd.conf是一样的。至于模块,也类似,比如我安装了php5之后,mods-enabled下就有了一个 php5.load(链接到mods-available/php5.load),文件内容就是一句:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so,同时还有一个链接文件php5.conf,应该就是php5的相关设置了,内容也非常简单: AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps 有了这些文件作参考,配置虚拟主机或者加载模块的时候就可以照葫芦画瓢了。并且这个时候如果还按照以前的语法在httpd.conf中加载模块的话(LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so),启动apache时会提示错误并失败:
* Starting apache 2.0 web server… Syntax error on line 20 of /etc/apache2/httpd.conf:
module dir_module is built-in and can't be loaded [fail] 建立链接时好像使用软链接即可。
root@wf:/etc/apache2# ll mods-enabled/
total 0 lrwxrwxrwx 1 root root 36 2006-05-11 14:07 cgi.load -> /etc/apache2/mods-available/cgi.load lrwxrwxrwx 1 root root 37 2006-05-11 14:07 php5.conf -> /etc/apache2/mods-available/php5.conf lrwxrwxrwx 1 root root 37 2006-05-11 14:07 php5.load -> /etc/apache2/mods-available/php5.load lrwxrwxrwx 1 root root 28 2006-05-11 18:27 proxy.load -> ../mods-available/proxy.load lrwxrwxrwx 1 root root 30 2006-05-11 18:27 rewrite.load -> ../mods-available/rewrite.load 另外发现一个小问题,我把000-default改名为000-default.disabled以后,却依然生效,但是改成000-default#disabled就无效了,这和apache2.conf中的"Include /etc/apache2/sites-enabled/[^.#]*"有些不一致,但是问题不知出在哪里。不过我的做法更简单一些,也更保留了以前的操作习惯:
vi apache2.conf
… # Include the virtual host configurations: #Include /etc/apache2/sites-enabled/[^.#]* Include /etc/apache2/fwolf.conf 这样所有的配置都在一个文档中了,备份的时候方便,适合于简单配置的网站。 还有,配置虚拟目录的时候如果涉及到了第二块硬盘或者其他挂载设备(非linux格式分区,不含有linux格式权限信息的分区格式),apache2默认使用的用户www-data是无法访问的,虽然配置脚本不会报错,但是无论怎么访问都会产成403 Forbidden错误,解决的方法是把用户www-data添加到相应的用户组里面去:
usermod -a -G plugdev www-data
其他形式的无权限情况也可以根据其owner,按照上述方法进行相应设置。 当然还要注意ubuntu基本上是全unicode的,文件和编辑器都是utf-8编码,所以如果以前的网页文件是gb2312编码的,需要转换成utf8格式才能正确显示:
$ mkdir /tmp/iconv_t
$ for I in * > do > iconv $I -fgb2312 -tutf-8 -o/tmp/iconv_t/$I > done $cp /tmp/iconv_t/* . 以上只是使用iconv转换文件的一个小例子。 09/05/2006 [ubuntu]安装vmware时找不到c header files的小问题
很多人都是用xp作主系统,然后用vmware虚拟一个linux学习,我现在的做法却恰恰相反,我用ubuntu作主系统,然后虚拟一个xp用于工作 vmware下载和安装就不说了,安装完成之后,运行vmware-config.pl的时候,会有一步是询问内核的头文件在哪里:
What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] 由于ubuntu 6.06 dapper的内核版本是,2.6.15,所以就没法找到,网上说这是vmware自己的问题,到http://ftp.cvut.cz/vmware/下载一个vmware-any-any-updatexxx.tar.gz装上, 然后再次运行vmware-config.pl就能够找到正确的地址了:
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.15-22-386/build/include] 可怜我一开始没有安装linux-headers,而是傻傻的下载安装了一个linux-source-2.6,70多M,下载了1个多小时啊。。。
vmware 5.5.1 19175 linux 版的注册码:
J3E6J-V6G4M-Y84DY-4YXQQ GC4K9-FMC0A-1A0FV-4YEX2 附上一张截图,哈哈。 |
|
|