博文

[胡言乱语] 狡兔三窟: 俺有三个Blog空间啦

第一个,就是我的主blog空间: http://achaoge.blogspot.com,这个也是我第一个空间,基于对google "Don't be evil" 的信任。 第二个,是 http://achaoge.spaces.msn.com ,在刚开始 blogspot 不能正常访问的时候,在msn上申请的。 第三个,就是 http://blog.achaogenet , 这个是在一时冲动之下花 $19.4 购买了 DreamHost 的空间之后,用 WordPress 搭建的一个,这个空间我自己都不确定期满后是否会续费,目前当实验实验 WordPress ,玩玩而已。 三个blog空间,内容都是一样的,保持同步的诀窍就是: 用邮件来发布日志 :)

[ssh] 用ssh作为socks 服务代理上网

    在 DreamHost 上申请了空间之后,因为 DreamHost 上的帐号支持shell,并且允许ssh登录。有了ssh,我们就可以做很多事了。     在 irc://irc.debian.org/#debian-zh 上看到 mikelish 写到通过在DreamHost 上架设 tinyproxy 上某些网站: [ 回国第一件事,保证网络畅通 ] ,照着上面写的做了一下,发现果然很爽,比起 tor 的方式要快多了。     今天便收到DreamHost 的来信,告知我的tinyproxy 已经被关掉了,而且希望我不要再使用这种服务。于是又跑到 irc://irc.debian.org/#debian-zh 上说了说, Chaos`Eternal 马上提示说,ssh本身就支持作为socks 服务的, mikelish 提到可以 搭配privoxy 使用。     privoxy 是我早就安装了搭配tor 使用,于是看了看 ssh 的手册,修改了一下 privoxy 的配置文件,搞定了这件事,如下:     privoxy 的配置文件 (/etc/privoxy/config) 中添加如下一行: forward-socks4 / localhost:3128 . 然后重新启动下 privoxy.     将ssh 作为socks 服务连接到DreamHost: $ ssh -D localhost:3128 your_user@your_site     其中端口 3128 可以自己随便定义,只要大于1024,便不需root 的权限来执行。     剩下的事情就是在浏览器里面指定将privoxy 作为代理服务来上某些网站了。     通过 tor + privoxy 来上某些网站,可以参考我很久以前的一篇文章 Debian: tor + privoxy

[E17] 在 E17 里面设置使用中文输入法

