114域名纠错大家应该都见过,也都该知道这是什么东西。这个东西真的神出鬼没,有时候现在114,过几分钟就不114了,有时候一个浏览器114,换个浏览器又不114了,还视家庭状况而定,在我家,114似乎格外变态,我已经开启了SSH,照样114,让我苦恼了好久。不过最近终于找到了个办法来对付它。

(这张图是网上搜的)

Google Chrome有一个负责通信的后台,地址是 chrome://net-internals/ ,通过它可以查看Chrome的一些与网络相关的信息。进入DNS标签页面,也可以用 chrome://net-internals/#dns 来进入

点击“Clear host cache”按钮,清除之。然后去访问一个会触发114域名纠错的地址,比如我今天访问的 http://www.ikde.org/,然后进入114地址纠错界面。返回 chrome://net-internals/#dns,可以看见大量DNS解析后的IP地址被刷出。(由于被解析出的IP地址很多,其中甚至还有Google的地址)请仔细挑选其中那些与114相关的IP地址,可以记录下来。由于那些地址可能非常杂乱并有一些重复,你可以使用

sort -n | uniq

命令去重复。然后前往自己使用的路由器的地址,比如 192.168.1.1,你可能需要密码才能进入。进入路由器的设定页面后,找到防火墙,这里各家用的路由器不一样,操作也都不一样。

点击添加,进入添加页面

通讯协议选择“TCP”,来源地址选择“SINGLE”,输入要屏蔽的IP地址,启用即可。各家的路由器操作可能都不相同,我这个路由器不是很好,操作很不人性化,地址要一个一个添加,不能批量添加,速度也很慢。

全部完成后,退出即可。此时再尝试那个会触发114域名纠错的地址,应该就可以直接打开了,如果不行,刷新几次试试。如果再不行,大概就是真的被屏蔽了。

本文记录如何使用RVM,而不是Yum和APT,安装最新版本Ruby on Rails。之所以不用Yum和APT,是因为Fedora的Yum源,Debian的deb源都没有Ruby 1.9.2。

首先,浏览:https://rvm.beginrescueend.com/ 获取Quich install内的安装RVM的方法,这个安装方法可能随着时间的推移而改变,目前安装方法是:

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

在运行安装命令之前,请确定务必满足这三个要求:

bash >= 3.2 is required
curl is required
git is required (>= 1.7 recommended)

如果没有满足,可以运行:

yum install -y bash curl git

你还需要安装这些以满足Ruby on Rails的要求,如果不安装,编译后的rubygems可能会有问题。

yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel
apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev

运行并确保这句语句存在于.bashrc和.bash_profile的最后

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

确保这个语句存在于.rvmrc的最后

export rvm_pretty_print_flag=1

用RVM安装Ruby最新版本(1.9.2)(如果遭遇网络问题请自行解决)

rvm install 1.9.2

查看RVM目前管理的所有的Ruby版本

rvm list

命令RVM使用Ruby的最新版本(ruby-1.9.2-p290)

rvm use ruby-1.9.2-p290

完成后,检查version

ruby -v

如果能显示出版本,表示ruby安装已经成功,下面开始准备安装rails,我们将使用rubygems来安装

首先,创建一个gemset

rvm --create use 1.9.2@rails3

默认使得这个gemset

rvm --default use 1.9.2@rails3

下面安装rails,建议先升级gem,可能可以避免一些错误出现

gem update --system
gem update
gem install rails

安装完成后,检查version

rails -v

如果能显示出版本,表示rails已经安装成功,赶紧创建一个项目,体现了Ruby on Rails的快感吧!

本文根据 http://www.wretch.cc/blog/yschu7/13353264 整理并精简部分不必要的内容

如果是Ubuntu / Debian 用户,还可以阅读 http://coding.smashingmagazine.com/2011/06/21/set-up-an-ubuntu-local-development-machine-for-ruby-on-rails/,写得比我更详细些。

 

上次Gnome 3悲剧了一回,我感觉如果再继续使用Gnome 3可能会发生点什么严重后果,所以改行用用KDE,仅仅是玩玩,发行版本仍然是Fedora不变。KDE并不是我熟悉的桌面环境,安装的时候遇到一点问题,分享下,如果大家装的时候也发生类似的问题,也许可以Google到本文。

