<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rem1x is denied.</title>
	<atom:link href="http://stdio.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://stdio.cn</link>
	<description>linux is not linux.</description>
	<lastBuildDate>Sun, 21 Feb 2010 10:19:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>将archlinux的固定分区转为lvm管理</title>
		<link>http://stdio.cn/2010/02/archlinux-lvm2.htm</link>
		<comments>http://stdio.cn/2010/02/archlinux-lvm2.htm#comments</comments>
		<pubDate>Sun, 21 Feb 2010 09:53:51 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://stdio.cn/?p=247</guid>
		<description><![CDATA[一直想把分区管理方式转为lvm，趁着工作比较空闲搞定了，期间遇到了不少问题，以此记录。
我之前的分区如下:
sda1 &#8211;&#62; /
sda5 &#8211;&#62; /swap
sda6 &#8211;&#62; /tmp (无厘头的tmp分区)
sda7 &#8211;&#62; /home
目标分区形式如下：
sda1 &#8211;&#62; /boot (除非是用grub2，不然grub是没法安装在lvm的逻辑卷上的)
sda2 &#8211;&#62; archVG &#8212; lvroot (除boot分区外，剩余空间全部做成一个pv，然后划出swap和/分区)
&#124;&#8211; lvswap
开始动工：
1、备份现有的archlinux数据
1)、备份/分区
a.先是用archlinux的img镜像做了一个U盘启动盘，进入之后将sda1 挂载到/mnt下面，插上移动硬盘，然后开始tar：
tar pmjcf root.tar.bz2 /mnt
b.经过漫长的等待，打包结束。home分区的数据依法打包：
tar pmjcf home.tar.bz2 /mnt
c.数据已经打包并备份到移动硬盘，接下来就是重新分区了，cfdisk、fdisk之类的工具任你挑，分好两个区：sda1(100M)和sda2(剩余所有空间，其实我还留了30G，以后可以装gentoo之类的os)
d.进行lvm操作，创建pv、vg、lv。( 可以参考这里：http://wiki.archlinux.org/index.php/LVM_(简体中文) )
# modprobe dm-mod (加载lvm所需模块)
# pvcreate /dev/sda2 (创建物理卷组)
# vgcreate archVG /dev/sda2 (archVG只是卷组的名称，可随意)
# lvcreate -L XXXG archVG -n lvlroot (在archVG卷组上创建/分区的逻辑卷lvroot )
# lvcreate -C y -L 4G archVG -n lvswap (创建交换分区的逻辑卷lvswap )
注意：如果你在这期间重启了电脑，那么进入启动盘后，卷组是未激活的，需要&#8221;vgchange [...]]]></description>
			<content:encoded><![CDATA[<p>一直想把分区管理方式转为lvm，趁着工作比较空闲搞定了，期间遇到了不少问题，以此记录。</p>
<p>我之前的分区如下:</p>
<blockquote><p>sda1 &#8211;&gt; /<br />
sda5 &#8211;&gt; /swap<br />
sda6 &#8211;&gt; /tmp (无厘头的tmp分区)<br />
sda7 &#8211;&gt; /home</p></blockquote>
<p>目标分区形式如下：</p>
<blockquote><p>sda1 &#8211;&gt; /boot (除非是用grub2，不然grub是没法安装在lvm的逻辑卷上的)<br />
sda2 &#8211;&gt; archVG &#8212; lvroot (除boot分区外，剩余空间全部做成一个pv，然后划出swap和/分区)<br />
|&#8211; lvswap</p></blockquote>
<p>开始动工：</p>
<p>1、备份现有的archlinux数据</p>
<p>1)、备份/分区</p>
<p>a.先是用archlinux的img镜像做了一个U盘启动盘，进入之后将sda1 挂载到/mnt下面，插上移动硬盘，然后开始tar：</p>
<blockquote><p>tar pmjcf root.tar.bz2 /mnt</p></blockquote>
<p>b.经过漫长的等待，打包结束。home分区的数据依法打包：</p>
<blockquote><p>tar pmjcf home.tar.bz2 /mnt</p></blockquote>
<p>c.数据已经打包并备份到移动硬盘，接下来就是重新分区了，cfdisk、fdisk之类的工具任你挑，分好两个区：sda1(100M)和sda2(剩余所有空间，其实我还留了30G，以后可以装gentoo之类的os)<br />
d.进行lvm操作，创建pv、vg、lv。( 可以参考这里：http://wiki.archlinux.org/index.php/LVM_(简体中文) )</p>
<blockquote><p># modprobe dm-mod (加载lvm所需模块)<br />
# pvcreate /dev/sda2 (创建物理卷组)<br />
# vgcreate archVG /dev/sda2 (archVG只是卷组的名称，可随意)<br />
# lvcreate -L XXXG archVG -n lvlroot (在archVG卷组上创建/分区的逻辑卷lvroot )<br />
# lvcreate -C y -L 4G archVG -n lvswap (创建交换分区的逻辑卷lvswap )</p></blockquote>
<p>注意：如果你在这期间重启了电脑，那么进入启动盘后，卷组是未激活的，需要&#8221;vgchange -a y&#8221;激活之后，才能看到之前创建的逻辑卷。<br />
e.格式化分区。</p>
<blockquote><p># mkfs.ext4 /dev/sda1<br />
# mkfs.ext4 /dev/mapper/archVG-lvroot</p></blockquote>
<p>f.恢复之前备份的数据。<br />
将lvroot挂载到mnt，把root.tar.bz2拷贝到/mnt目录下面，然后解压：</p>
<blockquote><p># mount -t ext4 /dev/mapper/archVG-lvroot /mnt<br />
# cp root.tar.bz2 /xxx /mnt<br />
# cd /mnt; tar pmxf root.tar.bz2</p></blockquote>
<p>将boot目录下的东东全部mv到/dev/sda1下。(这里就略了，mount到另外一个地方再mv过去即可)<br />
g.重编译内核(为了添加lvm支持)与重装grub。(参考这里：http://wiki.archlinux.org/index.php/重装GRUB )</p>
<blockquote><p># cd /<br />
# mount -t ext4   /dev/mapper/archVG-lvroot /mnt<br />
# mount -t ext4   /dev/sda1   /mnt/boot<br />
# mount -t proc   proc        /mnt/proc<br />
# mount -t sysfs  sys         /mnt/sys<br />
# mount -o bind   /dev        /mnt/dev<br />
# chroot /mnt /bin/bash</p>
<p># vim /etc/rc.conf ( 修改USELVM=&#8221;no&#8221;为USELVM=&#8221;yes&#8221; )<br />
# vim /etc/mkinitcpio.conf ( 在HOOKS的filesystems前面加入lvm2 )<br />
# pacman -U /var/cache/pacman/pkg/kernel26-2.6.xx.x-xxx.pkg.tar.gz</p></blockquote>
<p>(这里图方便，安装的时候会根据mkinitcpio.conf的设置编译加入lvm2模块)</p>
<p>然后根据目前的分区情况编辑/etc/fstab和/boot/grub/menu.lst。(略)<br />
重装grub。</p>
<blockquote><p># grub-install /dev/sda</p></blockquote>
<p>至此，整个过程就结束了，reboot系统吧。在进入系统之前，还需要fsck一下分区，再次reboot就能顺利进入系统了。</p>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2010/02/archlinux-lvm2.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>python版的八皇后&#8230;</title>
		<link>http://stdio.cn/2009/12/8queen_by_python.htm</link>
		<comments>http://stdio.cn/2009/12/8queen_by_python.htm#comments</comments>
		<pubDate>Wed, 02 Dec 2009 06:12:58 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[8queen]]></category>

		<guid isPermaLink="false">http://stdio.cn/?p=241</guid>
		<description><![CDATA[看起来很类C的python代码，走过路过的朋友不要拍我:
#!/usr/bin/env python
global chess
global count
def output():
print chess
def queen(n):
if n==8:
global count
output()
count+=1
return
for i in range(1,9):
chess[n]=i
if check(n) == True:
queen(n+1)
def check(n):
for i in range(0,n):
if chess[i] == chess[n] or abs(chess[i]-chess[n])==abs(i-n):
return False
return True
if __name__ == &#8216;__main__&#8217;:
count=0
chess=[]
for idx in range(0,8):
chess.append(0)
queen(0)
 

 print &#8220;totally have %d solutions!&#8221; % count
]]></description>
			<content:encoded><![CDATA[<p>看起来很类C的python代码，走过路过的朋友不要拍我:</p>
<div class="source" style="font-family: &quot;undefined&quot;; color: #000000;"><span style="color: #008800; font-style: italic;">#!/usr/bin/env python</span></p>
<p><span style="color: #000080; font-weight: bold;">global</span> <span style="color: #000000;">chess</span><br />
<span style="color: #000080; font-weight: bold;">global</span> <span style="color: #000000;">count</span></p>
<p><span style="color: #000080; font-weight: bold;">def</span> <span style="color: #000000;">output</span><span style="color: #000000;">():</span><br />
<span style="color: #000080; font-weight: bold;">print</span> <span style="color: #000000;">chess</span></p>
<p><span style="color: #000080; font-weight: bold;">def</span> <span style="color: #000000;">queen</span>(n<span style="color: #000000;">):</span><br />
<span style="color: #000080; font-weight: bold;">if</span> n<span style="color: #000000;">==</span><span style="color: #0000ff;">8</span><span style="color: #000000;">:</span><br />
<span style="color: #000080; font-weight: bold;">global</span> <span style="color: #000000;">count</span><br />
<span style="color: #000000;">output</span>()<br />
<span style="color: #000000;">count</span><span style="color: #000000;">+=</span><span style="color: #0000ff;">1</span><br />
<span style="color: #000080; font-weight: bold;">return</span><br />
<span style="color: #000080; font-weight: bold;">for</span> <span style="color: #000000;">i</span> <span style="font-weight: bold;">in</span> <span style="color: #000000;">range</span>(<span style="color: #0000ff;">1</span><span style="color: #000000;">,</span><span style="color: #0000ff;">9</span><span style="color: #000000;">):</span><br />
<span style="color: #000000;">chess</span><span style="color: #000000;">[</span>n<span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">i</span><br />
<span style="color: #000080; font-weight: bold;">if</span> <span style="color: #000000;">check</span>(n) <span style="color: #000000;">==</span> <span style="color: #000000;">True</span><span style="color: #000000;">:</span><br />
<span style="color: #000000;">queen</span>(n<span style="color: #000000;">+</span><span style="color: #0000ff;">1</span>)</p>
<p><span style="color: #000080; font-weight: bold;">def</span> <span style="color: #000000;">check</span>(n<span style="color: #000000;">):</span><br />
<span style="color: #000080; font-weight: bold;">for</span> <span style="color: #000000;">i</span> <span style="font-weight: bold;">in</span> <span style="color: #000000;">range</span>(<span style="color: #0000ff;">0</span><span style="color: #000000;">,</span>n<span style="color: #000000;">):</span><br />
<span style="color: #000080; font-weight: bold;">if</span> <span style="color: #000000;">chess</span><span style="color: #000000;">[</span><span style="color: #000000;">i</span><span style="color: #000000;">]</span> <span style="color: #000000;">==</span> <span style="color: #000000;">chess</span><span style="color: #000000;">[</span>n<span style="color: #000000;">]</span> <span style="font-weight: bold;">or</span> <span style="color: #000000;">abs</span>(<span style="color: #000000;">chess</span><span style="color: #000000;">[</span><span style="color: #000000;">i</span><span style="color: #000000;">]</span><span style="color: #000000;">-</span><span style="color: #000000;">chess</span><span style="color: #000000;">[</span>n<span style="color: #000000;">])</span><span style="color: #000000;">==</span><span style="color: #000000;">abs</span>(<span style="color: #000000;">i</span><span style="color: #000000;">-</span>n<span style="color: #000000;">):</span><br />
<span style="color: #000080; font-weight: bold;">return</span> <span style="color: #000000;">False</span><br />
<span style="color: #000080; font-weight: bold;">return</span> <span style="color: #000000;">True</span></p>
<p><span style="color: #000080; font-weight: bold;">if</span> <span style="color: #000000;">__name__</span> <span style="color: #000000;">==</span> <span style="color: #0000ff;">&#8216;__main__&#8217;</span><span style="color: #000000;">:</span><br />
<span style="color: #000000;">count</span><span style="color: #000000;">=</span><span style="color: #0000ff;">0</span><br />
<span style="color: #000000;">chess</span><span style="color: #000000;">=</span><span style="color: #000000;">[]</span><br />
<span style="color: #000080; font-weight: bold;">for</span> <span style="color: #000000;">idx</span> <span style="font-weight: bold;">in</span> <span style="color: #000000;">range</span>(<span style="color: #0000ff;">0</span><span style="color: #000000;">,</span><span style="color: #0000ff;">8</span><span style="color: #000000;">):</span><br />
<span style="color: #000000;">chess</span><span style="color: #000000;">.</span><span style="color: #000000;">append</span>(<span style="color: #0000ff;">0</span>)<br />
<span style="color: #000000;">queen</span>(<span style="color: #0000ff;">0</span>)<br />
<span style="color: #000080; font-weight: bold;"> </span></div>
<div class="source" style="font-family: &quot;undefined&quot;; color: #000000;"></div>
<div class="source" style="font-family: &quot;undefined&quot;; color: #000000;"><span style="color: #000080; font-weight: bold;"> print</span> <span style="color: #0000ff;">&#8220;totally have </span><span style="color: #0000ff;">%d</span><span style="color: #0000ff;"> solutions!&#8221;</span> <span style="color: #000000;">%</span> <span style="color: #000000;">count</span></div>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/12/8queen_by_python.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>西门子S65使用Google Sync同步联系人</title>
		<link>http://stdio.cn/2009/09/siemens_s65_use_google-sync.htm</link>
		<comments>http://stdio.cn/2009/09/siemens_s65_use_google-sync.htm#comments</comments>
		<pubDate>Fri, 18 Sep 2009 14:39:38 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[share]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google sync]]></category>
		<category><![CDATA[s65]]></category>
		<category><![CDATA[siemens]]></category>

		<guid isPermaLink="false">http://stdio.cn/?p=227</guid>
		<description><![CDATA[听说过西门子S65这款手机吗？ 也许很多人都不知道S65。这是一款十分经典的商务手机，我于2005年8月购买了他，一直使用到现在，所有功能正常。S65早已淡出人们的视线，但我相信不少西门子手机的玩家手里都收藏着一款S65吧？
在2005年，S65是秒杀所有同价位的手机的。130万像素的摄像头，支持蓝牙和红外，2.1“超大”屏幕，支持扩展卡，支持J2ME MIDP2.0 &#8230;&#8230; 我当时在友人网泡了半个月才选中了他。
不怀旧啦，进入正题。随着S65的日渐老去，我也之没在考虑更换新的手机，而如何将S65的联系人同步出来，我一直没有找到方便的途径。今天花了些时间来google网友们采用的方法，发现使用google sync来同步联系人既方便又环保，但网友的案例是S75或是S68，我按照他们的步骤设置了[远程同步处理]，进行同步时出现了&#8221;通信连接失败&#8221;和&#8221;通信协议错误 ox8010&#8243;等错误。
我注意到有人回帖S65也可以使用google sync同步，但他没有贴出具体的设置步骤。本着折腾的原则，我开始调试[远程同步处理]的配置，经过半小时的努力，总算是成功了，S65上的所有联系人都通过google sync顺利同步到了Gmail中。
具体的设置如下：
1、打开附加功能-&#62;远程同步处理，勾选&#8221;联络人&#8221;
2、进入&#8221;激活配置文件&#8221;，这里预设了5份配置，选择其一就可以了。
服务运营商：GPRS via cmnet
首页：https://m.google.com/syncml  (使用HTTPS)
端口：443
用户名称：yourname@gmail.com (就是你的gmail邮箱)
密码：gmail的密码
联络人路径：./contacts （其他的路径不需要设置，留空）
HTTP身份验证：否
HTTP代理：否
注：红色部分可能要根据当地的运营商更改设置。
3、通过第二步就把同步配置文件设好了，接下来直接按&#8221;同步&#8221;即可。如果你的联系人数目比较多，可能同步过程中会出现中断，再次同步就可以了。
4、同步完成之后，打开Gmail，点击通讯录，看看S65的联系人是不是都已经在里面了？
延伸资料：
SyncML: http://zh.wikipedia.org/wiki/SyncML
s68的设置方法：http://bbs.0110.cn/viewthread.php?tid=413527
]]></description>
			<content:encoded><![CDATA[<p>听说过西门子S65这款手机吗？ 也许很多人都不知道S65。这是一款十分经典的商务手机，我于2005年8月购买了他，一直使用到现在，所有功能正常。S65早已淡出人们的视线，但我相信不少西门子手机的玩家手里都收藏着一款S65吧？<span id="more-227"></span><br />
在2005年，S65是秒杀所有同价位的手机的。130万像素的摄像头，支持蓝牙和红外，2.1“超大”屏幕，支持扩展卡，支持J2ME MIDP2.0 &#8230;&#8230; 我当时在友人网泡了半个月才选中了他。<br />
不怀旧啦，进入正题。随着S65的日渐老去，我也之没在考虑更换新的手机，而如何将S65的联系人同步出来，我一直没有找到方便的途径。今天花了些时间来google网友们采用的方法，发现使用google sync来同步联系人既方便又环保，但网友的案例是S75或是S68，我按照他们的步骤设置了[远程同步处理]，进行同步时出现了&#8221;通信连接失败&#8221;和&#8221;通信协议错误 ox8010&#8243;等错误。<br />
我注意到有人回帖S65也可以使用google sync同步，但他没有贴出具体的设置步骤。本着折腾的原则，我开始调试[远程同步处理]的配置，经过半小时的努力，总算是成功了，S65上的所有联系人都通过google sync顺利同步到了Gmail中。<br />
具体的设置如下：</p>
<blockquote><p>1、打开附加功能-&gt;远程同步处理，勾选&#8221;联络人&#8221;<br />
2、进入&#8221;激活配置文件&#8221;，这里预设了5份配置，选择其一就可以了。<br />
<span style="color: #ff0000;">服务运营商：GPRS via cmnet</span><br />
首页：https://m.google.com/syncml  (使用HTTPS)<br />
端口：443<br />
用户名称：yourname@gmail.com (就是你的gmail邮箱)<br />
密码：gmail的密码<br />
联络人路径：./contacts （其他的路径不需要设置，留空）<br />
HTTP身份验证：否<br />
<span style="color: #ff0000;">HTTP代理：否</span></p>
<p><span style="color: #ff0000;"><span style="color: #008000;">注：红色部分可能要根据当地的运营商更改设置。</span></span><br />
<span style="color: #ff0000;"><span style="color: #008000;"><span style="color: #000000;">3、通过第二步就把同步配置文件设好了，<span style="color: #000000;">接下来直接按&#8221;同步&#8221;</span></span><span style="color: #000000;">即可。如果你的联系人数目比较多，可能同步过程中会出现中断，再次同步就可以了。</span></span></span></p>
<p><span style="color: #ff0000;"><span style="color: #008000;"><span style="color: #000000;">4、同步完成之后，打开Gmail，点击通讯录，看看S65的联系人是不是都已经在里面了？</span></span></span></p></blockquote>
<p><span style="color: #ff0000;"><span style="color: #008000;"><span style="color: #000000;">延伸资料：</span></span></span></p>
<p><span style="color: #ff0000;"><span style="color: #008000;"><span style="color: #000000;">SyncML: </span></span></span><a href="http://zh.wikipedia.org/wiki/SyncML">http://zh.wikipedia.org/wiki/SyncML</a></p>
<p>s68的设置方法：<a href="http://bbs.0110.cn/viewthread.php?tid=413527">http://bbs.0110.cn/viewthread.php?tid=413527</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/09/siemens_s65_use_google-sync.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>遭遇联想的Y430 “闪屏门”</title>
		<link>http://stdio.cn/2009/09/lenovo_laptop_screen_flicker.htm</link>
		<comments>http://stdio.cn/2009/09/lenovo_laptop_screen_flicker.htm#comments</comments>
		<pubDate>Wed, 16 Sep 2009 00:50:30 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[lenovo]]></category>

		<guid isPermaLink="false">http://stdio.cn/?p=222</guid>
		<description><![CDATA[具体的情况可以看看这篇稿子：联想Y430爆出闪屏门
简单点说，就是08年末到09年初出厂的部分Y430机型显示屏有严重的瑕疵，使用一定时间之后屏幕会出现闪屏或白线闪烁的现象。目前，联想给出的解决方案是免费更换显示屏。
我的Y430A-tsi也不幸中招，开机时会闪屏，大约4-5秒一次，5分钟后消失；任务栏有一条白色闪条，一直存在。我已经联系了售后，今天显示屏已经到维修站，中午就去更换。
大部分出现闪屏的显示屏型号为：LP141WX5-TLD1，由于生产这批显示屏的时间正处于金融危机爆发阶段，所以不少人认为LG是在偷工减料。

我逛了一些IT论坛，发现并非联想的本本出现了闪屏，HP、ASUS等品牌的笔记本也出现了类似的闪屏问题，看来当时只要采购了这个型号的显示屏，多数本本都无法逃脱厄运。从315的投诉也可了解一二：http://www.315ts.net/ts/list27.html
虽然我的本本中招了，但到目前为止，我对联想的售后还是比较满意的。发现闪屏之后，我首先拨打了400-810-8888客服电话，向客服人员说明了情况，客服即表示可以联系就近的维修站换屏，并给我做了预约，只要屏幕一到，维修站的工程师就会电话通知。我当时问他，更换的屏幕是否如部分网友所反映的偏黄偏暗，他不置可否，只是表示更换的显示屏和原来的是同性能或高于原性能（这可是三包规定的）。昨天晚上5点左右，维修站的工程师电话联系，告知显示屏已经到了，而我要5：30下班，赶到他们那里大约是在5：50左右。于是，我问他们的工作时间是到几点，工程师回答6点。我又问，如果我6点左右到达维修站，他们是否能在当天给我换好，工程师爽快的回答，当然可以。我喜欢他的态度，至少已经有了好印象。
不说废话了，如果你的笔记本的出厂日期是08年末-09年初这段时间的，如Y430系列，G430系列，且发生了笔记本屏幕闪烁的问题，你可以这么处理，相对能节约你的时间:
1. 联系联想的客服，报故障。电话是400-810-8888
2.通过客服预约就近的维修点。
3.等待维修点的工程师联系你。一旦工程师说可以去换屏了，你就直接杀过去吧，不需要排队。
2009-09-18 Update: 我换了两次屏幕，第一次更换的是LP141WX5-TLN1，显示效果的确不佳，颜色整体偏黄，亮度偏暗，不适合长时间办公。经过沟通，今天更换为三星的屏幕，显示效果比TLN1要好多了，但还是略有黄暗，看来想达到原装屏的效果是不可能了。对联想的客服和维修站的工程师表示感谢，他们的工作态度负责，处理及时，对于目前的结果我已经能够接受。相比之下，HP的售后可就糟糕了，所谓的金牌售后服务换来的却是一大堆的投诉，据说有的用户2个多月都没等到可更换的屏幕，不知道“金牌”二字体现在那里；联想的“阳光雨露”可就务实多了。
]]></description>
			<content:encoded><![CDATA[<p style="padding-left: 30px;">具体的情况可以看看这篇稿子：<a href="http://news.ccidnet.com/art/3205/20090724/1838073_1.html" target="_blank">联想Y430爆出闪屏门</a></p>
<p>简单点说，就是08年末到09年初出厂的部分Y430机型显示屏有严重的瑕疵，使用一定时间之后屏幕会出现闪屏或白线闪烁的现象。目前，联想给出的解决方案是免费更换显示屏。</p>
<p>我的Y430A-tsi也不幸中招，开机时会闪屏，大约4-5秒一次，5分钟后消失；任务栏有一条白色闪条，一直存在。我已经联系了售后，今天显示屏已经到维修站，中午就去更换。</p>
<p>大部分出现闪屏的显示屏型号为：LP141WX5-TLD1，由于生产这批显示屏的时间正处于金融危机爆发阶段，所以不少人认为LG是在偷工减料。</p>
<p><span id="more-222"></span></p>
<p>我逛了一些IT论坛，发现并非联想的本本出现了闪屏，HP、ASUS等品牌的笔记本也出现了类似的闪屏问题，看来当时只要采购了这个型号的显示屏，多数本本都无法逃脱厄运。从315的投诉也可了解一二：<a href="http://www.315ts.net/ts/list27.html" target="_blank">http://www.315ts.net/ts/list27.html</a></p>
<p>虽然我的本本中招了，但到目前为止，我对联想的售后还是比较满意的。发现闪屏之后，我首先拨打了400-810-8888客服电话，向客服人员说明了情况，客服即表示可以联系就近的维修站换屏，并给我做了预约，只要屏幕一到，维修站的工程师就会电话通知。我当时问他，更换的屏幕是否如部分网友所反映的偏黄偏暗，他不置可否，只是表示更换的显示屏和原来的是同性能或高于原性能（这可是三包规定的）。昨天晚上5点左右，维修站的工程师电话联系，告知显示屏已经到了，而我要5：30下班，赶到他们那里大约是在5：50左右。于是，我问他们的工作时间是到几点，工程师回答6点。我又问，如果我6点左右到达维修站，他们是否能在当天给我换好，工程师爽快的回答，当然可以。我喜欢他的态度，至少已经有了好印象。</p>
<p>不说废话了，如果你的笔记本的出厂日期是08年末-09年初这段时间的，如Y430系列，G430系列，且发生了笔记本屏幕闪烁的问题，你可以这么处理，相对能节约你的时间:</p>
<blockquote><p>1. 联系联想的客服，报故障。电话是400-810-8888</p>
<p>2.通过客服预约就近的维修点。</p>
<p>3.等待维修点的工程师联系你。一旦工程师说可以去换屏了，你就直接杀过去吧，不需要排队。</p></blockquote>
<p><span style="color: #ff0000;">2009-09-18 Update</span>: 我换了两次屏幕，第一次更换的是LP141WX5-TLN1，显示效果的确不佳，颜色整体偏黄，亮度偏暗，不适合长时间办公。经过沟通，今天更换为三星的屏幕，显示效果比TLN1要好多了，但还是略有黄暗，看来想达到原装屏的效果是不可能了。对联想的客服和维修站的工程师表示感谢，他们的工作态度负责，处理及时，对于目前的结果我已经能够接受。相比之下，HP的售后可就糟糕了，所谓的金牌售后服务换来的却是一大堆的投诉，据说有的用户2个多月都没等到可更换的屏幕，不知道“金牌”二字体现在那里；联想的“阳光雨露”可就务实多了。</p>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/09/lenovo_laptop_screen_flicker.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>设定pcmanfm的mount选项，让ntfs的移动硬盘正确挂载</title>
		<link>http://stdio.cn/2009/09/edit_pcmanfm_mount_rules.htm</link>
		<comments>http://stdio.cn/2009/09/edit_pcmanfm_mount_rules.htm#comments</comments>
		<pubDate>Sun, 13 Sep 2009 06:40:57 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://stdio.cn/?p=215</guid>
		<description><![CDATA[目前的桌面环境是openbox + pcmanfm，挂载移动硬盘的时候，不管是目录还是文件，权限都是777，这是不符合原则的，我想到了修改hal的规则文件：/usr/share/hal/fdi/policy/10osvendor/20-ntfs-config-write-policy.fdi，添加下面的语句：
&#60;append key=&#8221;volume.mount.valid_options&#8221; type=&#8221;strlist&#8221;&#62;dmask=&#60;/append&#62;
&#60;append key=&#8221;volume.mount.valid_options&#8221; type=&#8221;strlist&#8221;&#62;fmask=&#60;/append&#62;
但是设置了之后，重启hal，挂载移动硬盘还是777的权限，上Sir一问，原来pcmanfm本身有一个mount.rules规则设定，那就改这个文件吧，终于解决了权限的问题。编辑/usr/share/pcmanfm/mount.rules，更改部分如下：

[ntfs-3g]
# mount_options=locale=;exec
mount_options=fmask=0113;dmask=0002;locale=;exec

[ntfs]
mount_options=umask=222;utf8;exec
fstype_override=ntfs-3g

还可以参考以下这篇帖子：http://bbs.archlinux.org/viewtopic.php?id=55751
]]></description>
			<content:encoded><![CDATA[<p>目前的桌面环境是openbox + pcmanfm，挂载移动硬盘的时候，不管是目录还是文件，权限都是777，这是不符合原则的，我想到了修改hal的规则文件：/usr/share/hal/fdi/policy/10osvendor/20-ntfs-config-write-policy.fdi，添加下面的语句：</p>
<blockquote><p>&lt;append key=&#8221;volume.mount.valid_options&#8221; type=&#8221;strlist&#8221;&gt;dmask=&lt;/append&gt;<br />
&lt;append key=&#8221;volume.mount.valid_options&#8221; type=&#8221;strlist&#8221;&gt;fmask=&lt;/append&gt;</p></blockquote>
<p>但是设置了之后，重启hal，挂载移动硬盘还是777的权限，上Sir一问，原来pcmanfm本身有一个mount.rules规则设定，那就改这个文件吧，终于解决了权限的问题。编辑/usr/share/pcmanfm/mount.rules，更改部分如下：</p>
<blockquote>
<pre>[ntfs-3g]
# mount_options=locale=;exec
mount_options=fmask=0113;dmask=0002;locale=;exec

[ntfs]
mount_options=umask=222;utf8;exec
fstype_override=ntfs-3g</pre>
</blockquote>
<p>还可以参考以下这篇帖子：<a href="http://bbs.archlinux.org/viewtopic.php?id=55751" target="_blank">http://bbs.archlinux.org/viewtopic.php?id=55751</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/09/edit_pcmanfm_mount_rules.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>山寨产品不可靠，拆了1.8英寸的20G移动硬盘[图]</title>
		<link>http://stdio.cn/2009/08/%e5%b1%b1%e5%af%a8%e4%ba%a7%e5%93%81%e4%b8%8d%e5%8f%af%e9%9d%a0%ef%bc%8c%e6%8b%86%e4%ba%861-8%e8%8b%b1%e5%af%b8%e7%9a%8420g%e7%a7%bb%e5%8a%a8%e7%a1%ac%e7%9b%98%e5%9b%be.htm</link>
		<comments>http://stdio.cn/2009/08/%e5%b1%b1%e5%af%a8%e4%ba%a7%e5%93%81%e4%b8%8d%e5%8f%af%e9%9d%a0%ef%bc%8c%e6%8b%86%e4%ba%861-8%e8%8b%b1%e5%af%b8%e7%9a%8420g%e7%a7%bb%e5%8a%a8%e7%a1%ac%e7%9b%98%e5%9b%be.htm#comments</comments>
		<pubDate>Mon, 24 Aug 2009 02:25:42 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://stdio.cn/?p=209</guid>
		<description><![CDATA[手上有一枚朋友送的1.8英寸的20G移动硬盘，不想用了没几次就无法使用了，症状是插到电脑上后显示已连接，但盘符不出现。在设备管理器中（Vista）将它初始化，提示设备未就绪。我猜想里面的接线松了，就用一字螺丝刀直接把外壳扒了。原来还真是CE线和板子上的接触松开了（卡扣形式的接口），于是乎，把它接上，再用透明胶当绷带，把外壳粘上，又可以正常使用了。
硬盘是日立的，盒子是山寨的。

这几天正打算DIY一个2.5的移动硬盘，本来对硬盘盒没有什么特别要求，还看上了一些仿品，三星的、索尼的、希捷的，你想要什么外壳，淘宝都能淘到。不过现在我改变主意了，决定挑一个国产的品牌产品。
]]></description>
			<content:encoded><![CDATA[<p>手上有一枚朋友送的1.8英寸的20G移动硬盘，不想用了没几次就无法使用了，症状是插到电脑上后显示已连接，但盘符不出现。在设备管理器中（Vista）将它初始化，提示设备未就绪。我猜想里面的接线松了，就用一字螺丝刀直接把外壳扒了。原来还真是CE线和板子上的接触松开了（卡扣形式的接口），于是乎，把它接上，再用透明胶当绷带，把外壳粘上，又可以正常使用了。</p>
<p>硬盘是日立的，盒子是山寨的。</p>
<p><img class="aligncenter" title="1" src="http://i3.6.cn/cvbnm/69/b5/39/78c249f0171b0cc8d519f28866b40d56.jpg" alt="" width="383" height="249" /><br />
这几天正打算DIY一个2.5的移动硬盘，本来对硬盘盒没有什么特别要求，还看上了一些仿品，三星的、索尼的、希捷的，你想要什么外壳，淘宝都能淘到。不过现在我改变主意了，决定挑一个国产的品牌产品。</p>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/08/%e5%b1%b1%e5%af%a8%e4%ba%a7%e5%93%81%e4%b8%8d%e5%8f%af%e9%9d%a0%ef%bc%8c%e6%8b%86%e4%ba%861-8%e8%8b%b1%e5%af%b8%e7%9a%8420g%e7%a7%bb%e5%8a%a8%e7%a1%ac%e7%9b%98%e5%9b%be.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android资料整理与分享</title>
		<link>http://stdio.cn/2009/05/share_android_docs.htm</link>
		<comments>http://stdio.cn/2009/05/share_android_docs.htm#comments</comments>
		<pubDate>Wed, 13 May 2009 06:21:30 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://www.stdio.cn/?p=200</guid>
		<description><![CDATA[有时间的感觉真好，可以拼命写blog。
话说我的毕业设计是基于Android的，可是惭愧啊，不是原创应用，而是在Contacts基础之上增加新的功能，是个分支应用。
忙活了1个多月，自然收集了一些Android的资料，我不敢独享，还是放到blog上吧，有需要的朋友尽情下载。
说明一点，这些资料或文档都是在互联网上收集的，别用于非法用途&#8230;&#8230;
PDF：
下载了4本书，其中3本英文，1本繁体中文。
Android A Programmers Guide：http://www.boxcn.net/shared/97j6g57vdx
Professional Android App：http://www.boxcn.net/shared/d8ktzfpjkx
Android Essential：http://www.boxcn.net/shared/4c4rz0nr4f
Android应用框架原理与程式设计：http://www.boxcn.net/shared/495hfh7mse
]]></description>
			<content:encoded><![CDATA[<p>有时间的感觉真好，可以拼命写blog。</p>
<p>话说我的毕业设计是基于Android的，可是惭愧啊，不是原创应用，而是在Contacts基础之上增加新的功能，是个分支应用。</p>
<p>忙活了1个多月，自然收集了一些Android的资料，我不敢独享，还是放到blog上吧，有需要的朋友尽情下载。</p>
<p>说明一点，这些资料或文档都是在互联网上收集的，别用于非法用途&#8230;&#8230;</p>
<p>PDF：</p>
<p>下载了4本书，其中3本英文，1本繁体中文。</p>
<blockquote><p>Android A Programmers Guide：<a href="http://www.boxcn.net/shared/97j6g57vdx">http://www.boxcn.net/shared/97j6g57vdx</a></p>
<p>Professional Android App：<a href="http://www.boxcn.net/shared/d8ktzfpjkx">http://www.boxcn.net/shared/d8ktzfpjkx</a></p>
<p>Android Essential：<a href="http://www.boxcn.net/shared/4c4rz0nr4f">http://www.boxcn.net/shared/4c4rz0nr4f</a></p>
<p>Android应用框架原理与程式设计：<a href="http://www.boxcn.net/shared/495hfh7mse">http://www.boxcn.net/shared/495hfh7mse</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/05/share_android_docs.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>AutoCompleteTextView之 onItemClickListener接口</title>
		<link>http://stdio.cn/2009/05/autocompletetextview.htm</link>
		<comments>http://stdio.cn/2009/05/autocompletetextview.htm#comments</comments>
		<pubDate>Wed, 13 May 2009 05:48:09 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[AutoCompleteTextView]]></category>

		<guid isPermaLink="false">http://www.stdio.cn/?p=198</guid>
		<description><![CDATA[题目取得有点怪，呵呵。
AutoCompleteTextView控件很实用，输入信息自动查询（异步的），结果以下拉列表显示。现在有这么一个需求，点击下拉列表的某个项目，弹出一个对话框，做相关的编辑操作。
重新实现一遍onItemClickListener接口就可以实现了。为什么说是重新呢？因为AutoCompleteTextView控件自己已经用了这个接口，就是点击某个项目，把相关的信息放到输入框中。
比如，下面的写法：
private class myDropDownItemClickListener
implements AdapterView.OnItemClickListener {
  public void onItemClick(AdapterView parent, View v, int position, long id) {
    showChoiceDialog(id); //自定义的方法，用于显示dialog
  }
}
你可以把相关的处理过程放在onItemClick中。
]]></description>
			<content:encoded><![CDATA[<p>题目取得有点怪，呵呵。</p>
<p>AutoCompleteTextView控件很实用，输入信息自动查询（异步的），结果以下拉列表显示。现在有这么一个需求，点击下拉列表的某个项目，弹出一个对话框，做相关的编辑操作。</p>
<p>重新实现一遍onItemClickListener接口就可以实现了。为什么说是重新呢？因为AutoCompleteTextView控件自己已经用了这个接口，就是点击某个项目，把相关的信息放到输入框中。</p>
<p>比如，下面的写法：</p>
<pre>private class myDropDownItemClickListener
implements AdapterView.OnItemClickListener {
  public void onItemClick(AdapterView parent, View v, int position, long id) {
    showChoiceDialog(id); //自定义的方法，用于显示dialog
  }
}</pre>
<p>你可以把相关的处理过程放在onItemClick中。</p>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/05/autocompletetextview.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用tar备份archlinux</title>
		<link>http://stdio.cn/2009/05/backup_archlinux_using_tar.htm</link>
		<comments>http://stdio.cn/2009/05/backup_archlinux_using_tar.htm#comments</comments>
		<pubDate>Wed, 13 May 2009 05:30:58 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[arch]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://www.stdio.cn/?p=196</guid>
		<description><![CDATA[今天开机自检硬盘的时候报错了，所以想到了做个备份，以防万一：
tar -cvpzf /media/xx/root-backup.tgz &#8211;exclude=/dev &#8211;exclude=/media &#8211;exclude=/mnt &#8211;exclude=/proc &#8211;exclude=/sys &#8211;exclude=/tmp &#8211;exclude=/var/tmp &#8211;exclude=/lost+found / （/和home在同一分区）
现在只给archlinux分了约40G的容量，其余都归了vista。随着答辩的结束，我也在考虑硬盘的分区问题，首先还得购买一款移动硬盘：
1. 丢弃vista，换上mac os + archlinux
2. 保留vista，同时mac os + archlinux
乘着这段时间，好好折腾一番。
]]></description>
			<content:encoded><![CDATA[<p>今天开机自检硬盘的时候报错了，所以想到了做个备份，以防万一：</p>
<p>tar -cvpzf /media/xx/root-backup.tgz &#8211;exclude=/dev &#8211;exclude=/media &#8211;exclude=/mnt &#8211;exclude=/proc &#8211;exclude=/sys &#8211;exclude=/tmp &#8211;exclude=/var/tmp &#8211;exclude=/lost+found / （/和home在同一分区）</p>
<p>现在只给archlinux分了约40G的容量，其余都归了vista。随着答辩的结束，我也在考虑硬盘的分区问题，首先还得购买一款移动硬盘：</p>
<p>1. 丢弃vista，换上mac os + archlinux</p>
<p>2. 保留vista，同时mac os + archlinux</p>
<p>乘着这段时间，好好折腾一番。</p>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/05/backup_archlinux_using_tar.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[转贴] MLdonkey 与 sancho 的安装使用及设置</title>
		<link>http://stdio.cn/2009/04/mldonkey-sancho-setup.htm</link>
		<comments>http://stdio.cn/2009/04/mldonkey-sancho-setup.htm#comments</comments>
		<pubDate>Sat, 25 Apr 2009 05:02:05 +0000</pubDate>
		<dc:creator>rem1x</dc:creator>
				<category><![CDATA[默认分类]]></category>
		<category><![CDATA[mldonkey]]></category>
		<category><![CDATA[sancho]]></category>

		<guid isPermaLink="false">http://www.stdio.cn/?p=192</guid>
		<description><![CDATA[用了一段时间的MLdonkey了，很满意。把基本的设置转过来，作为备份。
原帖地址：http://www.imxxb.com/2008/01/mldonkey-sancho.html
其实我是想抱怨设置略显麻烦。虽然在Linux上的应用软件的设置都很自由，用户可以根据自己的喜好进行定制，但这也会带来一个问题，对于普通的用户能否设计一套缺省的配置呢？如同Windows上的应用软件一样，安装即可使用。我理解这其中蕴涵的UNIX哲学，也欣赏并且享受Linux上的软件使用方式，因为我是一个Linux爱好者。遗憾的是，我身边的同学，可以称之为Linux用户，他们时常抱怨Linux的操作和设置太琐碎，也许是因为他们习惯了Windows的傻瓜，但是我觉得对于普通用户来说，简单且省时是他们挑选应用的原则之一。

MLdonkey被誉为速度最快的电驴，同时支持很多种P2P的下载协议，包括edonkey2000、gnutella、gnutella2、bt、FileTP
等等。网上有很多安装和设置的文章，但是有点乱，有些也不够完整，今天有空将它整理如下
下载最新版 MLdonkey &#38; sancho（左键点击）
一.安装 mldonkey：
解压缩mldonkey源代码并进入其目录，然后

$ sudo apt-get install ocaml$ ./configure
$ make
$ make install

（使用新版本的mldonkey源代码编译安装后已不会有下载后文件名不支持中文的问题）
二.安装 sancho：
sancho是mldonkey最好用的一个前端，下载回来的sancho只有一个文件，是一个脚本，先右键单击它，找到属性-权限部分，钩上“可执行”，然后在终端中运行之：

$ ./sancho-*-linux-gtk.sh

然后会显示

Extract to directory [&#60;sancho-*-linux-gtk&#62;]:

输入自定义安装目录，随便你，我安装在/usr/local/sancho
稍等一会就装好了，在/usr/local/sancho/下有个sancho，双击它就能运行sancho
三.sancho设置
先运行mlnet，在/usr/local/bin或/usr/bin下，然后运行sancho，首次运行会有配置向导，需要设置mlnet位置。在sancho里面也可以设置mlnet的运行路径
在工具-&#62;首选项-&#62;sancho:主要-&#62;可选的可执行core 那里填上你的mlnet路径。这样以后就可以直接启动sancho。
设置中文: 在工具-&#62;首选项-&#62;sancho:主要-&#62;使用本地文件 选择zh-CN,重启sancho后即为中文。
在工具-&#62;首选项-&#62;Main 设置 client_name 推荐设置成[CHN][VeryCD]yourname的形式，支持中文。
在工具-&#62;首选项-&#62;Bandwidth 设置 max_hard_upload_rate 和 max_hard_download_rate 分别是上传和下载速度，单位是KB
在工具-&#62;首选项-&#62;Networks 勾选 enable_overnet 和 enable_kademlia
在工具-&#62;首选项-&#62;Networks-&#62;Donkey有这两项：

ED2K-force_client_high_idED2K-force_high_id

如果你是公网用户，或者你是内网，且设置了端口映射，则勾选它们，如果你打死都是内网低ID用户，就不要选了，否则会很难连上服务器。
你可以选上试试看，不行再取消。
在工具-&#62;首选项-&#62;Networks-&#62;Donkey-&#62;ED2K-port 设置端口，如果你有windows下的emule，最好把他们的端口(tcp的)设成一样，因为有些路由器有记忆功能，导致windows下的端口在重启后仍然保留。一般emule默认端口为4662,但有些宽带运营商会封掉该端口，建议改掉。
在工具-&#62;首选项-&#62;Networks-&#62;Donkey-&#62;ED2K-max_connected_servers 设置服务器最大连接数，默认为3，不用太大，大了也没用，一般稳定下来也就三四个左右，我把它设为7
打开sancho主界面，点击控制台，然后在最下方的命令输入框那里
用如下命令导入服务器

servers http://www.emule.org.cn/server.met

用ov_load命令导入overnet的node列表，推荐下载http://download.overnet.org/contact.dat
用kad_load命令导入kad的node列表，推荐下载http://www.emule-inside.net/nodes.dat
或http://renololo1.free.fr/e/nodes.dat，也可使用eMule的nodes.data
对于ov_load和kad_load，需要先下载回本地，比如把contact.dat下载到桌面后，输入：

ov_load /home/xxb/桌面/contact.dat

路径请修改为适合你自己的。
修改下载目录和temp目录: 默认目录分别为 ~/.mldonkey/incoming/files （BT则为~/.mldonkey/incoming/directories) 和 ~/.mldonkey/temp
修改 ~/.mldonkey/downloads.ini，找到“SECTION : Paths”，然后修改第一段和倒数第二段的路径，注意这里是相对路径。下载目录和temp目录最好放在同一个硬盘分区，否则下载完成转移临时文件时，硬 盘灯会狂闪。或者通过建立软链接来更改下载目录也可以（推荐）。
比如我把下载目录和临时目录都移到/home/xxb/Videos/下，则把~/.mldonkey/下的incoming和temp目录都剪切到/home/xxb/Videos/下，然后建立软链接：

$ ln -s ~/Videos/incoming ~/.mldonkey/incoming$ ln -s ~/Videos/temp ~/.mldonkey/temp

四.设置浏览器关联
这里只说firefox的关联，如果需要设置其它浏览器，请参考mldonkey 和浏览器关联的办法,适用 [...]]]></description>
			<content:encoded><![CDATA[<p>用了一段时间的MLdonkey了，很满意。把基本的设置转过来，作为备份。</p>
<p>原帖地址：http://www.imxxb.com/2008/01/mldonkey-sancho.html</p>
<p>其实我是想抱怨设置略显麻烦。虽然在Linux上的应用软件的设置都很自由，用户可以根据自己的喜好进行定制，但这也会带来一个问题，对于普通的用户能否设计一套缺省的配置呢？如同Windows上的应用软件一样，安装即可使用。我理解这其中蕴涵的UNIX哲学，也欣赏并且享受Linux上的软件使用方式，因为我是一个Linux爱好者。遗憾的是，我身边的同学，可以称之为Linux用户，他们时常抱怨Linux的操作和设置太琐碎，也许是因为他们习惯了Windows的傻瓜，但是我觉得对于普通用户来说，简单且省时是他们挑选应用的原则之一。</p>
<p><span id="more-192"></span></p>
<p>MLdonkey被誉为<span style="text-decoration: underline;"><span class="postdetails">速度最快的电驴</span></span>，同时支持很多种P2P的下载协议，包括edonkey2000、gnutella、gnutella2、bt、FileTP</p>
<p>等等。网上有很多安装和设置的文章，但是有点乱，有些也不够完整，今天有空将它整理如下</p>
<p>下载最新版 <a href="http://sourceforge.net/project/showfiles.php?group_id=156414&amp;package_id=174487" target="_blank">MLdonkey</a> &amp; <a href="http://sancho-gui.sourceforge.net/download.phtml" target="_blank">sancho</a>（左键点击）</p>
<p><span style="font-size: medium;">一.安装 mldonkey</span>：</p>
<p>解压缩mldonkey源代码并进入其目录，然后</p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">$ sudo apt-get install ocaml$ ./configure</p>
<p>$ make</p>
<p>$ make install</p></div>
</div>
<p>（使用新版本的mldonkey源代码编译安装后已不会有下载后文件名不支持中文的问题）</p>
<p><span style="font-size: medium;">二.安装 sancho：</span></p>
<p><span style="font-size: small;">sancho是mldonkey最好用的一个前端，</span><span style="font-size: small;">下载回来的sancho只有一个文件，是一个脚本，先右键单击它，找到属性-权限部分，钩上“可执行”，然后在终端中运行之：</span></p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">$ ./sancho-*-linux-gtk.sh</div>
</div>
<p><span style="font-size: small;">然后会显示</span></p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">Extract to directory [&lt;sancho-*-linux-gtk&gt;]:</div>
</div>
<p>输入自定义安装目录，随便你，我安装在/usr/local/sancho</p>
<p>稍等一会就装好了，在/usr/local/sancho/下有个sancho，双击它就能运行sancho</p>
<p><span style="font-size: medium;">三.</span><span style="font-size: medium;">sancho</span><span style="font-size: medium;">设置</span></p>
<p>先运行mlnet，在/usr/local/bin或/usr/bin下，然后运行sancho，首次运行会有配置向导，需要设置mlnet位置。在sancho里面也可以设置mlnet的运行路径</p>
<p>在<strong>工具</strong>-&gt;<strong>首选项</strong>-&gt;<strong>sancho:主要</strong>-&gt;<strong>可选的可执行core</strong> 那里填上你的mlnet路径。这样以后就可以直接启动sancho。</p>
<p>设置中文: 在<strong>工具</strong>-&gt;<strong>首选项</strong>-&gt;<strong>sancho:主要</strong>-&gt;<strong>使用本地文件</strong> 选择zh-CN,重启sancho后即为中文。</p>
<p>在<strong>工具</strong>-&gt;<strong>首选项</strong>-&gt;<strong>Main</strong> 设置 <strong>client_name</strong> 推荐设置成[CHN][VeryCD]<strong>yourname</strong>的形式，支持中文。</p>
<p>在<strong>工具</strong>-&gt;<strong>首选项</strong>-&gt;<strong>Bandwidth </strong>设置 <strong>max_hard_upload_rate </strong>和<strong> max_hard_download_rate </strong>分别是上传和下载速度，单位是KB</p>
<p>在<strong>工具</strong>-&gt;<strong>首选项</strong>-&gt;<strong>Networks</strong> 勾选 <strong>enable_overnet</strong> 和 <strong>enable_kademlia</strong></p>
<p>在<strong>工具</strong>-&gt;<strong>首选项</strong>-&gt;<strong>Networks</strong>-&gt;<strong>Donkey</strong>有这两项：</p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">ED2K-force_client_high_idED2K-force_high_id</div>
</div>
<p>如果你是公网用户，或者你是内网，且设置了端口映射，则勾选它们，如果你打死都是内网低ID用户，就不要选了，否则会很难连上服务器。</p>
<p>你可以选上试试看，不行再取消。</p>
<p>在<strong>工具</strong>-&gt;<strong>首选项</strong>-&gt;<strong>Networks</strong>-&gt;<strong>Donkey</strong>-&gt;<strong>ED2K-port</strong> 设置端口，如果你有windows下的emule，最好把他们的端口(tcp的)设成一样，因为有些路由器有记忆功能，导致windows下的端口在重启后仍然保留。一般emule默认端口为4662,但有些宽带运营商会封掉该端口，建议改掉。</p>
<p>在<strong>工具</strong>-&gt;<strong>首选项</strong>-&gt;<strong>Networks</strong>-&gt;<strong>Donkey</strong>-&gt;<strong>ED2K-max_connected_servers</strong> 设置服务器最大连接数，默认为3，不用太大，大了也没用，一般稳定下来也就三四个左右，我把它设为7</p>
<p>打开sancho主界面，点击控制台，然后在最下方的命令输入框那里</p>
<p>用如下命令导入服务器</p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">servers http://www.emule.org.cn/server.met</div>
</div>
<p>用ov_load命令导入overnet的node列表，推荐下载<a href="http://download.overnet.org/contact.dat" target="_blank">http://download.overnet.org/contact.dat</a></p>
<p>用kad_load命令导入kad的node列表，推荐下载<a href="http://www.emule-inside.net/nodes.dat" target="_blank">http://www.emule-inside.net/nodes.dat</a></p>
<p>或<a href="http://renololo1.free.fr/e/nodes.dat" target="_blank">http://renololo1.free.fr/e/nodes.dat</a>，也可使用eMule的nodes.data</p>
<p>对于ov_load和kad_load，需要先下载回本地，比如把contact.dat下载到桌面后，输入：</p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">ov_load /home/xxb/桌面/contact.dat</div>
</div>
<p>路径请修改为适合你自己的。</p>
<p>修改下载目录和temp目录: 默认目录分别为 ~/.mldonkey/incoming/files （BT则为~/.mldonkey/incoming/directories) 和 ~/.mldonkey/temp</p>
<p>修改 ~/.mldonkey/downloads.ini，找到“SECTION : Paths”，然后修改第一段和倒数第二段的路径，注意这里是相对路径。下载目录和temp目录最好放在同一个硬盘分区，否则下载完成转移临时文件时，硬 盘灯会狂闪。或者通过建立软链接来更改下载目录也可以（推荐）。</p>
<p>比如我把下载目录和临时目录都移到/home/xxb/Videos/下，则把~/.mldonkey/下的incoming和temp目录都剪切到/home/xxb/Videos/下，然后建立软链接：</p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">$ ln -s ~/Videos/incoming ~/.mldonkey/incoming$ ln -s ~/Videos/temp ~/.mldonkey/temp</div>
</div>
<p><span style="font-size: medium;">四.设置浏览器关联</span></p>
<p>这里只说firefox的关联，如果需要设置其它浏览器，请参考<a href="http://forum.ubuntu.org.cn/viewtopic.php?t=47733&amp;highlight=mldonkey+%E5%85%B3%E8%81%94" target="_blank">mldonkey 和浏览器关联的办法,适用 firefox, konqueror</a></p>
<p>先建立脚本,这里我们把它取名为 submit, 放在 ~/.mldonkey 下面。内容如下:</p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">#!/bin/bashecho dllink $*|nc -q 1 127.0.0.1 4000</div>
<p>如果系统是ArchLinux，则需安装netcat(gnu-netcat),并改为</p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">#!/bin/bashecho dllink $*|nc 127.0.0.1 4000</div>
</div>
</div>
<p>然后<span style="font-size: small;">右键单击它，找到属性-权限部分，钩上“可执行”</span></p>
<p><span style="font-size: small;">接下来在firefox地址栏输入 about:config</span></p>
<p><span style="font-size: small;">新建 字符串(string)</span></p>
<div class="hl_result">
<div class="text" style="border: 1px dotted #aaaaaa; margin: 8px; padding: 2px; font-family: 'bitstream vera sans mono',monaco,Arial,Verdana,Helvetica,serif; color: #555555;">network.protocol-handler.app.ed2k</div>
</div>
<p>值为submit 脚本的位置，比如我的是 /home/xxb/.mldonkey/submit</p>
<p>也可以安装firefox扩展，以关联ed2k、bt等，解压后的mldoneky-distrib-xxx/ed2k_mozilla/文件夹下 有个 mldonkey_protocol_handler-xx.xpi，把它拖到fx窗口选择安装。重启后就可以双击MLdonkey Protocal Handler这个扩展设置关联了，这个扩展也可以关联到amule。不过扩展当然是能不装就不装，所以推荐使用submit脚本的方法。</p>
<p><span style="font-size: medium;">五.WEB界面</span></p>
<p>你也可以用浏览器控制和观察mldonkey，地址是 <a href="http://localhost:4080/" target="_blank">http://localhost:4080/</a></p>
<p>我比较推崇用这个，不占额外资源（不必一直开着sancho，毕竟java的东西会占不少内存和cpu），设置更强，不过是英文的。你还可以编辑~/.mldonkey下的各个文件进行设置，这里不再敖述。</p>
<p><span style="font-size: medium;">六.端口映射</span></p>
<p>打开 <a href="http://localhost:4080/" target="_blank">http://localhost:4080/</a>后，点击<strong>Help+</strong>-&gt;<strong>Sysinfo</strong> 这里可以查看mldonkey的端口使用情况，除了core那3个，建议其余的都在路由器里设置端口映射，如果有防火墙，还要打开相应端口。</p>
<p><strong></strong></p>
<p><a href="http://www.emule.org.cn/topic/nat/" target="_blank">点击查看各种主流路由器映射的设置方法</a></p>
<p><span style="font-size: medium;">七.其它</span></p>
<p>本文基本只涉及电驴部分，如果还需要其它比如BT功能，请自行摸索，附一些主要的配置文件：</p>
<p align="left">~/.mldonkey/downloads.ini 基本的设置( 这个是for edonkey和其他协议的)</p>
<p>~/.mldonkey/servers.ini 服务器列表文件</p>
<p>~/.mldonkey/files.ini 当前已经完成的和未完成的文件列表</p>
<p>~/.mldonkey/friends.ini 好友列表</p>
<p>~/.mldonkey_gui.ini 图形前端的配置文件</p>
<p>另外其他的网络协议都有其单独的配置文件，一般都放在~/.mldonkey目录下</p>
]]></content:encoded>
			<wfw:commentRss>http://stdio.cn/2009/04/mldonkey-sancho-setup.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