图片
用E17的方式设置中文输入法,步骤如下: 调出主菜单(鼠标左键、Win键盘上的属性键、或是点击start模块) 选择Configuration -> Configuration Panel,出现下图: 在左边选择语言(Language),在右边出现的选项中选输入法设置(Input Method Settings): 现在默认有三种输入法(iiimf, scim, uim),如果你使用的是其中一种,那么选择好了点OK就好了,如果不是,点高级(Advanced)继续。 现在你可以创建自己的输入法选项(New),如图: 填入自己喜欢的输入法的相关参数(以fcitx为例),完成后(实际上会在~/.e/e/input_method下创建一个new_imput_method-00.imc的文件)点击OK: Name: fcitx <--- 输入法的名称 Execute Command: fcitx <--- 输入法的启动程序名,如果是非标准路径中,记得写完整的路径 GTK_IM_MODULE:  xim <--- 强制GTK2的程序使用xim(X Input Method) QT_IM_MODULE: xim <--- 强制QT的程序使用 xim. XMODIFIERS: @im=fcitx <--- 这个大家应该比较熟悉了:) 再回到第3步,可以看到我们现在多了一个fcitx 的选项,选中后点击OK。 这样,从E17 中启动的程序(要支持相应的输入法)就可以使用中文输入法了。 补充说明: E17自己本身暂时还不支持中文输入法 :( 可能的问题: 在英文locale 下,选择scim时,如果没有scim_gtk2_immodule 的支持,可能GTK程序无法用(Ctrl+Space)激活scim输入法 解决方法有两种: GTK的程序可以手动选择输入法,不过每次都选择会很麻烦。 新建一个类似前面fcitx 的,让gtk2 的程序也强制使用 xim。

[X][Debian][FreeBSD]从Xsession脚本文件看设置启动桌面的配置文件

启动到X桌面,有两种方式: 1,通过终端登录后,用startx 来启动。 通过这种方式启动到X桌面比较简单,主要通过设置 ~/.xinitrc 来设置自己需要的变量和启动的相关程序。 2,通过X Display Manager来启动, 这是本文分析的重点,以GDM为例来说明如何设置相关信息。 gdm:在选择语言(Language)和会话(Session)之后,输入用户名和密码,X进行一些初始化的工作,然后跳到调用 Xsession,调用的参数是你所选择的Session[default, custom, failsafe, gnome-session...] 重点在Xsession文件。 FreeBSD(/usr/local/etc/gdm/Xsession)文件分析: 1, 尝试检测 command 参数 ,即gdm传递给 Xsession 的参数,指定用何种桌面,如果没有指定,则默认设置为failsafe(此种情况下,将出现一个提示框,然后系统给一个X终端) 2, 系统变量设置, 尝试读取的文件有: /etc/profile, ~/.profile, /etc/xprofile, ~/.xprofile 3, X资源文件的设置, 尝试读取的文件有: /etc/X11/xinit/Xresources, /etc/X11/Xresources, ~/.Xresources 4, 设置键映射, 两种方式,优先使用XKB,尝试读取的文件有: /etc/X11/Xkbmap, ~/.Xkbmap, 当这两个文件都不存在的时候,使用xmodmap, 尝试读取的文件有: /etc/X11/xinit/Xmodmap, /etc/X11/Xmodmap, ~/.Xmodmap 5, 设置语言 6, 开始根据GDM的选择执行command: 如果session选择的是custom,那么尝试~/.xsession 文件,如果存在,则根据此文件启动桌面,如果不存在,则将session设置为default. 如果session是default, 那么尝试的文件依次为: ~/.Xclients, /etc/X11/xinit/Xclients, /etc/X11/Xclients, 找到哪个就从哪个启动了,否则设置session为 xsm 最后,如果两者都不是,或者default没有...

[WP]Postie处理中文邮件的修正

  最近在DreamHost上买了个空间,在上面装了WordPress 系统,在尝试用邮件来发Blog的时候,发现中文邮件不行,看了下代码,发现邮件主题还比较好解决,但是邮件正文要自己来处理的话,工作量就大了。于是向 Google大神 请示了一下,找到了Postie ( http://www.economysizegeek.com/?page_id=395 ) 的插件,装上后试了一下,功能上说,比WP内置的要强大得多,但是对于中文邮件,还是 癞蛤蟆跳井―― 扑通。   在Postie的说明里面,有提到解决了日文邮件的问题。中日韩(CJK)一家亲,日文能解决,中文当然有戏了。于是研究了一下代码,大致可以搞定,但是解决方式很丑陋(dirty),硬编码比较多,而且对邮件的格式知之甚少,只能说解决了中文的问题,对于其他语言编码的方式,未必适用。   要中文邮件能正常工作,需要修改postie中的两个文件 mimedecode.php 和 postie-functions.php。 patch文件: http://achaoge.googlepages.com/postie_deal_with_Chinese.patch 使用方式: Unix: 下载patch 下载postie并解压: tar xzf postie-0.9.9.3.2.tar.gz patch -p1 < postie_deal_with_Chinese.patch OK. Windows: 不知道啦,看patch 文件,反正需要修改的地方不多 :D

[Shell] 让getfacl 的结果显示中文

getfacl 这条命令在读取中文名文件的权限列表时,会将中文字显示成 \xxx\xxx\xxx(x为0-9的数) 这样的形式。前两天在 irc://irc.debian.org/#debian-zh 上抱怨了一下,好心的 Chaos`Eternal 给了我一个shell 函数,用来解决中文显示的问题,趁现在还记得住,先写下来: function lgetfacl(){ getfacl "$@" | sed 's/\\/\\\\/g' | while read LINE; do echo -e $LINE; done } 嗯,是的,就这么简单,挺管用。

[Linux] SabayonLinux LiveCD boot from ISO

Download: SabayonLinux miniEdition X86: http://www.sabayonlinux.org/ Modified initramfs file: http://achaoge.googlepages.com/sabayon.igz patch file: http://achaoge.googlepages.com/sabayon_allow_boot_from_iso.patch multiple cpio unpack script: http://blog.druggo.net/public/script/unpack 修改过程: 从下载的iso文件中取出initramfs文件sabayon.igz,位于iso文件的/boot目录下面,同时还取出内核文件sabayon 解压sabayon.igz文件,这个是一个gzip压缩文件,解压之后是一个多重cpio文件(1),解压缩方式参考 http://blog.druggo.net/index.php/post/2006/08/23/unpack-initrdigz 进入解压之后的目录,打上sabayon_allow_boot_from_iso 补丁: patch -p0 < sabayon_allow_boot_from_iso.patch 重新压缩目录生成 initramfs 文件: find . | cpio -o -Hnewc | gzip -9 > ../sabayon.igz 修改Grub引导菜单文件,添加如下条目 title Sabayon Boot From ISO root (hd0,0) kernel /boot/sabayon root=/dev/ram0 init=/linuxrc cdroot doslowusb looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:default vga=791 CONSOLE=/dev/tty1 quiet fromhd=/dev/hda1 initrd=/boot/sabayon.igz 注意其中/boot/sabayon 和 /boot/sabayon.igz ,这两个分别是你从ISO中拷贝出来的内核和修...

[E17] 字体设置有变化

昨天升级E17到 0.16.999.027,发现标题栏中文字体又变成方框了。 今天在邮件E17邮件列表里面找了一下, shorne在中国 上有说明: E17 Font Configuration 大致是说,E17现在支持两种字体设置,一种是 Evas Native,另外一种就是大名鼎鼎的 FontConfig。 如果使用Vera这种字体名称,就表示用的是Evas Native的,这个时候如果要想显示中文呢,就用到了 fallbacks 这种设置,即如果文字在指定的字体里面找不到,那么就在一个指定的字体列表里面挨个找,直到找到或是找完列表为止(jre-1.5也类似这种方法,如果java中文显示有问题,直接在其字体目录下建个fallback目录,扔个中文字体进去就OK了)。这是传统的方法,需要自己配置下字体以及font-fallback列表, E17 Font Configuration 上有说明,也可以参考 E17的使用小结 如果使用Sans、Serif 这个字体名称,就表示是 FontConfig的,因为FontConfig本身就有fallback,所以就不用额外设置了。

[胡言乱语] 我的五一节

图片
从哪儿说起呢?还是从凌晨00点开始吧 玩得太Happy了,结果错过时间,导致无法进入第一落脚点,只好采用第一备选方案 一大早起来,赶往第一落脚点,在路上顺便解决了早餐 接着,上网灌水,一直到下午两点,然后同玮哥去文殊院吃斋 腊肠 招财进宝 啥啥啥,忘了 熘虾仁 忘了叫啥名了,就是那个什么白果,炒的这个油菜 八德汤 战果 好了,解决了肚子问题,就在院子里逛一逛 放生池 这个是叫木鱼吧? 吃饱了,喝足了,我回家睡觉,玮哥去逛春熙路。。。 时光如梭,一下子就到了最关键德时刻了,晚上醒来上了会儿灌了会儿水,发现肚子饿了。到厨房里面翻了翻,发现了4个鸡蛋,一包紫菜,呵呵,结局就是当然的了: 手机拍照,不会用 换个角度 佩服一下自己,在佐料严重不足的情况下,在足足有五年的时间没有做过饭的情况下,还能这样把自己对付过去(如大家所见,色是没有的;如我所知,香、味俱全。呵呵,色即是空),不容易。 吃完了,玮哥也回来了,继续伟大的灌水事业。

[Debian] [FreeBSD] 学习下 date 命令的用法

由ChinaUnix 上的 一篇讨论 引起了看 date 命令的兴趣 在FreeBSD的实现上,因为可以用多个 -v 选项,这样可以很灵活的得到你要的日期,举个例子说,要得到2010年2月的最后一天,可以用 date -v10y -v3m -v1d -v-1d ,解释一下,就是取得2010年(-v10y)3月(-v3m)1日(-v1d)再减一天(-v-1d)的日期。这其中,数字后面的字符有固定的意义:ymwdHMS -> 年月周日时分秒 在Linux上,date的实现有些不一样,有个-d 的选项,可以用字符串来表示时间,这个字符串也很灵活:可以是年月日(20081002);也可以是英语词句的表达,如yesterday,last year;还可以是数字加时间单词如-1month(一个月前,这儿有趣的是,这个单词可以用单数,也可以用复数)。但是总体来说,似乎没有BSD上的灵活,想想表达下 "2010年2月的最后一天" 该怎么说?恐怕还要在自己脑子里转个弯弯。 date命令的输出格式,可以用百分符带一个字符表示日期中某个部分,应该都是来源于strftime        %%     The % character.        %a or %A           The weekday name according to the current locale, in abbreviated           form or the full name.        %b or %B or %h           The month name according to the current locale,  in  abbreviated  ...

[短信陷阱] 事实证明,俺的钱不是那么好骗的。

昨天打电话到1860投诉了下,说是让俺等待处理结果。。。 今天处理结果就出来啦,不知道是叫啥名字的公司,给俺打电话说把钱退给俺,问俺的地址,俺嫌麻烦,让返还到卡上,对方说一个星期内到帐(开心ing.....,时间虽然长,也懒得计较了)。 后悔昨天没有多按几下。。。(!严重警告:贪小便宜吃大亏!!)

[短信陷阱] 偶这么聪明的人都被骗,没天理!

  事情的缘起是这样地:   买个了手机,用的是动感地带的卡,因为好奇,所以各种功能都要试一下,先别忙着鄙视我:我的警惕性,那是相当的高啊!凡是要求发短信的,偶是一概不发;凡是说要收费的,偶一概不看。遵循这两个凡是的原则,头三天,愣是没有骗走俺一分钱。 然后今天的故事是这样地:   我进入动感地带M2.0卡的菜单,一个一个的详细查看功能以及说明,在进入到"我的铃声图片"->"多彩和弦" 的时候,有菜单如下 业务描述 HIFI和弦 原音原味 流行前线 偶想剧场 怀旧经典 欧美流行   进入"业务描述",其说明如下: 多彩和弦铃音,丰富你的铃音色彩。请确保你已经开通GPRS功能;若未开通,请拨打1860即可为你开通此功能。   看完说明,偶就点了一下"原音原味",没有反应,偶就又点了一下"HIFI和弦",这时就提示收到了彩信和短信息,偶点击进入彩信提示是否下载,偶选择了下载(因为刚咨询过1860,说下载彩信是不收费地)。果然有彩信,就是两首极破的歌;同时短信里面说有什么歌什么榜之类的,叫我回复,2元/条,偶当然不回复,直接删除。   做到这里,偶还是心虚,毕竟SP骗人的把戏太多了,所以偶及时选择了查询话费,就是发送HF到1861,回复提示偶卡上的余额还剩xx,偶一看,没有变化,心里的石头终于落了地。   放松了警惕,又点了下"原音原味","怀旧经典",在"精彩图片"里面点了下"节日祝福","体坛风云",然后在心底里暗暗夸了下动感地带,真是不错啊。   然后就在电脑上上网,逛到了移动的网上营业厅,正想看看GPRS的资费说明呢,顺便查了下实时话费详单,一下就吓了一跳:居然有6块钱的彩信费用,如下: ------------------ 四川省移动通信公司详单(彩信话单) 电话号码13548114xxx 结帐年月200604 工号:wwwwww 流水号:1144325622 打印时间:20060406 客户名称:unknow 类型 对端 使用时间 ...

[AWK] 用awk处理较为复杂的数据

一个awk(my.awk)脚本,使用方式: awk -f my.awk data.txt function strip(s){ gsub ( / ^ *| *$ / , "" , s) ; return s} function stripColon(s){a= length ( ":" )+ index (s , ":" ) ; return strip( substr (s , a))} BEGIN {      OFS = ","     process= 0      print "名称" , "人均消费" , "电话" , "地址" , "菜系" , "特色菜" } {      if (process == 1 ){          #print myarray["name"]          if ( $1 ~ "查看全部网友评论" )         {              print myarray[ "name" ] , myarray[ "avg" ] , myarray[ "tel" ] , myarray[ "add" ] , myarray[ "ser" ] , myarray[ "spe...

[AWK] 用awk处理数据

一个awk脚本,使用方法: awk -f my.awk data.txt function strip(s){ gsub(/^ *| *$/, "", s) , "" , s) ; return s} function stripColon(s){a= length ( ":" )+ index (s , ":" ) ; return strip( substr (s , a))} BEGIN { OFS = " , " process= 0 print "名称" , "人均消费" , "电话" , "地址" , "菜系" , "特色菜" } { if (process == 1 ){ #print myarray["name"] if ( $1 ~ "查看全部网友评论" ) { print myarray[ "name" ] , myarray[ "avg" ] , myarray[ "tel" ] , myarray[ "add" ] , myarray[ "ser" ] , myarray[ "spe" ] delete myarray } else if ( $1 ~ "查看餐馆详细信息" || $1 ~ "向朋友推荐" || $1 ~ "挑错或补充信息" || $1 ~ "网友打分" || $1 ~ /口味/ ) { } else if ( $1 ~ "满分为10分" ) { ...

[Google Maps] Where are you from?

今天在 Google Maps 上一通好找,终于可以回答这个问题了。 I'm from here 哈哈,可惜图片分辨率还是不够,看不见俺家的屋顶,放到最大后,中间有一个黑点,俺家就在旁边。。。 不看地图,还真不知道俺家周围是这么多的水啊。

[awk] 数据过滤

[root@VmwareHost ~]# ps -ef -aux Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 3308 560 ? S 12:15 0:00 init [3] HOME=/ TERM=linux SELINUX_INIT= root 2 0.0 0.0 0 0 ? SN 12:15 0:00 [ksoftirqd/0] root 3 0.0 0.0 0 0 ? S< 12:15 0:00 [events/0] root 4 0.0 0.0 0 0 ? S< 12:15 0:00 \_ [khelper] root 5 0.0 0.0 0 0 ? S< 12:15 0:00 \_ [kacpid] root 18 0.0 0.0 0 0 ? S< 12:15 0:00 \_ [kblockd/0] root 28 0.0 0.0 0 0 ? S 12:15 0:00 \_ [pdflush] root 29 0.0 0.0 0 0 ? S 12:15 0:00 \_ [pdflush] root 31 0.0 0.0 0 0 ? S< 12:15 0:00 \_ [aio/0] root 19 0.0 0.0 0 0 ? S ...

[FreeBSD]穿越屏障:tor 的安装和使用

系统环境:FreeBSD 6.0 Tor 的介绍 这 个就不多说了。 参见 [ Jserv's blog ] 中 [ Tor : 第二代 onion routing ] 安装 如 果安装了portupgrade, 可以直接用 portupgrade -PpN tor 如果没有 portupgrade, 可以到 tor 的目录中 make install 如果没有安装ports,那 么就下载tor 和 tsock 的包手动安装 安装完成之后,系统会创建 _tor 这个用户。 ^v^$ id _tor uid=256(_tor) gid=256(_tor) groups=256(_tor) 设 置 到 /usr/local/etc/tor 目录下: ^v^$ cp torrc.sample torrc ^v^$ cp tor-tsocks.conf.sample tor-tsocks.conf 如 果是通过局域网代理上网,还需要设置代理服务器 HttpProxy   192.168.0.1:3128 HttpProxyAuthenticator  user:passwd HttpsProxy  192.168.0.1:3128 HttpsProxyAuthenticator user:passwd 更多关于torrc的设置,可以参见tor的手册 到 /usr/local/etc/rc.d/目录 ^v^$ cp tor.sh.sample tor.sh ^v^$ chmod a+x tor.sh 创建 /var/db/tor/data 目录,并修改属主为 _tor ^v^$ mkdir -p /var/db/tor/data ^v^$ chown -R _tor /var/db/tor 启 动 tor ^v^$ /usr/local/etc/rc.d/tor.sh start 应 用 用 torify 来启动应用程序就可以了。 更新ports: ^v^$ torify cvsup -L0 -g ~/mnt/portsup ^v^$ torify make fetchindex cvs: ^v^$ torify cvs -z3 update ...

[Debian] 启动时加载 sisfb 模块并指定参数

系统:Debian/sid 内核:2.6.14 initrd工具:yaird   有一台联想台式机,液晶显示器,在启动的时候,如果启用vesafb(即:内核参数是 vga=0x318之类),出现的文字基本上无法看清,显示器会出现一个提示信息,说要使用 1024x768@75的模式(一般液晶的都是60HZ),而在目前的模式下,不给内核打补丁,是没有办法调整 vesafb 的 vga 模式的。   因为这台机器集成的是 sis 的显卡,所以决定试试 sisfb 模块。   按照内核文档的提示,sisfb 模块在载入的时候可以手动指定参数 Example for sisfb as part of the static kernel: Add the following line to your lilo.conf:     append="video=sisfb:mode:1024x768x16,mem:12288,rate:75" Example for sisfb as a module: Start sisfb by typing     modprobe sisfb mode=1024x768x16 rate=75 mem=12288 即:如果 sisfb 编入了内核,则可以在启动时加入分辨率,刷新率等参数,如果是内核模块,则可以在命令行载入是加入参数。   可是,我现在需要的是在作为模块的情况下,需要在启动的时候加入刷新率和分辨率。 解决办法是: 在 /etc/yaird/Default.cfg 文件中加入sisfb的模块项: OPTIONAL MODULE sisfb 这样在创建initrd文件时,会在initrd文件中加入sisfb的内核模块。 创建 /etc/modprobe.d/sisfb (名字自己随意取),在这个文件中加入如下内容 options sisfb mode=1024x768x16 rate=75 这样在加载模块时,会自动加入刷新率和分辨率的参数。 Why? 这是因为 yaird 在创建 initrd 的时候,会参考 /etc/yaird/Default.cfg 来获取需要加载的模块名称,而在具体的添加 加载模块的命...

[图解] 完全自由软件[WinScp+Putty+Pageant]之Public Key Authentication方式登陆SSHD

图片
[注]原文发布于 Chinaunix.net 的BSD版,起因源于看到了 HonestQiao 版主的 [图解] 完全图解F-Secure SSH Client之Public Key Authentication方式登陆SSHD ,一时兴起,决定照猫画虎,完全用自由软件来实现(有点偏执狂),原文链接: [图解] 完全自由软件[WinScp+Putty+Pageant]之Public Key Authentication方式登陆SSHD , 里面罗里八嗦的提到UTF-8,也是我的另一个偏执了。 ------------------------------------------------------------------------------------- 将几样自由软件结合到一起,完成强大的Public Key Authentication方式登陆SSHD 用到的软件为 PuTTY: A Free Telnet/SSH Client WinScp: Freeware SFTP and SCP client for Window PuttyGen: 包含于WinScp的安装包里面 Pageant:包含于WinScp的安装包里面 安装之后,全程图解如下: 1,看看我们的软件列表: --------------------------------------- 2,启动PuttyGen --------------------------------------- 3,创建私钥,记得给私钥设置密码(passphrase,此密码只是用来保护私钥,而不是你的ssh帐号密码:谢谢3,4楼的兄弟指正),在Pageant里面,你也可以导入其他格式的私钥。 --------------------------------------- 4,保存私钥,你也可以把私钥导出成openssh可以识别的格式。 --------------------------------------- 5,复制公钥 --------------------------------------- 6,设置Putty,将显示设置为UTF-8 --------------------------------------- ...

测试了下 MSN SPACE 空间的HTML格式问题

两个意见 1,现在 MSN Space 又支持用 Firefox 编辑页面了(所见即所得:WYSIWYG),好事,赞一个。 2,VIM是一个非常强大的编辑器,有一个功能,就是可以将你在VIM中看到的语法高亮转换成HTML页面,这样可以将你的配置文件,程序代码用彩色的标记发布出去。要发布到MSN Space上,默认状况下要注意两个事:a,不要用<pre>的标记来导出html,否这发布到MSN Space上是给自己找麻烦(:let html_no_pre = 1);b,记得在<body></body>标记之间加上<div>的符号,div的样式参考body的样式。