deb包简易制作:以gmlive为例

02月 13th, 2009 by yhlfh

gnome icon for deb files这篇早该和大家见面的文章今天终于在笔者的努力下和大家见面了。正如大家看到的题目一样,本文讲的是有关于deb包的制作。当然,笔者并不是一个debian开发者,也不是一个ubuntu开发者。本文的目的是给新手一个简单的,关于如何将一般安装步骤为configure, make, make install的软件打成一个deb包,以方便管理的一个指南。当然有的朋友会说,用checkinstall就可以了。不过关于checkinstall,我听过好多人说这种方法过于dirty,到底如何笔者没有试过,也不好评价。您可以选择使用checkinstall,但我可以保证,看完本文,您将会发现其实用常规的方法制作一个deb包也是很简单的。
Continue reading ‘deb包简易制作:以gmlive为例’

系统优化小技巧三则

01月 28th, 2009 by yhlfh

其实很简单的三招就可以让你的系统性能提升许多。

第一招:为分区添加noatime挂载选项
具体做法是修改/etc/fstab,在分区的default选项后面添加noatime挂载选项,用逗号和default隔开。就像这样:

/dev/hda1   /   jfs   defaults,noatime   0   1

第二招:使用deadline调度器
具体的做法是在启动时加上内核选项”elevator=deadline”.(是elevat后面加or。不知道为什么or会变成x?)
通常情况下默认的调度器是cfq。gentoo wiki上有关于cfq的这样一段描述:

CFQ: Only use it on ext3, this scheduler’s goal is not performance, but about balancing IO among all resources.

我看了后有点无语,怎么ext3那套都不是优先考虑性能的。所以,如果你是桌面应用的话,使用deadline调度器吧。
要查看当前系统所使用的调度器可以cat一下/sys/block/sda/queue/scheduler文件,sda换成你自己对应的硬盘。用中括号括起来的就是正在使用的调度器。
还有一个说法是jfs配合deadline调度器使用性能超好。arch wiki上关于jfs的文章说:

Indeed, JFS’s performance seems to exceed that of other GNU/Linux file systems with this particular scheduler being employed.

关于此话题可以参考linuxfans上的这篇帖子

第三招:使用tmpfs
可以把/tmp挂载成tmpfs来获得性能提升。做法是在/etc/fstab中添加:

tmpfs   /tmp   tmpfs   defaults   0   0

这招对于提高mplayer的播放性能有很大帮助,因为mplayer是把影片cache在/tmp目录下的。这个我是深有体会,以前看720p的片子那个卡啊。用了上面说的第二招后有所改观。当用了这招后,720p的影片播放起来相当流畅!
你还可以让更多的目录使用tmpfs。比如在/etc/default/rcS文件中设定

RAMRUN=yes
RAMLOCK=yes

这样/var/run和/var/lock目录也会使用tmpfs。
debian默认将/dev/shm挂载成tmpfs,你可以把些编译的活放到这下面进行,当然你的内存要够用哦。

如何翻译Debian的Package description

01月 12th, 2009 by yhlfh

Debian package description,即软件包描述,就是您执行apt-cache show pkgname时所看到的关于软件包功能的介绍。Debian或Ubuntu用户可能都有发现,有些软件包描述是中文的,但大部分是英文的。中文软件包描述可以极大方便新用户选择软件包,所以翻译它绝对是个好主意。想想吧,能够看到中文的软件包描述是件多好的事。

其实Debian早已准备好了,此项目叫做DDTP (The Debian Description Translation Project)。它有个Web翻译平台,叫DDTSS,这个平台的操作方式有点类似于wiki,你可以匿名进行翻译,也可以注册一个帐号。如果14天未使用帐号,那么帐号将被自动取消。一旦某个软件包的描述被翻译成中文后,就会进入review (复查)状态,要成为translated状态,review数必须达到3,也即有三个不同的人review后都觉得没问题,才会变为translated。当然你不可以自己review自己的翻译,DDTSS会记录你的IP的。如果某人在review时,觉得哪里翻译得不妥当,于是更改了,那么这个软件包就会重新进入review过程,review数重新从0开始。听起来要想进入translated状态还真难,稍有异意就又要从头开始review。不过这也有助于保证翻译的质量,一定要有个大家都认可的翻译才行。

知道怎么操作了,那就开始释放你的翻译激情吧。也可以做做复查工作,看看别人的翻译有没有蹩脚的地方,哪里还需要改进。无需注册,无需担心重复劳动,也无需任何经验,一切只要通过浏览器即可。那么还等什么呢?赶快贡献自己的一份力吧!

mlocate──不狂读硬盘的locate

01月 12th, 2009 by yhlfh

mlocate是GNU locate的一个变种。相比原始的locate,它具有一个很好优点:

