2004-09-27

[转贴]Knoppix汉化版本v0.1

作者:swordhui
原文:http://blog.codelphi.com/swordhui/archive/2004/09/20/22406.aspx
汉化knoppix
一: 安装windows字体 arial.ttf, simsun.ttf
(1)可以点击桌面上的磁盘图标, 找到windows所在的目录, 进入Fonts, 将arial*.ttf和simsun.ttf拷贝到knoppix用户目录.
(2)打开Kde control center(在KDE系统菜单里,以后简称KDE CC), 选择系统管理-> 字体安装程序, 将arial和simsun.ttf加入系统.
(3)退出Kde CC, 再起动, 然后进入外观和主题/字体, 将所有的字体设置为Arial, 如果找不到Arial, 说明前面的步骤不成功, 或没有重启KDE CC.

这样可以使字体美观些.

二: 安装Kde的中文i18n
(1)连接网络, 先运行apt-get update, 成功后运行 apt-get install kde-i18n-zhcn, 等待完成. (如果某些包升级不成功, 可以用 dpkg -P 包名 先删除, 以后在装)
(2)进入KDE CC->区域和辅助功能, 在国家/地区和语言里, 添加简体中文, 去掉美国, 如果上一步成功完成的话, 然后点击应用, 重启KDE桌面环境, 成功的话应该可以看到中文.
(3)在系统菜单/设置/桌面设置向导里, 将国家和语言设置为中国/简体中文, 然后按照自己的喜好完成向导.

三: 设置Locales
(1)运行dpkg-reconfigure locales, 删除除en_US, zh_CN(包括GBK, UTF-8等)外的所有locales, 点击确定后设置locales为zh_CN.GBK
(2)修改/etc/init.d/knoppix-autoconfig, 将cn) 下面的那段改为:
LANG="zh_CN.GBK"
加入: LANGUAGE="zh_CN.GBK"
加入: LC_ALL="zh_CN.GBK"
(3) 找到 export LANG CONTRY CHARSET那一段, 在后面加入 LC_ALL LANGUAGE,如: export LANG COUNTRY CHARSET LANGUAGE LC_ALL
(4) 找到 echo "LANG=\"$LANG\"" > /etc/sysconfig/i18n ,
加入:
echo "LANGUAGE=\"$LANGUAGE\"" >> /etc/sysconfig/i18n
echo "LC_ALL=\"$LC_ALL\"" >> /etc/sysconfig/i18n
(5)修改/etc/lilo.conf, 在起动参数里将lang=us 改为lang=cn, 然后执行 lilo -v (切记!! 否则不能生效!!) 推荐用grub.
(6)重启系统, 打开Knosole, 输入export明令, 以上步骤如果成功, 应该能看到
declare -x LANG="zh_CN.GBK"
declare -x LANGUAGE="zh_CN.GBK"
declare -x LC_ALL="zh_CN.GBK"

如果看不到, 监察(1) lilo.conf里有没有 lang=cn, (2) 是不是运行了lilo -v命令 (3) knoppix-autoconfig是不是修改正确.
进入knosole,输入list --help, 应该能看到中文显示.




四: 安装输入法, 推荐使用fcitx,
(1)在www.fcitx.org可以下载rpm包, 3.0.0, 比如fcitx3.0.0.rpm
(2)用alien -d fcitx3.0.0rpm 将之转换为deb
(3)用alien -i fcitx3.0.0.deb, 安装
(4)修改/etc/init.d/knoppix-autoconfig, 在cn) 段里修改为: XMODIFIERS="@im=fcitx
(5) 重新起动, 在export命令里应该能看到:

declare -x LANG="zh_CN.GBK"
declare -x LANGUAGE="zh_CN.GBK"
declare -x LC_ALL="zh_CN.GBK"
declare -x XMODIFIERS="@im=fcitx"

如果看不到, 重作以前的步骤...