1. 从官网上下载安装的Libreoffice 3.4.1没有KDE样式。

这不是libobasis3.4-kde-integration没有正确安装的问题,而仅仅是libreoffice目录下的/ure/lib/libstdc++.so.6 这个文件有点问题而已,从 /usr/lib/libstdc++.so.6 复制一个覆盖掉即可。

2. 在例如于Chrome,Eclipse这样的非QT的GTK软件里Fcitx输入法无法激活,不能输入中文

这个Google的我好辛苦,后来终于查到,只要

su -c 'yum install gtk2-immodule-xim'

即可。感谢 http://www.linux-ren.org/modules/flyspray/index.php?do=details&task_id=253 的帖子

3. 在Kopete中使用Business帐号登录GTalk

在Modify Account中,Connection选项卡,勾上Override default server information,然后在Server文本框中填写 talk.google.com,即可。

目前还有一个问题就是此前用的“坚果铺子”软件在KDE下几乎不能安装,因为依赖了nautilus的库文件。目前在等待他们的回复。

 

 

 

少有的一篇与Linux无关的文章啊。话说我们已经进入了夏季学期,要求使用 Struts 2 + Spring + Hibernate 完成一个Web应用程序。我现在在积极学习中。配置Struts 2绝对是一件看RP的事情,配置反复出现问题。最早出现的错误就是 404 ,网页没找到。后来我不知道做了什么事,就解决了。。而现在的HTTP Status 404 - No result defined for action XxxAction and result yyy错误,就比较经典了。连老师看了半天,也丝毫没有解决办法。Google也毫无结果。不过后来倒是给了我启发。

我发现BuildPath里同样的包我其实加了两遍,WebContent/WEB-INF/lib里放入指定的jar包后,事实上就已经被添加进Eclipse了。我开始时没有发现,再添加了一遍,这样就添加了两遍。

后来将这些额外添加的包去掉,问题解决。

感觉Gnome 3 还是很不成熟的,很多以前可以用图形化程序解决的问题现在反而没有了,大概等到发布3.2版本的时候会改进吧。无论如何,我用的是Fedora而不是CentOS发行版本。

Fedora 15下笔记本电脑合盖后总是会休眠,不合我习惯,我一般只要黑屏+锁屏就可以了,找了没有找到图形化的修改方法,gconf-editor中似乎也找不到,Google后得知,可以用这条命令来修改

供电状态下:

gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action "<setting>"

<setting> ::= nothing|blank|suspend|hibernate|shutdown

电池状态下:

gsettings set org.gnome.settings-daemon.plugins.power lid-close-battery-action "<setting>"

<setting> ::= nothing|blank|suspend|hibernate|shutdown

就可以了。

不过似乎不能锁屏,System Settings -> Screen 中已经设置过了,没起作用。gsettings我也不熟悉,不知道有没有更好的解决方案。

参考文献: fedora.rasmil.dk/blog/?p=208

我现在在Fedora 15下写这篇短文。

Fedora 15目前安装后的Netbeans 7.0有严重Bug,主要表现在Menu下,有这样几个症状。鼠标hold在一个item上,实际选择的是上一个item。有时鼠标单击无法打开menu,需要按住鼠标才能打开,有时干脆打不开,等一系列奇怪症状。怀疑是Java GUI库和Gnome 3之间存在兼容问题。

解决方案很简单

su -c 'vi /usr/local/netbeans/etc/netbeans.conf'

打开这个文件,在netbeans_default_options中可以搜索到 -J-Dapple.laf.useScreenMenuBar=true 这项,将他修改为false即可。

目前是这么解决的,我还要继续试用下Fedora 15的Netbeans,可能还有更多Bug隐藏着。

很高兴Netbeans 7.0修改了很多我已知的存在于老版本的Bug。

另外,官网上下载的Eclipse 3.6.2 在Fedora 15下打开即崩溃。但是通过Yum安装的Eclipse是正常的。

