分类 技术 下的文章

这个东西其实就是一个不是很用心的作品,某种意义上说只是为了验证一个paper拿来做工程的可行性,没想到真的有人在拿它做东西呢。我其实还是蛮开心的。
前两天服务器安装了证书,换成了全站HTTPS,结果忘了搞这个东西的routing,结果就挂了。然后有几位好心的朋友给我发邮件啊,在QQ上戳我,跟我说了这件事情,我才意识到原来这个东西还远不能停。

于是我重新翻了一下这个东西的code,居然是拿web.py写的,而且code写得特别的烂,我倍感尴尬。于是在惭愧之余,我用flask重写了这个小工具,并且支持了全站HTTPS。

至于未来这个东西怎么发展,我还是希望能够听取一下大家的意见。确定能做的事情大概有几点:

  • OCR(光学字符识别)的支持,把气泡里的文字做一个简单的自动机翻出来
  • 迁移数据服务器到另一个更快更靠谱的地方,比如国内的云服务器。当然这样也有坏处,就是我得多掏点钱。
  • 重写一个前端。如果可能的话还要在fabric上面多写一些routine

另外也非常欢迎大家提出意见和反馈。您可以在此处留言,联系584806083,或者发邮件到ljsabc#gmail.com(#->@)。我也非常期望能从大家这里获得一些新的点子和创意。
另外我会一直做一些和漫画呀汉化有关的小项目,无论什么时候出新东西了,我也希望能够第一时间告诉大家。

为啥我突然有了三个屏幕

因为3是个吉利的数字。
实际的原因是,单位淘汰了一批17寸的显示器,给我们换了一个27寸的1080p(莫名槽点)显示器,老的17寸显示器都没用了。正好我手头有一块儿GTX TITAN BLACK,双DVI+HDMI+DP,这样的话理论上单卡就可以推4块屏幕。

如何发挥多个屏幕的特点

多屏幕主要的优势其实并不是提升视野,在正常的坐姿下,你的视野大概和等效50mm也是差不多的,根本就不能看到左右两边屏幕的细节。多屏幕提高的主要是你的可视面积,也就是说,相当于在你的桌面左右,额外抽出了两块大板子,放置东西用。你也可以随时切换一些不常用的工作到这两块板子上来,这样就可以减少来回折叠(最小化)文档的次数。
根据这个理论,提高每一个屏幕的使用率,让以前的最小化操作尽可能变成鼠标在各个屏幕上的移动,就可以很大程度上提高工作的效率。

如何个性化配置多个桌面

首先,在这里我要推荐一个小工具,叫DisplayFusion,这个工具可以很大程度上提高Windows 7(它的很多Feature在Windows 8中已有体现了)的多屏幕使用体验。
首先它的多屏幕配置文件可以让屏幕以像素级水平进行对齐,这样就保证了鼠标横跨屏幕时候的水平。
screenConfig.png
其次它可以模拟Windows 7的任务栏到每个桌面上,还可以调节每个屏幕之间的配置的不同。这样子就可以单独使用每个屏幕,而不用每次都到主屏幕上去控制每一个窗口了。
最后这个小工具还有一个很棒的Feature,就是允许鼠标滚轮滚动未激活的窗口。这样的好处就是,如果一个屏幕上有一个Sublime Text,而你的主屏幕上有一个chrome,你不需要滚动鼠标,就可以滚动每一个屏幕上的文字内容了。

其次,为了提高LCD的显示质量,我依然推荐Mactype,不过请注意,由于我这里每个屏幕素质都不太一样,所以配置文件的选择可能会非常痛苦。不过这个还要做。同样还要做的是屏幕的颜色校准。这个使用Windows自带的显示器管理就好了,前提是你的眼睛要够准才行。

最后多说一点好玩的东西,由于我的屏幕有两个是横屏一个是竖屏,就算使用相同的壁纸,也会在那个竖屏的壁纸上面产生黑边。为了解决问题,这里向大家推荐一个有效的方法,就是去搜索无缝的图案。你可以去DeviantArt上面搜索"Seamless Texture",然后产生一个小图案的同时延展到整个屏幕上,比如下图:

multitest.png

黑边是分辨率不均造成的,我要是有个2K的显示器就好了。

让一个屏幕变成信息终端

