Skip to main content

Posts

Showing posts from April, 2007

eva qq in ubuntu

花了两天才弄好eva 其实学校feisty的源可以直接安装配置eva的,只是我仍在用edgy且短时内不打算升到feisty.edgy源里没有eva.我不想为此修改source.list再update,否则倒是改回来就不好整了,于是从源里下了个deb安装,不过需要依赖很多高版本的库,但是edgy源里这些库的版本号不够... 于是编译安装吧 eva 官方论坛里有个源码包下载,不过我编译后不能正常登录,说"您所在ip不能使用旧版本之类"...关于这个信息,eva的调试信息出的都是16进制的,需要用16进制编辑器写一下再看. 后来查到可以修改src/libeva/evadefines.h,这就要查QQ版本号代码了,我从飘云QQ里搞来了个列表,不过跟这个.h里的定义有很大出入,我尝试了几个均失败了. 最后终于发现我一直在犯傻 -- feisty源里也有源码下载,而且是cvs版本的,比较新.于是乎编译安装,最后,哈!能登录了! 但是开始时字体有问题,我在网上搜,说是应该改kde系统字体,用kcontrol改(一开始我看成konsole了,搞了半天,莫名其妙),这个不必多说. 这样就能正常使用了,截图功能还不错,不过截图发送有问题,传文件也不行.不知道为什么,不过也没多大关系,当初Luma时也差不多. 最后对eva开发维护者表示感谢!

在Blogger首页显示文章摘要二解

在首页显示摘要是个不错的主意,可惜Blogger默认不支持. 网上倒是有一些解决方案,不过我都不大喜欢,因为需要修改文章模板,每次创建文章时还要指定哪里是摘要,哪里是全文,不爽. 我希望摘要的生成是自动的,可且应当便于修改. 网上好像有个这样的脚本,不过我网络不好,下不来... 经过两天的研究,我完成了两种方案. 方案一,根据行数定摘要. 修改模板, 加入CSS /* added by WangLu for summary display */ div.wl_summary{ height: 10em; max-height: 10em; overflow-y: hidden; } 另外在post-body的定义中,把<p><data:post.body/></p> 改为 <!-- added by WangLu --> <!-- display summary on the main page --> <b:if cond='data:blog.pageType == "item"'> <p><data:post.body/></p> <b:else/> <p> <div class='wl_summary'> <data:post.body/> </div> </p> ... <br/> <br/> <a expr:href='data:post.url'>Read more...</a> </b:if> 就行了. 此法优点是改动少,速度快,代码简单,且发文时无需添加额外信息 不过需要说明几点: 1. 在Firefox里指定height或max-height都可以达到效果,但是IE不支持max-height 2. 关于height的值可能需要根据实际字体进行修改, 设置不当容易出现半个字的情况. 3. 即使文章很短,也会出现'...'和Read more字样,逻辑上有点小问题. ...

Latex-suite技巧总结