* 每次更新数据库时并不需要重新读取全部目录的内容。mlocate 在数据库中保存了
时间戳信息,无需重新读取,就能判断目录内容是否改变。所以更新的速度更快,对硬盘
的占用也更少。这是 mlocate 特有的功能。

上面这段是已经翻译过来的mlocate的deb包描述,向译者致敬!这个功能非常好,以前用locate时,每次更新数据库时硬盘吱吱作响,搞得我不得不将它改为每周更新一次数据库。而mlocate几乎让我感觉不到它的存在。

似乎mlocate已成了Debian的标配了,因为我并没有安装过,它就已经在那了。本来想装locate的,发现已有locate命令,后来才发现是mlocate提供的。

有了mlocate,就可以把locate给删了,要不然你的系统会更新两套不同的数据库。

让Iceweasel在kde4下更顺眼

01月 10th, 2009 by yhlfh

即使是让gtk程序使用kde的外观,gtk程序在kde4下的显示还是不完美的。尤其是Iceweasel,网页中的控件都渲染不完全,很难看。

我想,既然kde的oxygen主题对gtk程序渲染不好,那有没有为gtk准备的oxygen主题?于是就到gnome-look.org上找,果然被我找到了。http://kims-area.com/?q=node/63

首先,适合于gtk的oxygen主题叫KDE4 Oxygenstyle,可以从这里下载,居然还提供deb包的 ;-)。装好后在kde系统设置里把gtk程序设成使用那个主题就好了。

不过这样会有个问题,图标不再是oxygen的了。不过幸好,已经有人为我们准备好了oxygen图标了。可以从这里下载。装好后修改.gtkrc-2.0-kde4,在最后加一行:

gtk-icon-theme-name="OxygenRefit2"

这样gtk程序就会使用OxygenRefit2图标主题了。个人感觉这样比让gtk使用kde的oxygen来得漂亮。

好了,下面开始给Iceweasel整容,让它更oxygen。其实也就是装个皮肤了,呵呵。用这个叫KFirefox的皮肤。这个皮肤很强大,是我见过的最强大的皮肤!

OpenOffice.org也变得好看了,如果是用OOo的gtk界面的话,那就是oxygen感觉的,用kde的oxygen渲染OOo的gtk界面试过的都知道,那是根本不能用的。当然为什么不用OOo的kde界面?因为那是qt3的,更不协调了。

现在就留下qt3程序没办法了,没有为qt3准备的oxygen。

参考网址:
http://gnome-look.org/content/show.php/Oxygen+Refit+2?content=79756
http://kims-area.com/?q=node/63
http://ramonantonio.net/kde-firefox/
http://www.leninlee.cn/?p=315

让永中office 2009个人版在awesome下正常显示

01月 10th, 2009 by yhlfh

在awesome中永中office 2009个人版显示不出来。到永中论坛上求助,有人说是java toolkit的问题。于是我export了变量,但问题依旧。

仔细查看/usr/bin/eio文件发现,其实命令开始就已经指定好了环境变量。这样问题就变得简单了。直接编辑/usr/bin/eio文件,把没用的行都注释掉,变成下面这样:

#!/bin/bash
#if test -n "$(grep  "Ubuntu"  /proc/version)"; then
   export AWT_TOOLKIT=MToolkit
#else
#   export AWT_TOOLKIT=XToolkit
#fi
exec 4<&0 0</etc/Evermore/EIOffice/installinfo.cfg
read line1
exec 0/dev/null

再在awesome下运行永中,界面就正常了。

永中论坛上的帖子见这里:http://forum.evermoresw.com/thread-14597-1-1.html

fcitx第二三候选词选择键的设置

12月 23rd, 2008 by yhlfh

因为学了五笔之后,跑到公共的Windows电脑上当然也想打五笔了。不过windows自带的那个太烂,再加上久仰极点五笔的大名,就下了个放在U盘里随身带。极点五笔有个功能很称心,就是可以用“;”选择第二候选词,“,”选择第三候选词。因为五笔重码少,范不着为那么几个为数不多的重码去够数字键。在fcitx里我一直不知道怎么设置,说实话那些中文选项好多我看着都不知道到底是什么意思,可能是我太笨了。不过今天去fcitx的google group上发现有人说有这功能。经过多次尝试还是被我试出来了,其实就是那个“第二三候选词选择键”选项。设两个值,两个之间不要有空格,这样就ok了。

Opera更新了

12月 22nd, 2008 by yhlfh

到9.63了。看了下Opera的changelog