由于有一个屏幕是完全垂直地使用,平时也不太会使用它查看很长的文档。因此我们有必要在它空闲的时候显示一些有必要的信息。理论上讲,使用Windows自带的gadgets就可以实现这个功能,但是为了提高可用性,我们可以对其进行更深层次的开发。
下面是这个信息终端的全貌:
portal.png

它是基于Windows的cygwin项目来开发的。在第三个屏幕没有任务的情况下,是一个非常不错的信息显示终端。
这个显示终端是mintty,mintty兼容xterm,并且使用cygwin的bash,可以直接使用shell编程,所以在里面写Bash script就好了。

主屏幕显示:

#!/bin/bash
./updateFeeds.sh 1>/dev/null 2>/dev/null&
while true;
    #show current date and weather
    do clear;
    date +"%H : %M" | figlet ; 
    node ./parseSZWeather.js;
    cat ./feeds.txt;
    sleep 60;
done

其中updateFeeds是用来更新RSS Feed的:

#!/bin/bash
LOCKFILE="/var/lock/`basename $0`"
LOCKFD=99

# PRIVATE
_lock()             { flock -$1 $LOCKFD; }
_no_more_locking()  { _lock u; _lock xn && rm -f $LOCKFILE; }
_prepare_locking()  { eval "exec $LOCKFD>\"$LOCKFILE\""; trap _no_more_locking EXIT; }

# ON START
_prepare_locking

# PUBLIC
exlock_now()        { _lock xn; }  # obtain an exclusive lock immediately or fail
exlock()            { _lock x; }   # obtain an exclusive lock
shlock()            { _lock s; }   # obtain a shared lock
unlock()            { _lock u; }   # drop a lock

### BEGIN OF SCRIPT ###

# Simplest example is avoiding running multiple instances of script.
exlock_now || exit 1;

# Remember! Lock file is removed when one of the scripts exits and it is
#           the only script holding the lock or lock is not acquired at all.


while true;
    # Set timeout
    do timeout 20 rsstail http://cn.engadget.com/rss.xml -n 15 --format '{title}' > ./feed_t.txt;
    LINECOUNT=`cat ./feed_t.txt | wc -l`;
    if [[ $LINECOUNT  == 0 ]];
    then 
        sleep 1;
    else 
        cp ./feed_t.txt ./feed_engadget.txt;        
    fi 
    timeout 35 rsstail http://cnbeta.feedsportal.com/c/34306/f/624776/index.rss -n 30 --format '{title}' > ./feed_t.txt;
    LINECOUNT=`cat ./feed_t.txt | wc -l`;
    if [[ $LINECOUNT  == 0 ]];
    then 
        sleep 1;
    else 
        cp ./feed_t.txt ./feed_cnbeta.txt;        
    fi 
     timeout 35 rsstail http://solidot.org.feedsportal.com/c/33236/f/556826/index.rss -n 15 --format '{title}' > ./feed_t.txt;
    LINECOUNT=`cat ./feed_t.txt | wc -l`;
    if [[ $LINECOUNT  == 0 ]];
    then 
        sleep 1;
    else 
        cp ./feed_t.txt ./feed_solidot.txt;        
    fi 

    printf "engadgetCN\n\n" > ./feeds.txt; 
    cat ./feed_engadget.txt >> ./feeds.txt;
    printf "\nCNBeta\n\n" >> ./feeds.txt;
    cat ./feed_cnbeta.txt >> ./feeds.txt;
    printf "\nSolidot\n\n" >> ./feeds.txt;
    cat ./feed_solidot.txt >> ./feeds.txt;
    printf "\n\nLast updated:" >> ./feeds.txt;
    date >> ./feeds.txt;
    #update every 15 min.
    sleep 600;
done

其中前面的部分主要是使用flock对这个程序进行加锁,防止多个实例重新运行,而更新RSS Feed的命令就是

 timeout 20 rsstail http://cn.engadget.com/rss.xml -n 15 --format '{title}' > ./feed_t.txt;

RSStail是一个很好用的RSS工具,可以用来获取最新的(或者在某个时间之后的)RSS信息。由于中国特殊的网络形态,timeout就是为了防止访问某个RSS的时候出现长时间超时,阻塞循环。而一旦长时间超市了,结果就是空。为了防止空文件被写回,所以使用了wc进行判断:

LINECOUNT=cat ./feed_t.txt | wc -l;

这样产生了feeds.txt就可以输出RSS的标题了。