(6) 运行fcitx命令, 然后打开kwrite, 按下Cntl+Space, 输入... 如果不能出现输入窗口.... 上帝保佑



一个具体项目的重构(一)

实话实说,《重构》那本书,我并没有完整看过,但是对里面的一些思想也很赞同。但是毕竟没有真的研究过,所以这里把重构这个名字拿来,不过是托人之 名,言己之道。《重构》书中并不要求你把整个软件进行重新设计,而通过代码的调整,达到优化整个系统的作用。我没有书作者的功力,我们解决这个特定系统的 可维护性问题时,只好把整个系统进行重新设计,并期望用更好的系统结构设计来解决可维护性和系统扩展的问题。

一、问题的产生:

一个难以维护的两万多行的程序
我 们公司是设计生产一家生产电子辞典等教育类电子产品的公司。我所在的小组,是负责电子辞典和PC机进行联机操作的联机软件的。我接手的第一个任务,就是修 改某个版本的联机软件,让它支持一个新的产品,然后作为新产品的配套联机软件。这本来应该是一个很轻松的活,因为实际上所谓的新产品,和上一个产品并没有 本质差异,主要是外观和一些配套软件的区别。我的工作只是在适当的位置修改一下产品版本和名称。

这个联机软件是用BCB5做的,用了4个 界面方面的第三方控件。因为这4个控件没有BCB6的版本,所以我们的项目组也长期使用BCB5,不能升级到 BCB6。拿到源代码,进行编译,我开始恐惧,整个编译过程居然长达1个小时。我开始仔细端详这套代码,这是我看到的最夸张的一个BCB做的软件了。主窗 体的cpp文件,居然有1万8千行,文件大小610k。我是从来没有做过大软件的,当时就被吓着了。索性我所需做的工作并不复杂,用查找替换,我没有花多 久时间就已经完成了修改的任务。之后,经过我自己的初步测试,我把程序发给了测试组。

之后的一个月,我陷入了苦战之中,测试组不断的提交 bug单,我也只好不断的修改这些bug(这些几乎没有我引入的bug,因为我的修改不涉及程序机 理。)。我们的联机软件的不同版本,都是从同一个源代码修改而来的。我现在修改的这些bug,在很多版本中已经修改了,但是因为没有足够的文档记录,也没 有人做中间的协调工作,所以这些重复性的工作都需要重复的做。

一个新的需求
用 户开始抱怨我们的联机软件不能支持多个版本的机型。尤其是那些买过多个机型的用户,他们发现,买一个新机型,就需要用一款新的联机软件来配套。而且用户经 常抱怨,联机软件有很多的bug,而且会出现新机型重复以前老机型有过的bug的问题。网络的兴起,也提出了新的要求,很多用户要求联机软件可以网上升 级,要求可以更方便的使用网上的资源。
这些需求,被公司的企划部门和我们组收集,形成了一个全新的联机软件的需求:
1、可以在线升级。
2、可以支持公司所有的(流行)产品。
3、可以比较方便的进行扩充。
4、一个全新的界面设计
5、完成原有联机软件的所有功能。

显然,原来的代码进行修改是完成不了这样的需求的,所以我们后来做了全新的设计来对应这个需求,目前新的设计已经初步投放使用,反映良好。下一篇,我来详细分析我们的新设计和原有软件的异同。



2004-09-23

很高兴看到韩磊和蒋涛回复我的blog

应该说,我的意见也不能保证就都对。但是,听取客户的意见(对错都会有的),并加以改进,是一个公司成功的必要条件。

期待《程序员》和CSDN越来越好。



2004-09-17

给蒋涛写了封信,估计他也没有时间看,不会回的

上次给刘韧写信,就没有回,倒是keso到我的blog里面回复了一句,虽然我的朋友都告诉我刘韧很不错,但是如此,我怎么能相信他发那封信的真诚呢?


蒋涛,您好!

