2009年2月27日星期五

再次奋战 Amule

其实也不是什么大作战了。

似乎在上一年的时候,曾经花了很长时间捣鼓Amule,试图解决其各种稀奇古怪的问题。

首当其冲的就是ed2k链接的关联问题。

乍一看,似乎这也不是什么问题。因为有一个叫/usr/bin/ed2k的程序在那里等着,只要执行以下命令即可
$/usr/bined2k ED2K-URL
然而,如果执行以下的命令,则会提示错误:
所犯的

[tale@Lystem ~]$ ed2k ed2k://|file|[米尔克].Milk.REPACK.DVDSCR.XviD-BiGFAGS.cd1.avi|734877696|49b8792774052f0a7291f26cc8c7bce1|/
bash: [米尔克].Milk.REPACK.DVDSCR.XviD-BiGFAGS.cd1.avi: command not found
bash: 734877696: command not found
bash: 49b8792774052f0a7291f26cc8c7bce1: command not found
bash: /: is a directory
Usage: file [-bcikLhnNrsvz0] [-e test] [-f namefile] [-F separator] [-m magicfiles] file...
file -C -m magicfiles
Try `file --help' for more information.
Bad parameter value:
ed2k://

不要以为是/usr/bin/ed2k程序的问题。这其实是Shell环境的问题(由其中的bash提示之错误可发现这一点)。给参数加上双引号,防止shell对斜杠之类的符号进行转义,我们可发现:

[tale@Lystem ~]$ ed2k "ed2k://|file|[米尔克].Milk.REPACK.DVDSCR.XviD-BiGFAGS.cd1.avi|734877696|49b8792774052f0a7291f26cc8c7bce1|/"
Link successfully queued.

此时,我的amule上也提示新加了相应的下载。可见,ed2k的调用其实很简单。(对比M$下的迅雷链接,唉。。。)
不过,要在opera中关联ed2k链接,却是有小波折。修改工具->首选项->高级->程序,可以为ed2k链接添加一个外部处理程序。如果直接填上/usr/bin/ed2k,确是会让amule添加包含乱码中文的下载。联系到刚才shell对特殊字符的转义,你是否想到问题的关键之处?
如果你认为问题出现于参数(即要下载的ed2k链接)的传递处理,那么你就落入窠臼了。实际情况确是,opera传递的参数的编码问题出现了异常。选择 工具->首选项->高级->国际,取消"用UTF-8给国际语言编址"。此时,程序关联依然填写/usr/bin/ed2k,点击一个ed2k的下载链接试试,成功!

第二个问题是,amule与KDE4桌面的兼容问题。


我已经不知道发生了多少次,amule在我点击系统托盘的时候狂闪。注意,不是那个小小图标闪,而是整个程序界面闪,进而造成我的桌面的闪。有时候等个1分钟,能正常下来;多数情况是,我无法忍受,于是捣鼓命令,kill掉它。
现在,我已经采用WEB界面来管理amule。
具体设置我不再叙述,只是在设置里面启动远程web管理而已。
然后,给系统增加一个自动运行


amuled -f


哈哈,opera中就可以看到了!


此刻起,世界和谐了。。。