深圳的天气我们使用node.js进行parse。其实这不能怪我,是因为深圳天气的信息源本身就是一个JS(需要eval才能获得的信息……也是令人醉了),样例在此。既然信息源是个JS,不用node解决问题,我自己都不好意思了。

var request = require('request');
var usefulPart;
request.get("http://www.szmb.gov.cn/data_cache/szWeather/fenquyubao/MESISarea_ns.js", function (error, response, body) {
    if (!error && response.statusCode == 200) {
        var csv = body;
        usefulPart = eval(csv);
        //console.log(csv);
        var report = WF_ns.dayreport;
        console.log("n=========================================================");
        console.log(" Area: "+report.area);
        console.log(" Weather: "+report.state);
        console.log(" Temp: "+report.mint+"°C - "+report.maxt+"°C");
        console.log(" Humidity: "+report.h+"% - "+report.maxh+"%");
        console.log(" Wind: "+report.wd);
        console.log("====================REALTIME FORECAST====================");
        for(i=0;i<WF_ns.hoursweather.length;i++)
        {
            var report = WF_ns.hoursweather[i];
            var reportTime = Date.parse(report.forecasttime);
            if(reportTime > Date.now())
            {
                console.log(" Weather: "+report.state);
                console.log(" Temp: "+report.maxt+"°C");
                console.log("=========================================================nn");
                break;
            }
        }
    }
});

由于信息源eval()了之后本身就是一个JSON,剩下的我也就不多说了。

这样所有的任务就完成了。每分钟更新一次的垂直信息源,是不是很炫酷呢?

小提示和设计细节

有很多可以提高多屏幕使用体验的方法,比如:
1 找一些可以调节显示器水平高度的物件,书本当然是最好的了,扁平一点的快递盒子也是可以的。
2 由于屏幕多起来,你有可能找不到自己的鼠标了。在这种情况下,你可以在控制面板里设置:
无标题.png
这样的话,按住Ctrl键,就可以找到自己的鼠标啦。
3 善用Windows 7以上的Aero Snap,Win加上箭头键,在关键时刻有奇效。

(并未完稿,请各位尽可能给点建议和意见,多谢喵)

=============================================

请您牢记,以下介绍只是一个概括,如果您遇到问题,还要您去折腾,例如去Google或者在社区中提问。如果您需要在社区中提问,请看:

提问的技巧:见瀚海星云Linux板置顶。

重装windows后进不了Linux:这是因为grub被覆盖。如果grub损坏也可以用下面的方法修复。开机时从ubuntu光盘启动,选“rescue a broken system”。一路选下来出现选择急救操作,选重新安装grub引导器安装在linux的/boot目录所在分区上。重启即可进入linux。您也可以在Live CD中使用:grub2-mkconfig -o /boot/grub/grub.cfg来覆盖之前的配置。

Debian/Ubuntu包管理系统: 命令行下用dpkg处理本地的包。dpkg –i foobar.deb包装foobar.deb包,采用dpkg –r foobar.deb卸载。配置好安装源后apt-get install foobar会从安装源下载foobar.deb和foobar.deb依赖的包并且自动调用dpkg安装;apt-get remove foobar可以卸载foobar包,apt-cache search foobar可以搜索和软件包名中含有foobar的包。apt-get完全是命令行的,而aptitude是终端可视界面,上下移动光标和vim一样用k/j键,按q退出  +/-标记一个软件包安装/卸载,标记完后按g可以查看所有标记的包以确认,再按g则执行安装/卸载。aptitude更多的命令可以按ctrl+t在菜单中查看。软件包管理推荐使用aptitude。如果ubuntu的话可以用自带的新立得软件包管理器,更加方便。

选择您安装发行版的软件源:如果您不知道如何配置发行版的软件源,那么请您尝试我们的Repo Gen服务:http://home.ustc.edu.cn/~halgu/repogen/,您也可以通过查看科大软件源的Web页面来寻求帮助。

从源码安装软件包:笼统的步骤是先configure配置编译选项,再make编译,最后make install安装。安装之前请先阅读README和INSTALL文件以了解具体的安装步骤。卸载用make uninstall。如果卸载不了很可能只有手动删除。另外make install需要管理员权限,请多加留意。

crontab:任务计划可以在指定时间运行某程序。crontab -e编辑任务计划表,crontab –l列出计划表。

查看程序文档:man或者info。男人(man)是您学习的源泉。