崩溃的解决方案是这样的:

在eclipse.ini下增加如下两行即可

-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-Dorg.eclipse.swt.browser.XULRunnerPath==/usr/lib/xulrunner-2.0/

Gnome 3的搜索框和消息提示框目前用ibus输入中文连候选词也没有,也不清楚原因及如何解决。

久闻LaTeX大名,由于Linux下常用的LibreOffice实在太过于糟糕,与Microsoft Office差距太大,并且LibreOffice已经是Linux下最好的Office套件了,使用LaTeX来替代LibreOffice恐怕是一种无奈的选择。

但是我从来没有用过LaTeX,连类似的排版工具也从未用过,可以说丝毫没有经验。不过我还是决定试着学习下LaTeX,首先当然是从配置环境开始,我不熟悉LaTeX和类似软件使用的文件格式,可以说,我只认识PDF格式,所以在配置的时候也是奔着PDF而去。网上的LaTeX配置的文章多如牛毛,但是方法竟然都不一样,有简单的,有繁琐的。英文LaTeX环境很容易就可以搞定,但是中文却没有这么简单。我尝试了几个比较简单的方法,全都不可行。复杂的方法,或是说步骤超过5步的,或是要修改配置文件的方法,我全都不尝试,因为一看这种方法就感到头疼。下载TexLive2010也许比较适合我,但是他的大小实在太恐怖,2GB,不知道为什么会这么大,这个大小恐怕已经超过Microsoft Office了。下载的速度超慢,初步算算大约下载2天,不考虑。

后来发现,其实最简单的方法就是使用XeLaTeX,两个好处:

第一,无须配置,安装后即可使用。

第二,支持中文。

第三,直接将文件转为PDF。

安装只需要三个包

sudo apt-get install texlive-xetex latex-cjk-xcjk texlive-latex-recommended

不过依赖包相当多,apt大约下载半多个小时才能安装。这期间无须任何干涉。

安装完之后,可以先写一个简单的测试文件,当然,要带中文

%% example.tex
\documentclass{article}
\usepackage{xeCJK}  %必须加xeCJK包
\setCJKmainfont{WenQuanYi Micro Hei}  %换成本地字体
\begin{document}
chm文件全名是Microsoft Compiled HTML Help,看名字也猜得出是微软的格式,Windows操作系统自带它的阅读器,chm普遍用于帮助文件和电子书,但在国内,他的应用范围更广,几乎很多在线文档本地化后都采用这个格式。一般做技术的不可能不接触它,但是一般Linux发行版本不自带chm的阅读器,只能安装软件,chmsee就是我所用过最好的chm阅读器了,他还是一款国产软件,我猜之所以看不到比他更好地国外软件,也许是因为中国人更有需求吧。

项目地址:http://code.google.com/p/chmsee/

但是Fedora 14的chmsee包有点奇怪,只有1.1.0版本,没有最新的1.3.0版本。1.1.0的Bug很厉害,影响了正常使用,最新版本则修复了这些Bug。但是Fedora 14没有chmsee最新版本,我在网上也没有搜索到适合Fedora的RPM包,惟一的OpenSUSE的RPM包使用yum localinstall安装仍有不能解决的依赖关系,这使得我们不得不用源码来编译安装了。

我看到项目网站上解释他没有发布二进制安装文件的原因是“Linux 的发行版太多了,还是只发布源码比较省事”,我不否认这种说法的正确性,但也不能否认源码编译安装对我这种Linux菜鸟而言确实非常困难。主要原因当然是缺乏库文件,而且一旦缺乏,我往往不知道该下载哪个包来解决,如果出现RPM包常见的依赖性地狱,更是让我绝望,所以,除非确实找不到二进制包并且需求这个软件,否则我绝对不会去编译源代码。