曾经觉得csdn和《程序员》都是很亲切的东西,然而最近感觉他们离我们越来越远了。

1、给你看一篇csdn水源的贴子

主  题: 为什么 用 Mozilla 浏览器 或者 firefox 的时候直接输入帖子地址提示Error loading stylesheet: Parsing an XSLT stylesheet failed.
作  者: viano (我爱十三妹子)
等  级:
信 誉 值: 100
所属社区: 扩充话题 灌水乐园
问题点数: 20
回复次数: 4
发表时间: 2004-09-17 09:34:48
就是这个错误:


Error loading stylesheet: Parsing an XSLT stylesheet failed.

csdn的人检查检查!

给个答复!


回复人: chinablog(chinablog) ( ) 信誉:100 2004-09-17 09:39:00 得分: 0


哦,原因很简单,写这个程序的程序员很白痴


Top

回复人: chinablog(chinablog) ( ) 信誉:100 2004-09-17 09:42:00 得分: 0


或者说是天才,因为我想让我的程序在firefox里面失效,我都作不到,我才是白痴啊!


Top

回复人: viano(我爱十三妹子) ( ) 信誉:100 2004-09-17 09:52:00 得分: 0




csdn 的人呢?

难道他们做站的时候用 ie 来测试?


Top

回复人: chinablog(chinablog) ( ) 信誉:100 2004-09-17 10:04:00 得分: 0


楼主你太天真了,做这个论坛程序的人是一个mvp,他们说了他们除了ie什么都不想支持


连我这个,专职不是做网站的人,我都知道怎么样才是标准的,我做的个人网站在任何浏览器都可以看,包括ie,firefox, konqueror,opera,pocket ie等等。你们真的雇不起一个会写符合w3c标准的网站的程序员么?


2、这次的《程序员》让我很失望
那篇《以讹传讹》如果发在《大众软件》、《电脑报》或者是《笑话大王》上面,我还会很高兴地看。因为那些杂志的定位和《程序员》不同,当然也只是我以为不同,也许你们觉得应该是一样的呢。

        致
礼!


        郝培强



2004-09-15

推荐最近发现的一个网站

王垠的个人主页

http://learn.tsinghua.edu.cn/homepage/2001315450/

最近,开始学习使用linux,寻找资料的时候找到了这个网站。网站的站长就是著名的《完全用Linux工作》一文的作者。作者自己很客观的说里面的很多观点都是比较偏激的,但是那篇文章确实给我们这些没有linux/unix经验的人很多的启示。

另外,我也跟着这位站长开始用起了Fvwm,确实是非常方便的,详情请参看该网站的具体栏目。




《程序员》杂志喜欢的那种井底之蛙

还没看到本月的《程序员》,但是已经看到了一篇批评的文章,来自熟悉的名字“扑你,扑你呦~~”,立刻,本月和后面某些月的《程序员》从我的预购清单中消失了,谢谢编辑和作者帮我省了这些钱。

CSDN,你要烂到什么时候才能好起来???


算了,我不想多做评论了,如果《程序员》杂志为了增加销量,把自己的定位向《电脑报》、《大众软件》、《八卦周刊》看齐,那么我们也只好祝福他了......



2004-09-14

开始被linux搞得晕头转向了

记得那次和yayv聊起动态连接库的时候,他说linux的动态连接库的文件名就包括了版本,而且相互依赖的关系做得很好,比windows的dll好多了,不会有windows的dll hell的问题。

我不是很理解这个问题,在linux我也没有做过动态连接的程序(目前只学习做了一些小的程序)。但是对于linux下面的动态库依赖,我已经有点头疼 了。起先是我安装了一个redhat 9,然后firefox和eclipse这样的软件很容易就安装好了。但是安装gaim的时候,简直成了一种灾难。安装gaim的rpm包,提示我,我的 gtk+的版本不够高。我下载了一个gtk+的源码版本,不得要领,干脆下在一个rpm版本。安装的时候又提示我gtk+需要更高版本的atk等等。于是 我又去下载那些东西。下来了以后安装的时候,有提示我的xlib版本不够,我又下载。