编辑器类

Emacs:最强大的文本编辑器。下面是学习Emacs的一种方案。启动Emacs按ctrl + h再按t,

读完这个文档掌握最基本的操作,再读网文《_Emacs__的日常生活_》,可以体会到Emacs的强大并学到一些基本的盹置,之后可以看_Sam Teach Yourself Emacs In 24 Hour_,算是系统地学Emacs的使用;定制Emacs要学会elisp编程,推荐救程_Programming in Emacs Lisp: An Introduction(_有中文版)和_Writing GNU Emacs Extensions_。读新闻、邮件推荐使用gnus,写TeX推荐使用AUCTeX,记笔记推荐使用Muse。更多Emacs的资源可以查看EmacsWiki网站http://www.emacswiki.org/

Vim:文本编辑器。下面给出一种学习vim的方案:终端下运行vimtutor会出现一个vim教程,读完可以掌握vim最基本的操作,之后启动vim,按“:h”可以看到一系列文档,user *.txt的文档可以逐篇阅读,后面reference manual部分就当手册查吧。也可以读vimbook,校网上可以搜到。

另外还有一个用游戏来进行vim教学的网站:http://vim-adventures.com/

写TeX推荐使用LaTeXSuite插件。尽管Emacs比Vim强大,但并不意味着所有应用中Emacs都比Vim便捷。

Gedit/Kate: 类似于Windows里面的记事本。而且它们也都可以通过扩展的形式来增强。对于Linux新手来说,这个工具也许是最方便的,尽管它并不是最强大的。

开发工具类

编译器与调试器:gcc系列编译器,包括c语言编译器gcc,c++编译器g++,Fortran 77编译器f77,Fortran 95编译器gfortran(Fortran编译器推荐使用Inter Fortran Compiler),java编译器gcj等等。汇编编译器可以用nasm。debug用gdb。

Java环境:ubuntu自带jdk。如果没有您也可以自行搜索openjdk。

.Net开发环境:可以使用mono,比如c#编译器是mono-mcs,linux下的.Net可能只有教学意义,不能正经地用于项目开发。

OpenGL图形编程:可以使用mesa库,Glut有自由软件的实现freeglut。

GTK图形界面编程:可以看gtk的tutorial,06年LUP上有报告_《__GTK+__图形编程简介》_,可以在lug@ustc主页上找到。

并行计算:mpich,openmp等。cluster的搭建可以到瀚海星云HPCC板询问。

集成开发环境:可以用kdevelop和eclipse,觉得这两个太笨重的话,Emacs + cedet + ecb + etags可能会是个不错的选择。

Bash脚本编程:推荐教程_《__Advanced Bash Scripting Guide__》_,有中文版。

正则表达式:处理复杂的文本搜索、替换等操作(grep、sed等程序)要用正则表达式,可以看_Sams Teach Yourself Regular Expressions in 10 Minutes_,(正则表达式30分钟),校网上可以搜到。如果看英文费力的话,网上有篇文章_《正则表达式__30__分钟入门教程》_相当不错,搜索即可。

版本管理系统:版本控制系统可以记录和管理项目文件集的更改,在面向团队的软件、文档和其他在线开发项目中广泛使用。

Subversion(svn)是一个集中式版本控制系统,科大的很多实验室用它管理项目代码。
git是一个分布式版本控制系统,被linux内核、Android等众多开源项目采用。每位开发者都有完整的项目源代码副本;独特的暂存区设计使得定制提交内容成为可能;具有强大的分支功能。git很强大,学习曲线也比svn陡峭。

git常用命令:添加文件git add,切换分支git branch,签出分支git checkout,提交更改git commit,查看更改git diff,从远程更新git fetch,查找文件git grep,查看日志git log,合并分支git merge,重命名git mv,从远程同步到本地git pull,将本地同步到远程git push,分支变基git rebase,删除git rm,当前状态压栈git stash,查看状态git status。

autoconf, automake:用于自动创建configure文件,当项目规模很大时手工写Makefile变得不容易控制,这时就可以用autoconf, automake系列工具。参考教程GNU Autoconf, Automake, and Libtool,在autobook包里。

对Linux环境下的开发者的一般建议

1.熟悉一个发行版

2.学好英语,随机文档是最好的老师。