我看到他的项目文件讲了依赖如下:
cmake >= 2.6.4
gtk2 >= 2.18
xulrunner >= 1.9
chmlib
libxml2
libgcrypt
intltool
幸运的是,Yum库中这些软件全都有,不幸的是,安装了后连cmake都通不过,还是有大量库文件缺乏。后来猜测他的库文件可能不是放在这些可执行的程序中,而是放在devel包中,因此尝试安装了他们的devel包,结果竟然成功了(后来发现项目文件中说的很清楚:Before compiling, you need to check following libraries or their development packages already installed on your system.可惜我一开始没有注意),只要cmake一通过,就不会再有依赖性问题了,安装非常成功。下面复述下正确的依赖。
 
cmake
gtk2-devel
xulrunner-devel
chmlib-devel
libxml2-devel
libgcrypt-devel
intltool
版本方面不用担心,Yum库中的软件都符合要求。
\end{document}

这里把文件命名为example.tex。

可以看到,里面动用了一个中文字体——文泉驿微米黑,这是我最喜欢的字体,也是电脑里唯一一个中文字体,你可以修改这个字体来使用你自己喜欢的字体。你可以用

fc-list :lang=zh-cn

来输出你电脑上所有中文字体。

编译example.tex非常简单,只需要使用

xelatex example.tex

即可获得example.pdf文件,打开即可见到效果。

本人对LaTeX一窍不通,如果你说这样配置出的LaTeX环境会有什么什么缺陷我无法应答,不过我认为这也不要紧。只要有一个简单的工作环境,用它稍微学习下LaTeX,让菜鸟们稍微有一点LaTeX的感觉,和高手们有点共同语言,此时再重新用更好的方法配置LaTeX,才是最人性化的做法。如果一开始就使用那种无法理解的方法配置,想提问又被高手们鄙视,还没开始学习就有了不愉快的感觉,这种做法不利于以后的发展。

另外,求一个LaTeX IDE,简单点就可以了。不太想记很多LaTeX语法。

 

发现一个TexLive 2010在国内的下载点 厦门大学开源软件镜像,下载速度很快。如果有TexLive 2010的光盘,那么参考 www.cnblogs.com/hello_seven/archive/2011/02/15/1955598.html 即可非常容易的配置出更完善的LaTeX环境。

修改Empathy新消息提示音

2011年5月12日 15:17

话说Empathy这个声音真的是轻啊,简直和没有差不多,@ghosTM55 发过来的Gtalk,我就坐在电脑前写代码居然没听到。。平时也就算了,万一有个重要事情没听到后果就严重了。因此,我决心要修改Empathy的提示音。Empathy的提示音在哪里修改还真的是没找到,Google后得知,Empathy所有声音都是属于sound-theme-freedesktop这个RPM包的,查询即知,声音都在/usr/share/sounds/freedesktop/stereo下,进入后发现全是oga格式的声音,这个格式对我来说是蛮新鲜的。不知道Linux下如何将通用的MP3格式的声音转化为oga格式,Google后知道Linux有个著名的软件叫gnac,可以做声音格式转换,支持m4a,flac,oga,mp3,wav,spx等格式,官方网站 gnac.sourceforge.net/,介绍 www.lupaworld.com/article-210899-1.html(我承认这是在做广告,自由软件,做个广告什么的不非法吧)。下载源码后编译安装(依赖包我已经不记得了,但确实没有什么神奇的,官网的编译说明已经很详细了,反复使用./configure --prefix=/usr命令然后按要求安装依赖包即可,如果遇到了找不到的包就Google),然后即可运行。到这里一切都很简单,然后就发现问题了,格式转换的时候gnac提示需要一个叫做gstreamer element audioconvert的插件,gnac可以自行查询安装这个插件,但是结果失败,也就是说,这个插件可能不存在于Yum中。我Google了一下,猜测这个插件可能在gstreamer-plugins-ugly里,这个包Fedora的官方Yum中没有,我掏出珍藏的RpmFusion包安装:

su -c "rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm"
su -c "rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm"

但是并没有解决问题,我把Fedora 14升了下级,依旧没有解决。不得以,干脆发邮件了,与开发者直接交流不是开源软件一直宣传的理念么,邮件地址:gnac-list@gnome.org,内容如下,额。本人英语超烂,勿嘲笑

i am a fedora 14 user, i need to convert some mp3 to oga, but gnac needs an additional plugin called gstreamer element audioconvert. gnac tried to search it by itself, but it is failed, and i alse dont know which rpm it need. so please help me, thank you.

