加速AUR下载

废话不多说,知道 AUR是什么就继续往下看,不知道的就不用再往下看了。

默认的 AUR用的是 wget下载,而且默认的参数不行,所以改造一下,用 aria2下载

修改 /etc/makepkg.conf文件,将其中的 DLAGENTS改成如下

DLAGENTS=('ftp::/usr/bin/aria2c %u -o %o'
          'http::/usr/bin/aria2c %u -o %o'
          'https::/usr/bin/aria2c %u -o %o'
          'rsync::/usr/bin/rsync -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

然后就可以了。

从 LiveUSB安装 Archlinux

曾经写过将 Archlinux安装到 USB硬盘,当刻盘比较麻烦的时候,就可以通过 LiveUSB安装 Archlinux。

从镜像中下载到 img文件,根据需要选择相应的架构,下载后,直接用 dd命令写到 U盘里就可以了

dd if=archlinux-2009.08-core-i686.img of=/dev/sdc

如果没有安装 Linux,那就从这里下载 for windows版的 dd

然后将 dd和 img放在一起,比如放到 D盘的根目录下,在命令行下运行

dd if=archlinux-2009.08-core-i686.img of=\\.\g:

这里假定 U盘是 G:

然后在 BIOS中设置 USB启动,即可正常安装 Archlinux。

21天学通C++

《21天学通C++》,china-pub上的4星半好书,地址是http://www.china-pub.com/27043

结合自己的学习经验,先下面来看一下漫画

看懂上面的漫画了么?其实很简单,想要在21天学通一种编程技术,三个字,“不可能”~~~

西湖·乌镇

以下多图,看图少说话

引用某人的话,“暗暗的~”

像不像电影海报?

接下来的美丽的乌镇

一?这是谁?

酷酷的一张

未完待续……

制作姜撞奶

姜撞奶是一种流行的牛奶小点心,味道好,制作简单,而且有一定有食疗价值,下面介绍一下制作方法。

材料:老姜,牛奶

把老姜榨成汁,本人在姜汁中加了些姜末,如果不喜欢,可以不加

加热牛奶,根据个人口味加糖

将牛奶加热到70-80度,如果不清楚,可以等牛奶烧开后,凉 2-3分钟,然后将牛奶倒入姜汁中,等待十分钟,等牛奶凝固,即可食用

要看成不成功,只要将少勺子放在姜撞奶上,看看勺子会不会沉下去即可。

Archlinux下的字体设置

说实话,就字体渲染来说,Ubuntu做的是最好的,但是本着生命不息,折腾不止的精神,本人在每次更换发行版之后,就会对其字体设置好好研究一翻,力争做到和 Ubuntu效果一样(感觉像是没事找抽)。

闲话不多说,在安装了号称完美的 Archlinux之后,中文字体一如即往,凑合。如果你没有什么电脑强迫症的,安装一个 文泉驿,基本上就可以满足工作了。但是为了使得中文字体也配得上号称完美发行版的 Archlinux,所以可以按照下面的步骤来进行。

1. 删除cairo、fontconfig、freetype2、libxft四个软件包

sudo pacman -Rd cairo fontconfig freetype2 libxft

2. 安装 Ubuntu下对应的这几个包,用 yaourt命令安装

yaourt -S cairo-ubuntu fontconfig-ubuntu freetype2-ubuntu libxft-ubuntu

其中有几个包需要从 Ubuntu官方源下载包,很慢,可以自己修改下载地址

3. 把自己需要的中文字体丢到 /usr/share/fonts,本人使用的是雅黑(嘘~自己明白就好了),在该目录下执行

sudo mkfontdir
sudo mkfontscale

然后装这些字体的路径加入到 /etc/X11/xorg.conf里,最后创建字体缓存:fc-cache -fv

4. 编辑/etc/fonts/local.conf文件,把全部内容替换为:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 
<!-- /etc/fonts/local.conf file to configure system-wide font access -->
<fontconfig>
       <!--
       # 设置 serif 衬线字体的读取顺序
       -->
       <alias>
               <family>serif</family>
               <prefer>
                       <family>Bitstream Vera Sans</family>
                       <family>Microsoft YaHei</family>
               </prefer>
       </alias>
       <!--
       # 设置 sans-serif 无衬线字体的读取顺序
       -->
       <alias>
               <family>sans-serif</family>
               <prefer>
                       <family>Bitstream Vera Sans</family>
                       <family>Microsoft YaHei</family>
               </prefer>
       </alias>
       <!--
       # 设置 monospace 等宽字体的读取顺序
       -->
       <alias>
               <family>monospace</family>
               <prefer>
                       <family>Bitstream Vera Sans Mono</family>
                       <family>Microsoft YaHei</family>
               </prefer>
       </alias>
       <!--
       # 全局字体的设置
       -->
       <match target="font">
               <test name="family" compare="contains">
                       <string>Tahoma</string>
                       <string>verdana</string>
                       <string>Arial</string>
                       <string>Times New Roman</string>
               </test>
               <edit name="globaladvance">
                       <bool>false</bool>
               </edit>
               <edit name="spacing">
                       <int>0</int>
               </edit>
               <edit name="hinting" mode="assign">
                       <bool>true</bool>
               </edit>
               <edit name="autohint" mode="assign">
                       <bool>false</bool>
               </edit>
               <edit name="antialias" mode="assign">
                       <bool>true</bool>
               </edit>
               <edit name="hintstyle" mode="assign" >
                       <const>hintfull</const>
               </edit>
       </match>
 
       <!--
       # 单独设置微软雅黑字体的显示
       -->
       <match target="font">
               <test name="family" compare="contains">
                       <string>Microsoft YaHei</string>
                       <string>微软雅黑</string>
               </test>
               <edit name="hinting" mode="assign">  
                       <bool>true</bool>
               </edit>
               <edit name="autohint" mode="assign">  
                       <bool>false</bool>
               </edit>
               <edit name="antialias" mode="assign">  
                       <bool>true</bool>
               </edit>
               <edit name="hintstyle" mode="assign" >
                       <const>hintfull</const>
               </edit>
               <edit name="rgba" mode="assign">
                       <const>rgb</const>
               </edit>
       </match>
 
       <!--
       # 单独设置 Bitstream Vera Sans字体的显示
       -->
       <match target="font">
               <test name="family" compare="contains">
                       <string>Bitstream Vera Sans</string>
               </test>
               <edit name="hinting" mode="assign">  
                       <bool>false</bool>
               </edit>
               <edit name="autohint" mode="assign">  
                       <bool>false</bool>
               </edit>
               <edit name="antialias" mode="assign">  
                       <bool>true</bool>
               </edit>
               <edit name="hintstyle" mode="assign" >
                       <const>hintfull</const>
               </edit>
               <edit name="rgba" mode="assign">
                       <const>none</const>
               </edit>
       </match>
 
       <!--
       # 单独设置 Bitstream Vera Sans Mono 字体的显示
       -->
       <match target="font">
               <test name="family" compare="contains">
                       <string>Bitstream Vera Sans Mono</string>
               </test>
               <edit name="hinting" mode="assign">  
                       <bool>false</bool>
               </edit>
               <edit name="autohint" mode="assign">  
                       <bool>false</bool>
               </edit>
               <edit name="antialias" mode="assign">  
                       <bool>true</bool>
               </edit>
               <edit name="hintstyle" mode="assign" >
                       <const>hintfull</const>
               </edit>
               <edit name="rgba" mode="assign">
                       <const>none</const>
               </edit>
       </match>
</fontconfig>

最后,在 系统->首选项->外观->字体 里,根据自己的口味设置即可。

PS: 在 Firefox下,字体效果还是不尽如人意,主要是有衬线英文字体上,解决的办法是在 Firefox的首选项的字体设置里,默认字体选择 Bitstream Vera Sans(本人爱好,根据自己口味设置),然后进入高级,取消“允许页面选择显示字体而无需使用上面的设置”(这么无视本人存在的选项,当然要取消),这样 Firefox的显示就 OK了。

Archlinux学习笔记

安装好 fcitx后,在主目录下的 .profile里添加启动信息,如这篇文章所述,结果无法打出汉字,全是乱码,于是把 LC_CTYPE添加上,就能打出汉字了。估计是在启动初期还没有设置 LC_CTYPE所致。

GNOME 2.28已经没有登录窗口这个程序了(或是我没有找到,知道的同学麻烦告之),不能设置自动登录,于是编辑 /etc/gdm/custom.conf,这里有完整的配置选项,如果光要实现自动登录,就只要保留 daemon节里的前两行,把用户名改成自己的就可以了。

[daemon]
AutomaticLoginEnable=true
AutomaticLogin=robin
TimedLoginEnable=true
TimedLogin=simonsun
TimedLoginDelay=7
 
[security]
AllowRoot=false
 
[xdmcp]
 
[gui]
[greeter]
DefaultWelcome=false
Welcome=Wait seconds...
Logo=/usr/share/pixmaps/faces/penguin.jpg
 
[chooser]
 
[debug]
 
# Note that to disable servers defined in the defaults.conf file (such as
# 0=Standard, you must put a line in this file that says 0=inactive, as
# described in the Configuration section of the GDM documentation.
#
[servers]
 
# Also note, that if you redefine a [server-foo] section, then GDM will
# use the definition in this file, not the defaults.conf file.  It is
# currently not possible to disable a [server-foo] section defined
# in the defaults.conf file.
#
[server-Chooser]
name=Chooser server
command=/usr/bin/Xorg -audit 0
chooser=false
handled=true
flexible=false
priority=0

Arch Linux安装到移动硬盘

发现家里只有2台电脑,却有五块硬盘,其中有2块硬盘都已经闲置了,造成了资源的极大浪费,为了回收再利用,本人决定拿这些硬盘做些什么事情。

左思右想,最终决定将一块硬盘作为移动硬盘,里面装个 Linux玩玩,这样便可以在任何支持 USB启动的电脑上启动 Linux了。对于选择什么发行版,决定使用 Arch,一个对 i686优化的 Linux发行版,其实本来也想用 Gentoo的,但是一想到又得从头开始编译,晕了~

装硬盘装上 IDE2USB转换线,硬盘变变成了移动硬盘,装其挂到 VMWare下,正常安装 Arch Linux,对于 Arch的安装,本人在这里就不阐述了。主要是装好后的配置。

分两步:

一、对 kernel26.img添加 usb支持。

修改 /etc/mkinitcpio.conf,在 HOOKS一行中添加 usb

HOOKS="base udev usb autodetect pata scsci sata filesystems"

然后执行

mkinitcpio -c /etc/mkinitcpio.conf -g /boot/kernel26.img

二、修改 /etc/fstab,把里面分区信息改为自己对应的分区信息,比如我的就变成了 /dev/sdb

修改好后,将移动硬盘挂到要启动的电脑上,选择 usb启动,即可。

这里有一篇官方的安装手册。

使用Synergy在多台电脑间共享键盘和鼠标

本人的工作环境有两台电脑,一台是台式机,一台是笔记本,平时经常要在两台电脑间切换,很麻烦,今天无意中发现了 Synergy这个软件,可以很方便的通过网络在若干台电脑里共享一套键盘鼠标,还可以共享剪贴板,下面记录一下使用方法。

下载页面,对应自己的操作系统下载相应的安装文件。在 Ubuntu中,只要用 apt-get就可以了,安装好后进行设置,分服务端和客户端。

服务端:

Windows环境下,只要选择 “Share this computer's keyboard and mouse(server)”,然后配置一下有哪些电脑,位置关系之类的就可以了,电脑要用电脑名作为标识(hostname命令输入的名称)

Linux环境下,需要写个配置文件,比如我在 /etc/synergy.conf中写了

section: screens
       desktop:
       linux:
end
section: links
       desktop:
           right = linux
       linux:
           left = desktop
end

screens节写有哪些电脑,links节写位置关系。然后运行

synergys -f --config /etc/synergy.conf

来启动服务端,-f 的是要求程序在前台运行,这样可以看到调试信息,设置正确完成后不需要。

客户端:

Window下,在GUI上选上client模式,填上Server名或Server的IP地址

Linux下运行命令

synergyc -f server名或server的IP地址

更多的使用方法,如通过SSH加密传输之类的,可以在其项目主页中查看

PS:要自动启动,Windows中没啥好说的,在 Linux中,可以将命令写到配置文件中,如 .bashrc,即可;

交叉编译 nano editor

最近在玩 2440的开发板,在里面装了个 Linux,由于预装的 Linux所带的软件很少,因此,只能自己动手,往里面移植软件。

准备移植一个 nano,一个小型的编辑器。花了一点时间,学习了一下移植过程,交叉编译的时候,除了一些文件的缺失,也基本没什么问题。移植 nano的同时,需要移植 libncurses这个库。把这两个的原码都下载下来后,用 arm-linux-gcc编译,我用的是 3.4.1的版本。安装目录可以自己在 ./configure的时候用 --prefix=$DIR定义,要注意的一点是,在 ./configure nano的时候,需要定义 CPPFLAGS和 LDFLAGS,比如本人的定义

./configure --prefix=/home/robin/nano/target-arm --host=arm-linux CPPFLAGS=-I/home/robin/nano/target-arm/include LDFLAGS=-L/home/robin/nano/target-arm/lib

编译完后,将 nano通过 nfs复制到目标板的 /usr/bin,将 lib目录下的库复制到 /usr/lib下。

运行 nano,提示 Error opening terminal: vt102. 于是 google之,发现是交叉编译 libncurses.so的问题,因为终端和PC的不一样了,解决办法是在目标版上运行

export TERM=vt100
export TERMINFO=/usr/share/terminfo

然后复制刚刚编译出来的 terminfo目录到目标板的 /usr/share/下即可