3.精通c语言。这种精通并不是对语言结构的精通;它应该是对linux下的系统调用和glibc的精通。另外您应该了解一些操作系统原理,可以参考_《深入理解计算机系统》_。

有上面的的基础后,您应该会用各种命令,有自己学习的能力。那么,您可以继续下面的工作。

4.请读R.Stevens的书,即_《__UNIX__环境高级编程》_(APUE),_《__UNIX__网络编程》_(UNP v1,2),_《TCP/IP__详解》_(TCP/IP v1,2,3)。APUE应用C在Linux下编程,TCP/IP v1,2,3解释TCP/IP协议组,UNP是网络具体编程

  1. 阅读源码,例如Linux或者是一些GNU组件的源代码。
  2. 请加入某一个项目开发小组,和高手们一起进步。
  3. 自己独立开发某一个项目。那就恭喜了,您已经是个高手了。

桌面/窗口管理器类

如果硬件配置低,跑GNOME,KDE等桌面很慢,可以考虑使用轻量级的窗口管理器,比如fvwm, fluxbox, xfce等。桌面使用的问题可以到FreeDesktop板讨论。轻量级的窗口管理器可以使用mlterm, rxvt等终端,文件管理器可以使用rox-filer。

终端工具:screen,比如它可以把一个终端当成好几个来用。

3D桌面:compiz。

中文字体:xfonts-wqy,文泉驿宋体点阵字体。ttf-wqy-zenhei,文泉驿正黑字体。

输入法:ibus,scim和fcitx。Ibus是ubuntu默认的输入框架,中规中矩。scim支持多国语言,词库较大;fcitx非常灵活,值得您一试。当然,输入法也要配合您的使用习惯来。

文档类

TeX系统:可以安装TeXlive,编辑器用emacs或vim加相应的扩展。学习TeX的一种可行途径是先阅读《laTeX2e入门指南》,再看laTeX manual。TeX开发者可以读the TeXbook和the LaTeX Companion。如果有相关问题的话,bbs的TeX板面会是一个不错的去处。

办公套件:LibreOffice,开源的Office软件,可以看.doc,.xls等文件,是Linux上查看MS Office文档的首选。

 

科学计算软件

maxima:符号计算软件,文档maxima-doc,装上maxima-emacs后可以在emacs中便捷地使用。

octave:数值计算软件。和matlab相比还是有一定差距。

R:用于统计分析、绘图的语言和操作环境,如果您做大物实验,不妨用R来分析。

服务器软件

FTP务器:推荐使用vsftpd或者proftpd。pureftpd则是可配置性较高,功能较多。

Web服务器:Linux + Apache + mysql + PHP是著名的web服务套件,安装apache2,mysql-server,php5,php5-mysql即可。安装apache后可以安装doc-central,用户可以在浏览器中打开http://localhost/dc 阅读随机文档。另一个选择是nginx。nginx性能高,可配置性也很高。

sshd:ssh(Secure Shell)服务器,用于远程登录,安装openssh-server包。

文件服务器:samba,可作文件和打印机服务器。

打包/解压

Tar:处理bz2文件请先安装bzip2。tar文件用tar xv foobar.tar.gz解压,加个v参数即tar xfv foobar.tar.gz可以看到解压的过程,打包时也一样。tar zcv abc.tar.gz def/把def目录打包成abc.tar.gz压缩包,tar jcf abc.tar.gz def/把def 目录打包成abc.tar.bz2压缩包。tar tf abc.tar.gz查看压缩包abc.tar.gz的内容。

zip, unzip:处理zip文件。unzip解压。

unrar-free:处理rar文件。rar x解压。

7z:宣称压缩率最高的压缩文件格式,最近才开始流行。使用时请安装p7zip。

影音播放类

mplayer:几乎可以搞定所有常见的媒体格式了,配合fbdev还可以在终端看电影。常见的前端GNOME Mplayer和SMPlayer都提供了很棒的前端支持。

VLC:最近有长足进步的一款播放器。

DeaDBeeF:很棒的一个音频播放软件,支持很多格式。

网络类

无线网络工具:wireless-tools,可以扫描可用的无线网络、连接等。

图形界面浏览器:firefox,opera(需另外下载),chrome(需另外下载)。商业软件chrome的开源版本chromium可以直接通过apt-get安装。KDE环境下有rekonq,xfce下有midori。

字符终端浏览器:lynx,w3m,links。这些是在您不方便图形界面的时候的选择,还配合yong输入中文。