一天后,回复

audioconvert is part of the gstreamer-plugins-base package. 

I've seen several people with fedora 14 complaining about audioconvert in relation to totem...but since it's a general dependency issue, I'll redirect you to the thread that supposedly solves the issue. You may just need to reinstall gs-plugins-base.

apologies to the devs for posting a thread about totem, but it seemed like the easiest thing. http://forums.fedoraforum.org/showthread.php?p=1429783

我立即访问了给出的网页,第一帖给出了一个方案
yum install gstreamer-ffmpeg gstreamer-plugins* -x *devel*

下了上百MB的安装文件,但依然没有解决,继续看那张网页,#2中有这样一句话,basically remove the ~/.gstreamer-x.x/registry*.*,于是立即运行了

rm ~/.gstreamer-0.10/registry*.*

然后运行gnac来格式转换,瞬间完成,替换/usr/share/sounds/freedesktop/stereo下的message-new-instant.oga,测试,成功!这样Empathy的提示音就被替换成功。

很高兴上星期天在本校举办的的Ubuntu 11.04 Release Party(详细可见:http://wowubuntu.com/shanghai-natty-party-review.html),我本人也算是组织者之一吧,Release Party前多次协助组织者uifiddle的工作。会中贡献了自己的电脑,不过没派上什么用场,演讲者一个个都自带笔记本电脑,由于台子小,全把电脑压在了我的电脑上,不仅被压,还被学校那该死的投影仪插,插到后来Ubuntu 11.04索性花屏了,重启到Fedora下才解决。

投影仪里这台电脑就是我的哦。

会场照片,知道哪个是我么?

会后收获很大。私吞一个Canonical官方出的Ubuntu的2G U盘,很漂亮,一个U盘集线器,一张Ubuntu 10.10 官方的光盘,N多纪念贴纸贴满整个寝室,蛮疯狂的说。还和SHLUG人一起吃汉堡王,认识了ghosTM55,LTN,雨蒼,Shell Xu等一系列牛人。

雨蒼不愧是台湾人(中华民国台湾地区),言语中都散发着中华民国人民特有的魅力,这种魅力在我们从小生活在中国大陆的人身上是从没有见过的,事实上上次的拥抱HTML5技术大会上就已经见识过另一个台湾人布丁(hlb)的演讲,幽默的话语,自由的气息,图文并茂的Slides,还有些对GFW的讽刺,已经构成了我对中华民国的主要印象。

 

 

为《Linux内核源码分析》期末考试准备的文章。本来想直接贴出来,但是感觉效果不理想,还是存放在PDF里罢。
 
下载

仅仅是期末考试之后的娱乐节目而已,我们都知道软盘和FAT文件系统已经淘汰N个世纪了。

首先,想必如今没有人家中还在使用软盘,大部分电脑也已经不再附带软驱了,我的本本就是。所以这里的软盘是虚拟出来的。

[bachue@localhost ~]$ dd if=/dev/zero of=floppy.img bs=1024 count=1440
1440+0 records in
1440+0 records out
1474560 bytes (1.5 MB) copied, 0.0217136 s, 67.9 MB/s
[bachue@localhost ~]$ mkfs.vfat floppy.img
mkfs.vfat 3.0.9 (31 Jan 2010)

用dd创建一个1440×1024字节,即1.44MB的虚拟磁盘,按照vfat文件系统进行格式化,就可以模拟出软盘了。

然后使用虚拟机,这里使用的是VMware Player,具有挂载虚拟软盘的功能,据我所知,另一个带有此功能的是微软的虚拟机VPC,而开源界用的较多的VirtualBox,我没有找到这个功能。

在虚拟机中挂载软盘。毫无疑问,使用Linux自己的挂载功能是完全可以的,但是使用Windows,更有实战的味道。(搞笑,谁这年头还会拿个软盘来让你恢复?)

挂载成功。

随便写点神马吧。。表太和谐就行。

文件写入完毕

假设现在出现误操作,删了文件

表痛哭流涕,回Linux修复去。

继续阅读