最后的结果是,我为了更新xlib,把xwin整个都给弄趴下了。linux是不是因为太自由了,反而不好用了呢?实话说,让我搞清楚怎么安装gaim的话,也许我都有时间自己写个用来聊天的软件了。

现在很多人喜欢lfs,全部都从头开始,其实我也很向往这样的东西。因为我不喜欢系统里面有一些我用不到的,或者说我觉得没有什么用处的东西(没钱买硬盘 的人都是这样的吧?)。然后那天我按照lfs的菜谱去进行了3个小时以后,突然在一个关键步骤,我失败了,可是我仔细检查我的每一个步骤,都是按照菜谱做 的。我一下子崩溃了,一个星期以来,我都在玩linux,但是感觉大部分的时候,我在被linux玩。

一天后,我突然在某论坛看到了某人也在我失败的那个步骤上面失败了,别人告诉他,这个版本的菜谱有问题,我FT。我做菜的时候,如果菜谱有问题,无非是做出来的菜不好吃而已,但是这个安装菜谱出了问题以后,我根本无法继续。

这些难道都是自由必须付出的代价么?



2004-09-09

Google News终于有中文版了,爽啊!

今天早晨准备用Google找东西的时候赫然发现,Google的导航栏,多出了一项“新闻 New!”。

昨天是Google的6岁生日,忘了祝贺Google了,今天一起补上,Google,生日快乐。



2004-09-08

VM上面装了个R9,MS我正在离你而去

最近我的MSN的昵称就是"Tinyfool----VM上面装了个R9,MS我正在离你而去"。有人问我,R9是什么东西,很简单R9就是RedHat 9,昨天,我从同事那里复制了一个VmWare的虚拟机过来,那是他安装好的R9。这样做的主要目的还是为了省事儿。

有朋友说R9不好,这个无所谓,我现在就是先随便找个安装版安起来再说。以后我的目标是完全自己定制,那才过瘾呢。

目前,安装了:
  • Fcitx(小企鹅输入法)
  • Firefox
  • jdk
  • Eclipse
  • Eclipse Cdt
计划安装:
  • Gaim(R9自带版本太低)
  • GmailFS(需要更高版本的Python支持)
安装中遇到的问题:
  1. R9原有的中文输入法无法调出
    这个安装版不知道为什么不能输入汉字。于是我决定自己安装一个输入法。生吃咖啡豆给我介绍了一个输入法Fcitx(小企鹅输入法)。下载安装都很容易,但是令人奇怪的是一输入fcitx运行,就会提示有一个同名的服务xcin正在运行。原来这就是R9内置的中文输入法,但是不知道为什么出了问题,解决方法是:
    pgrep xcin (这样就可以知道xcin的pid,比如是3344)
    kill 3344 (杀死)
    fcitx (这下子就可以正常运行了)
    但是,要真正解决问题,还需要在启动脚本里面去掉xcin,加上fcitx,目前我还不会,汗~
  2. Java的path问题
  3. Java安装以后,Eclipse启动的仍旧提示没有JVM,但是关闭。原因何在呢?原来是因为Java的bin目录没有在搜索路径里面。
    解决方法是:
    export path=xxxxxx:xxxxx:/usr/java/j2sdk1.4.2_05/bin (你的java的bin的路径)
    eclipse
    目前我还没有找到启动脚本的位置,找到了把export path语句放在里面,就可以直接运行eclipse。目前我的解决方案是把刚才那两句写成一个脚本专门用来启动eclipse。
本文是在R9下,Firefox用fcitx输入的。

下面是一些截图


第一次成功启动Eclipse


在Eclipse里面写第一个Java程序Hello World


Hello World运行成功


CDT的Hello World