User Interface

  • Added opera:config > UserPrefs > DoubleclicktoCloseTab to close tabs by double-clicking on them
  • 双击关闭标签,这个出现在Opera中国版中的功能被引入了。

    装完之后发现字体变回原先的丑陋样式了。原来之前改字体时改的是全局文件,被新版的Opera覆盖回去了。这次使用用户设置吧,方法和之前一样,不同的就是把font.ini复制到~/.opera再改,这样就不会因为Opera更新而被覆盖了。

    SliTaz──地球上最小的GNU/Linux

    12月 22nd, 2008 by yhlfh

    因为发现我的电脑可以从U盘启动,所以打算为U盘装个小型系统,于是就开始选择。呵呵,又是选择。当然要支持中文,即使界面没有中文,最起码要能显示中文。

    起先试了fanx,界面是舒服,kde的,大小对于我1G的盘来说还是过得去的。不过速度是有点慢,比Kubuntu 7.10 64-bit PC版的LiveCD要慢,至少在我的电脑上是这样的。而且添加新软件也不是很方便,要去下载,而且可选的也不多。

    看到toy上的文章:多合一小型 Linux 光盘,逐一看下,CDlinux,Puppy有点搞头。再往下看有个SliTaz,介绍说比DSL还小,启动速度极快,还有Firefox、Mplayer,还软件包仓库。“软件包仓库”?!一个仅28M大小的东西还搞软件包仓库?于是我记住了SliTaz。

    CDlinux和Puppy都还不错,尤其是Puppy,有一群中文开发者,还有中文Puppy Linux开发者之家呢,所以Puppy的中文支持是绝对不用担心的。不过它的界面风格不是很喜欢。

    呃,还能做什么呢,一个软件包管理的特性就足够说服我去尝试SliTaz。通常我会事先通过Google来了解一下感兴趣的东西。Google最大的收获就是中文Puppy开发者之家上有篇“比Puppy还要袖珍的中文SliTaz”。看来中文Puppy开发者也惊叹于SliTaz的小巧。而且有提供单独的中文包下载。能显示中文,能输入中文,30M不到,有什么理由不去尝试?

    我不是直接下载中文Puppy上提供的家酿版中文SliTaz,而是去SliTaz主站上下载了cooking版,然后再安装中文Puppy上提供的中文包。在此说下我的SliTaz LiveUSB安装过程吧。

    首先用UNetbootin把SliTaz LiveCD的ISO到USB里,然后启动。这样就相当于有了一个LiveCD了。完后要重新使用SliTaz提供的tazusb程序将SliTaz安装进U盘,成为真正的LiveUSB。当然也可以就这样用用就好了,但tazusb制作的LiveUSB有很多好处。比如启动时的欢迎画面,以U盘作为/home,这样用户存储的数据不会丢失。所以强烈推荐重新装一遍。把UNetbootin生成的东西都删除。在SliTaz菜单里找到Mount devices,把SliTaz iso所在的分区挂载上。然后执行

    # tazusb gen-iso2usb /path/to/iso

    接下来的事情都不用操心,装完后就可以选择重启了。如果当前运行的SliTaz是从中文Puppy上直接下载来的,那tazusb是没有gen-iso2usb选项的,需要先进行升级,很简单的,打开右下角的Packages manager (GUI)就知道怎么做了。

    现在启动真正的LiveUSB,U盘已经自动挂载为/home了。然后安装中文包

    # tazpkg install /path/to/chinese-pack

    然后再执行tazlocale,选zh_CN UTF-8,再修改/etc/profile,把G_FILENAME_ENCODING改成这样:

    G_FILENAME_ENCODING=UTF-8

    然后需要把/etc/chinese-pack/.config/下的一些配置文件copy到主目录下。注销重新登录后,显示输入中文应该都没有问题了。中文包还提供了一个终端模拟器叫sakura。

    完成这一切后,还需要执行

    # tazusb writefs lzma

    以便生成新的rootfs.gz。每次安装新的软件后都要这样,要不然下次启动还是原来的样子。更多关于tazusb的用法可以看这里

    之后我还装了Xorg,按这篇文章安装了显卡驱动,不过使用Xorg后产生了xauth的问题,irc上求助也没解决。后来想想算了吧,能听歌就不错了,电影就免了。顺便说下,SliTaz的官方irc是irc.alterinet.org上的#slitaz

    本文就是在SliTaz LiveUSB下写的。

    《飓风营救》经典台词

    12月 17th, 2008 by yhlfh

    I don’t know who you are.
    I don’t know what you want.
    If you are looking for a ransom,
    I can tell you, I don’t have money.
    But what I do have
    are a very particular set of skills.
    Skills I’ve acquired over a very long career.
    Skills that make me a nightmare for people like you.

    If you let my daughter go now,
    that’ll be the end of it.
    I will not look for you.
    I will not pursue you.
    But if you don’t,
    I will look for you.
    I will find you…
    and I will kill you.

    什么样的父亲敢对电话那头的绑匪说这样的话?在绑匪甩给他一句”Good luck”之后,他真的这样做了。他找到了绑匪并通过这句”Good luck”认出了他,对他说:

    You don’t remember me.
    We spoke on the phone two days ago.
    I told you I would find you.

    真是太强悍了!久违了如此凛厉的动作片。