用latex-suite有几天了,越发得发现它太好用了.其实看它的帮助是发现功能的最好方法,很多时候比上网搜要快,可以我一般看不了多少就忍不住了... 总结一下已知的一些技巧吧 注: 我的latex-suite是放在~/.vim里了 1.修改~/.vim/ftplugin/latex-suite/texrc,将TexLet g:Tex_defaultTargetFormat='dvi'中的dvi改成pdf -- 我是一般喜欢用pdflatex直接生成pdf的,因为它对图片支持比较好. 2.输入模式下,按F5可以输入\begin{}\end{}类的命令,如果按F5之前用v选中了文字,则加入的begin和end可以把这部分文字"包住" 3.输入模式下,按F7可以输入\命令,如果已经输入了命令,如frac,光标停在c后,此时按F7可自动把它替换成\frac,且自动加入适当的{} 4.输入((,{{,[[之类的符号可自动替换成\left\right类型 5.它定义了若干三字母快捷方式,如EMA可自动替换为\begin{math}\end{math} 6.双引号可自动替换成``或'',而且是自动左右匹配 7.使用它的自动完成经常可以看到形如 的符号,这个是定位符,通常放在下一个你会打字的地方,比如\frac{}{ } ,按C-J可以自动定位并消除这个符号.如果只是一个},那么它的好处并不明显,但是如果是\right}就会发现它的好处了.(一开始我还以为这个符号是latex-suite的bug... -_-b) 8.make命令可以直接编译(第一步改的就是这个命令),不过要打make 9.\ll可以编译当前文件,\lv可以查看编译后的文件 10.:Target, :TCTarget, :TVTarget可以修改9中的目标,如dvi或pdf,不过\lv对pdf支持不大好,可能需要手工修改脚本 总之,latex-suite很不错

(转)Debian的init进程初始化工作原理

讲的还是挺清楚的, 看完以后我明白了init.d和rc*.d的结构和作用. 其实根据那几个目录里的README,装一个叫debian-policy的包也能查到,不过那个包太详细了,查个这个很慢... //原文 原文: http://mushroom.phpower.net/index.php?action=show&id=117 init和inittab ============= Linux下为什么会要有个init?用过windows 9.x的人应该知道有个批处理文件autoexec.bat,用过windows NT/2000系统的人应该在控制面板中见过system service工具,它们的目的是相同的。只是比较起来windows下的这些东西功能太弱(当然用法也更简单)。 init是Linux启动的最后一步,它帮助用户完成每次启动系统都必须完成的一些重复性任务,如加载文件系统、各类网络服务等等程序;它还有一个重要用途,让用户自定义系统运行环境,只启动需要的进程,关闭不用的进程,释放内存和处理器资源,让系统运行得更快更稳。 init 会按任务表执行我们下的命令,这个任务表就是/etc/inittab文件。我们可以为系统制定多个运行环境以满足不同任务的需要,在inittab中称 之为运行等级(runlevel)。例如,计算机要用来完成一种联网编译任务(与其它系统共享CPU周期,合作编译软件),这样情况需占用大量CPU能力 和内存,所以当计算机用作这种用途时,其他程序的运行要尽可能少。可设置一个运行等级(如:runlevel 4),把其它程序包括X Window全关闭,只启动联网编译进程;其他时段,你的计算机要与Windows系统共享文件,需要启动Samba,可以再定义一个运行等级(如: runlevel 2)。 现在当你要进行联网编译时可运行init 4,而不用手工去关闭每个暂不需要的进程;要与Windows系统共享文件可运行init 2。 Debian系统对某些运行等级进行了预先配置(而且是无法修改的) runlevel 0:它的任务就是关闭所有程序,关机。如果计算机及内核支持APM,系统电源可自动切断。 runlevel 1:为单用户模式保留的。在这个运行等级下,除了一个root shell外,没有其它程序运行。除了root文件系统以只读方式安装外,不...

英文Gnome下使用中文输入法

折腾了好久呢,最终解决方案是这样: 首先要使得gnome以英文显示,在我这改任何locale都没用,最后发现是在~/.dmrc里有个Language变量,改为en_US即可 这样gnome应该就是英文界面了(好像改locale可以影响登录界面,因为之前我改locale后发现登录界面是英文的,但是登录后就又回到中文了). 这时输入法应该还出不来,应当修改/etc/environment,增加LC_TYPE=zh_CN.GBK即可,当然,如果你不希望它影响到你的shell,应当在~/.bash_profile里再把LC_CTYPE改回来(按理说改全局的profile也可以) 应该就可以了. 一开始为了把输入法弄出来,我改了en_US对应的输入法,用到了im-switch和update-alternatives,但是之后虽然fcitx能运行,但是输入条总出不来(好像偶尔几个程序可以). 最后是在ubuntu论坛上发现的解法.

(转)Linux服务配置

我装了sysv-rc-conf和sysvconfig,都还不错,然后把gdm和一些打印服务都关掉了。 另外我没做文中提到的最后几步 //原文 原文 http://www.ubuntuforums.org/showthread.php?t=89491 加速Ubuntu开机过程 此HowTo的建议: 1. 我希望你能从中学到东西而不是仅仅简单的拷贝。 因此请, **不要 ** 完全地按照我所作的并复制到你的计算机。阅读服务的描述并自己判断去决定是否需要保留他们。 例如,在我的电脑上我关闭GDM用终端引导,但是如果你看到终端感到一点都不舒服,你应该保留GDM或KDM直接引导到用户图形界面。 2.如果你对开机服务有疑问并且确实对该服务是什么不是很确定, 在此张贴问题并且看看是否有人能帮助你。 在你行动之前如果你不知道。保持系统安全的底线是让一种服务开着而不是关闭它,如果你不理解的该服务的话。 3. 如果你在你机器上见过一个开机服务但不在这里,告知我们它是什么?正如我在这里做的一样 –给一些说明和建议关于是否它应该在一台正常的笔记本或者桌面环境上开或关。 颜色参考: 我开启的服务 我关闭的服务 I. 安装一个工具 - sysv-rc-conf。 它是一款基于perl的开机进程调整工具。 代码: sudo apt-get update sudo apt-get install sysv-rc-conf 它提供一种配置开机进程和运行等级的简单方法, 但是如果你想要通过链接/解除链接文件来手工操作的话,这不是必需的... 这由你决定 II. Ok,一切就绪。现在让我们通过以下代码来运行它 代码: sudo sysv-rc-conf 并一个一个的分析每种服务。 **注意 ** 我有的一些服务或许你没有,完全可以。如果一些服务你有但是我没有, 你将需要独自研究或者在这里提问 ... 但是此HowTo 涵盖它们中的大多数 ... 在我们开始搞乱它们之前,我要在这里引入一些运行等级知识 ....全部开机进程执行顺序如下: 运行等级 S:开机进程中的第一个运行等级。/etc/init.d/rcS脚本将被调用到开启并且/etc/rcS.d目录下的所有进程将被执行。 运行等级 1:单用户模式。/etc/rc1.d目录下的所有进程将被执行。 运行等级 2,3,4,5:在debian系统里是多用户环...

非root使用zhcon

首先我是突然明白了一个事情,为什么我用了vga=xxx之后zhcon突然能正常工作了,原因应该是启用了framebuffer. 后来发现我的zhcon不能用C-A-H,也不能切换输入法,网上一查说非root使用都不正常。 我sudo zhcon一试果然正常了,于是乎chmod g+s它,再运行时就正常了。 不过还有问题,就是提示符,之前不论是用原来的用户还是root,提示符都是正常的,是否显示用户名和电脑名并不重要,不过不显示路径太不爽了。 最后本决定放弃了,又把/usr/bin/zhcon的suid改回来了,但是突然发现非root也正常工作了!很神奇,但是不知道原理。但是,重启后又不行了。。。唉。

让pdftohtml支持中文

没装fbgs时,查到pdftohtml和pdftotext可以转pdf为html和txt 不过对中文识别有些问题,我有几个用acrobat转doc成的pdf,用pdftohtml就能识别中文,而自己用latex写的就不行。 有个参数-c很搞笑,pdftohtml不认中文时,就把它们转成图片放到网页中。 另外有个参数是-enc,感觉不大会用,总说couldn't find unicodeMap.. “猜中”个UTF-8可以用,但是仍然不能正确转换。 原来我的pdftohtml是poppler-utils里的,后来把它卸了,装了xpdf一系列东西,以及一个单独的pdftohtml. 之后有一些变化,比如pdftohtml和pdftotext不需要参数就能正常转换的那几个pdf(说是用acrobat转的),现在必须用参数-enc才可以,而且totext用-enc GBK可以,而tohtml用-enc GBK有乱码,用-enc EUC-CN才行。 另外/etc/xpdf有一些unicodeMap文件,定义了一些unicodeMap,然而用在我自己的pdf上还是不行。 最后我又改回poppler-utils了,还是觉得它提供的pdftohtml好使。而且-enc命令也可以用,这应该是某个xpdf的包支持的。(注意,我没有完全卸载xpdf的包,只是把和poppler-utils冲突的卸了) 今天发现了cmap宏包,说是可以让生成的pdf中的文字支持复制粘贴。不过我试过,没有用。 然后发现了ccmap宏包,这个是针对中文的,是cct宏包的一部分。源里没有这个东西,于是我到http://lsec.cc.ac.cn/cgi-bin/viewcvs.cgi/cct/ccmap/把里面的东西全下载下来(其中Makefile和t1.tex可以不要,另外Attic里面的文件也要下来),放到/usr/share/texmf/tex/latex/ccmap(具体要看tex的安装目录),把包解开,最后运行texhash 现在在.tex文件里加入\usepackage{ccmap}(我记得cmap要求是在\documentclass后紧接着就调入cmap,不知道ccmap是否也需要这样),再用pdflatex编译,哇!出现中文了,只是默认是utf-8输出的,用-enc GBK选项就好了! 最...

Linux 控制台工具箱

参见标题链接 由于我机器太差,所以决定尽可能抛弃图形界面,而尽量在控制台工作。 我新安装的,比较实用的有 mp3blaster 听mp3 fbi 看图 fbgs 看pdf w3m 浏览网页 其中fbi,fbgs需要framebuffer的支持,网上经常会说Linux默认没有启用framebuffer,需要重新编译,可是我的ubuntu 6.10似乎直接支持,只要在grub里加vga=xxx就可以了,具体见之前的文章。 另外可以装w3m-img让w3m支持图像,我现在是在图形界面下的console里试成功了,不过纯控制台还不行。 mplayer可以用framebuffer放影片, 参数是-vo fbdev, 很不错.

修改Linux控制台分辨率

修改/boot/grub/menu.lst 找到kernel xxx 一行,在末尾加入vga=792一行,即可得到1024x768x16M分辨率 不过我的机器792不行,791可以 具体数据如下表 640x480 800x600 1024x768 1280x1024 256 769 771 773 775 32K 784 787 790 793 64K 785 788 791 794 16M 786 789 792 795 另外发现把分辨率调高后zhcon也能用了,真不错

Linux 字体安装外一篇

之前提到过我在Linux安装字体的方法,就是在~里建个文件夹,然后跑到/usr/share/fonts里建一个链接,最后执行三个命令,其中最后一个是fc-cache 不过今天给同学弄,一开始没弄好,fc-cache似乎不大管用(mkfontdir和mkfontscale都正常工作),然后用 -v 选项发现它根本没有扫描我在/usr/share/fonts里面建的链接。不过仔细阅读发现它会扫描~/.fonts,于是把/usr/share/fonts里新建的链接删掉,然后把~里的字体文件夹改为.fonts,再运行一次fc-cache就ok了. 想反观我的安装过程,却发现首先fc-cache就有问题。manpage是正常的,可是fc-cache不管怎么运行都是直接退出,-v选项不管用。想看版本,-V不管用,然后用fc-cache --help发现可以用--version,但是显示程序名为'true',而且/usr/bin/fc-cache是个指向/bin/true的链接。最后man一看,竟然是'true - do nothing, successfully'. 一开始认为是package没装好,用aptitude重装不管用。而且fontconfig这个package的其他命令如fc-list可以使用。最后没办法了,直接打fc-然后tab匹配,发现个fc-cache.distrib,一运行,竟然是fc-cache,估计这个是重名问题,只是不知道true是干什么用的。 这样说来当时我运行的fc-cache很可能就是这个true -- 什么都不工作,竟然还能装上字体,很神奇。 我在我的机器上运行fc-cache.distrib -v发现它确实会扫描我在/usr/share/fonts/里建的链接(也会扫描~/.fonts)。但同学的不会。后来看一下版本,我的是2.3.2,他的是2.4.2,估计跟版本有关。不过他的fc-cache没有manpage,所以具体原因就不得而知了。 总之,装好了也就行了。

chroot 妙用

同学的机器出问题了,开机总出"Kernel panic",估计是内核有问题,但是grub是好的,因为Windows还可以进去。 一开始有个想法,就是用LiveCD启动,然后用aptitude更新,不过考虑到它应该会把文件写在临时的/里,而不是硬盘里,所以本质上不起作用。 后来那个同学Google到了chroot命令,恰好满足了这个要求,这时只要把硬盘mount进来,然后chroot过去,最后aptitude更新一下,ok了! 神奇的chroot,为什么之前没发现?

typespeed

ubuntu源里有个程序叫typespeed,是我想搜一些打字游戏时发现的。 可以说是横版的tt,但也稍有不同 不过,这个竟然也能联网。我跟同屋一人经常联网打,有时觉得比《死亡打字员》还好玩,呵呵。 不知道是否最近打字游戏都有联网的趋势。

strtoul 和 errno

系统为Linux strtoul 返回的时候,如果输入字串错误或溢出,会设置errno为ERANGE, 如果是过大溢出,则返回值为ULONG_MAX. 不过有一点,就是调用方在调用strtoul之前需要自己手工把errno设为0,这个manpage里说了,不过已开始我没看到,害我折腾了好久。。。 其他类似函数strtol之类应该也是这样吧。

让pdflatex支持中文

之前是把latex弄的支持中文了,我指的是用latex生成dvi,然后用dvipdfmx转pdf, 我记得当时 dvipdfm不支持中文 现在需要pdflatex了,主要是因为添加图片的原因。不过这个一直没成功,说是找不到字体。 按理说latex+dvipdfmx能找到字体,pdflatex应该也行,可是事实不是。 经过实验,我发现utf8的用pdflatex可以编译(我用的是cyberbit字体,见之前的文章),但是 GBK的不行(这个是用windows字体转的)。 在网上查,并和同学讨论,尝试了updmap命令,不过似乎把dvipdfm弄好了,pdflatex还是不行。 最后发现pdflatex的提示信息显示它读取的配置文件在~底下,而我从来没弄过这个,估计是某个程序自动生成的(也有可能是updmap),然后就把它删了。这时发现pdflatex竟然支持GBK字体了。 看来是用户配置覆盖了全局的配置。但是这次成功跟updmap有没有关系就不得而知了。以后再试吧。

死亡打字员

The Typing of The Dead 昨天刚换来键盘(刚买的就出问题了。。。),想试试看,然后搜打字游戏,发现了这个。 一查有两个可以下的版本,一个90多M,另一个230多M,那当然下90多的了(一般我肯定不这样,但是90M的说跟230多M的结果一样)。 这是Sega出的,记得最初是PS的版本,另外这个游戏改自第一人称射击游戏The House of The Dead。玩起来很像大型游戏,我想主要原因就是无需自己控制脚步,主角会自动行动,而且遇到怪物时会停下来让你打。 它有个联网功能,我跟同学时没成功,然后google一下,有人说安装时应去掉"ati xxx(记不清了)",可我这个是国人处理过的(比如联网的界面竟然是中文的),安装时没有选项。唉。 后来决定下200多M的那个,于是有了上一篇文章。联网还没试,估计也不行。不过倒是发现了通关后,出现的工作人员名单竟然也能“打”,这真是奇妙的创意。 还是挺喜欢这个游戏的,是我玩过的第一个3d打字游戏。 想我玩过的打字游戏,印象较深的有如下几个 TT:dos时代最经典的了,不必多说 wt: 记得打字可以发声,也是dos时代的,是rpg吧,勇士救公主的类型 机器猫大字: Flash游戏,还可以 金山打字通: 凑合吧,只记得我初中时候还算喜欢玩--因为没有别的可玩 Typer Shark:Popcap的,也很好玩,主角潜水探宝,打鲨鱼 Alphattack: miniclip 出品,有点像TT的风格,还不错 The Typing of The Dead: 刚说过 嗯,还行,不算太少

迅雷99.9%

昨天用迅雷下《死亡打字员》,速度还不错,但是到了99.9%后竟然死活不动了,停止-继续法也不奏效。 如果是视频也就算了,凑合能看就看了,可是这个是个exe,还是安装包。重新下真是很不甘心。 开始认为可能是下载资源把我屏蔽了,后来试着重新下(注意备份.cfg和.td!),发现可以下载。 直接改后缀发现没有图标,然后用UltraEdit看,发现开始约0x8860字节均为0,然后抱着试一试的想法用迅雷的预览模式下载,下了一阵子后再用UE看,那部分都有数据了。就打算直接把两个文件拼起来。 但是这个文件太大了,UE直接拷慢死了,(实际上我也试了几次,都没拷成功,不是拷得乱七八载的就是只给我拷前两个字节)。没办法,写个cpp吧,运行。然后再看,哇,出现图标了。。。 运行。。安装。。。一切正常!真是个小奇迹。