当前位置:操作系统 > Unix/Linux >>

全面解决amule容易崩溃和中文显示、输入的问题

amule是一个类似windows下的emule的ed2k客户端。ed2k是一种类似于Bittorrent的点对点文件传输协议。它现对BT的最大优点就是有搜索功能,资源比较丰富。

  然而amule在某些环境下工作有些问题,下面一一解决。当然如果官方的amule在你那里工作良好,你就没有必要往下看了。1. 首先,amule2很容易崩溃。这个问题是“稳定分支“的wxGtk-2.4引起的。amule开发者推荐amule工作在最新的“非稳定分支”wxGtk-2.5下。但是Arch官方的源里面只有稳定分支的wxGtk,于是我们手动编译wxGtk-2.5:

  PKGBUILD:

  # $Id: PKGBUILD,v 1.9 2004/09/10 16:28:52 tobias Exp $# Maintainer: tobias# Original Contributor: Tom Newsom# New Version - Contributor: Bob Finch# with help from J. Santiago Hirschfeld aka Angelus# fix by tx-carypkgname=wxgtkpkgver=2.5.4pkgrel=1pkgdesc="wxGTK - GTK+ implementation of wxWidgets API for GUI"depends=('gtk2' 'gcc' 'libpng')source=("http://puzzle.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-$pkgver.tar.gz")url="http://wxwidgets.org"md5sums=('bf14358daa76dca8b270d81a02d55f9b')build() {# Building and installing wxgtkcd $startdir/src/wxGTK-$pkgver./configure --prefix=/usr --enable-gui -with-gtk --enable-gtk2 --without-openglmake || return 1make prefix=$startdir/pkg/usr install# Installing wxWidgets contribscd $startdir/src/wxGTK-$pkgver/contribcd srcmake || return 1make prefix=$startdir/pkg/usr install# fix a link filecd $startdir/pkg/usr/binrm wx-configln -s /usr/lib/wx/config/gtk2-ansi-release-2.5 ./wx-config}

  2. 将上面代码保存为PKGBUILD文件,然后运行makepkg -c。编译完毕后,会在当前目录下生成一个wxgtk的pkg包。用pacman -A安装或pacman -U升级它。安装完后检查/usr/bin/wx-config这个连接文件,看看是否指向 /usr/lib/wx/config/gtk2-ansi-release-2.5(ls -l /usr/bin/wx-config),没有则修改之。

  注意:如果你升级了wxGtk,那么依赖wxGtk的现有软件可能将无法工作!

  

  你可以用'pacman -Qi wxgtk' 来查看包信息,看"Required By"一段,看看什么软件依赖wxgtk。升级之后要重新编译它们,这个后面会说。

  3. 下面开始重新编译amule。先运行'abs'来同步一下最新版本的官方PKGBUILD。如果运行'abs'报错,请搜索相关帖子。

  4. 同步完毕后,将“/var/abs/extra/network/amule/PKGBUILD”这个文件考到任何一个其它位置,运行makepkg -c。如果编译错误,请重新查看一下第二步。如果编译完成,在当前目录下会产生amule的pkg包,安装或升级之。

  5. 运行一下amule,看看是不是稳定多了。我这里挂多久都不会崩溃了。但是,也许新问题又出来了--无法显示中文?无法在搜索栏输入中文?别着急,请看下一步。

  6. 退出amule。在控制台下输入:‘env LC_ALL=zh_CN.UTF-8 GTK_IM_MODULE=scim amule’,其中将scim改为你用的输入法,比如fcitx(fcitx没有测试过,这个方法针对本地环境变量是gb2312或者gbk还有 GTK_IM_MODULE=xim的情况,如果你的环境变量没问题,当然就不用改了)。看看,问题是否解决了?

  7. 下面到其它依赖wxgtk的问题了。我用的软件只有vlc和amule两个依赖wxgtk。你可以用编译amule同样的方法编译这些软件。vlc的 PKGBUILD在这里"/var/abs/extra/multimedia/vlc/PKGBUILD"。如果还有其它软件,可以用" find /var/abs -name 'vlc' "来查找,将vlc替换成你的软件名。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,