邮件客户端:thunderbird和evolution类似于Outlook。mutt是字符终端的。

即时通讯软件:pidgin,多协议即时通讯客户端,支持msn,qq等。

下载客户端:wget,终端界面。输入wget --help可查看帮助。

FTP客户端:lftp,匿名登录用anonymous,非匿名用对应的 username password登录。get put是下载和上传单个文件,mget mput即多个文件。mirror下载目录,mirror -R上传目录。使用set ftp:passive-mod on/off 命令可以设置被动模式的开关。如果需要方便的图形界面的话,filezilla将会是一个选择。

BBS客户端:qterm,与cterm,fterm类似。也可以用虚拟终端直接上bbs。

p2p下载软件:amule,mldonkey。amule是图形界面,mldonkey支持多种p2p下载,并有telnet,web等多种控制方式。使用BT的话Transmission不错。

镜像同步:rsync, 科大软件源mirrors@USTC就是用它做镜像的。

图像类

gimp:和Photoshop同一量级的图像处理软件。

imagemagick:实用图像小工具集,包括图像文件的格式转换、图像查看、图像组合、图像轮显、屏幕截图等。

gthumb:图像查看工具,类似ACDsee,与之类似的工具还有不少。

xfig:强大的科学绘图软件。(图形界面)

gnuplot:可以绘制复杂的数据图和函数图,支持3D,可以输出eps文件和xfig文件。GNU板的精华区有入门教程,软件主页可找到很多文档(终端界面)。

绘图语言:MetaPost,TeX配套的绘图语言,可以参考_《__A User’s Manual for MetaPost__》_。

阅读器

PDF阅读器:现在GNOME和KDE也都自带了PDF阅读器。您无需担心。当然也有其他软件供您使用。

DJVU阅读器:djview就可以了。

其它

词典:stardict,即星际译王,词库需另外下载,学校的USTC源上有词库。

扫描仪:sane, xsane是它的图形前端。

CD/DV刻录:KDE和GNOME两大环境也都提供了相应工具。如果您愿意的话也可以试下dd。

虚拟机:Virtualbox和VMware比较类似。但是Virtualbox是免费的。另外还有qemu可以用来进行调试。

Windows软件的兼容问题:我们推荐Wine。一般来讲不是很大型的程序或者DirextX9的游戏都可以用Wine来运行。例如Foobar2000,再比如魔兽争霸。如果您在使用Wine时缺少一定的库文件,请使用Winetricks。而对于提供了在线服务的软件,例如QQ,我们还是推荐使用Web版本来获得更好的体验。

网络资源

[1] Linux版网友常用软件整理:http://goo.gl/HfmXu。这个帖子里面收集了广大网友所使用的Linux软件,也许对您有所帮助。

[2] http://lug.ustc.edu.cn,科大Linux用户协会主页。

[3] GNU官方网站:http://www.gnu.org/,上面有很多gun软件的主页。

[4] 自由软件基金会:http://www.fsf.org

[5] Linux内核官网:http://www.kernel.org/,除内核外,还是GNU/Linux的主要镜像站之一。

[6] 开源协作:http://sourceforge.net/。上面有24万多个项目,要加入开发小组练练手,这里是一个不错的选择。

另外Google Code和GitHub上面的项目也是您的选择之一。

[7] 瀚海星云GNU板精华区有不少关于GNU哲学和协作开发的文章。还有《黑客文化简史》。

[8] 科大Linux镜像:http://mirrors.ustc.edu.cn,另外上面也有很多发行版镜像的使用帮助。

[9] 校内BBS相关板面:Linux, GNU, FreeDesktop, Kernel板块

[10] 国内主要的Linux相关站点:http://www.linuxsir.org/,http://www.linuxtoy.org/,http://www.chinaunix.net/,http://www.linuxfans.org/

[11] 国内Linux发行版介绍:Qomo Linux(红旗的社区版本):http://www.linux-ren.org/,Linux Deepin:http:// www.linuxdeepin.com/

[12] ArchWiki:http://wiki.archlinux.org,ArchLinux的维基页面,但是介绍和很多工具的用法和配置(有很多是发行版无关的),而且大部分内容有中文版本。

covariant@bbs.ustc  version 0.1@2007.11

vbs@bbs.ustc  version 0.2@2010.09

李喵喵  version0.3@2012.09