说说Wine + QQ轻聊版 7.7的安装步骤。
1,wine版本要求,越新越好,我用的1.7.55,目前最新是1.8rc2。
2,删除或者备份~/.wine,如果你之前运行过wine的话,因为设计到少量配置,尽量不要让以前的环境干扰你。
3,winecfg,"应用程序"页签底部,“Windows版本”,选择为"8.1",8.0可能也是可以的,但我选的是8.1。
4,下载QQ7.7Light.exe,有官方去广告版我们就用官方去广告版好了。去官方网站下载。别人做的我信不过。
5,安装:WINEDEBUG=-all wine ./QQ7.7Light.exe, 加WINEDEBUG=-all的目的是避免安装过程中的各种调试信息和warning信息,因为没必要看。
耐心等待,直到安装完成。(最后的组件注册时间会比较长,耐心等待)。
安装过程无任何注意事项。
6,安装完成,qq登陆窗口出现,退出,因为这时候是无法输入的(我们需要替换几个dll)。
7,替换dll
7.1下载dll(riched20.dll和iphlpapi.dll)
riched20.dll下载win7版本的。
http://www.startos.com/plus/dll.php?os=Windows_7+32%E4%BD%8D&dll=riched20.dll&ac=down
iphlpapi.dll下载windows 2008版本的。
http://www.startos.com/plus/dll.php?os=Windows_2008+32%E4%BD%8D&dll=iphlpapi.dll&ac=down
7.2替换dll
cd .wine/drive_c/windows/system32
mv iphlpapi.dll iphlpapi.dll.bak
mv riched20.dll riched20.dll.bak
将下载的两个dll拷贝到此处。
7.3修改注册表
vi ~/.wine/user.reg
添加:
[Software\\Wine\\DllOverrides] 1447325077 6869640
#time=1d11d37208b6b08
"*iphlpapi"="native"
"*riched20"="native,builtin"
"*qcap"=""
"txplatform.exe"=""
"txupd.exe"=""
说明:
1,禁用qcap的原因是“禁用本地摄像头”(如果有的话),因为wine目前的摄像头处理跟QQ所需要调用的接口仍有差距,本地摄像头打开会崩溃,结果是视频聊天时如果使用了本地摄像头会崩溃,禁用后,虽然不能使用本地的视频,但远程的视频可以正常使用。
这个问题,可以通过修改wine的代码来搞定。(有时间再搞吧)。
2,替换riched20.dll,是为了让“登陆对话框可以输入”。
3,替换iphlpapi.dll,是避免登陆后的崩溃推出。
4,禁用txplatform.exe,是因为这个进程在wine QQ退出后不退出,对于Windows倒是无所谓,对于Linux来说,这意味着后台跑着一堆wine进程。
5,禁用txupd.exe,是因为它在后台定期检查更新时会偶发崩溃,不影响使用,但总弹“wine崩溃对话框”也是不好的。
8,替换字体(如果不使用SimSun,其实没必要使用simsun,更没必要使用什么CoreFont)
wine的字体位于/usr/share/wine/fonts/
我只保留了DejaVu系列ttf字体和SourceHanSansCN-Normal.otf,对于中文环境来说已经足够了。
因为Windows下的软件字体调用比较乱,有时候会fallback到SimSun或者“宋体”,替换的目的是“当软件请求宋体时,使用我们的替代字体”,这可以解决到几乎所有的"中文方框问题"。如果不做替换(也没有使用simsun),qq的某些界面字体可能会显示成“方框”。
替换方法是:
找到~/.wine/user.reg中的[Software\\Wine\\Fonts\\Replacements],如果没有就自己加入。
[Software\\Wine\\Fonts\\Replacements] 1448856028 1650250
#time=1d12b23a623844a
"NSimSun"="\x601d\x6e90\x9ed1\x4f53 CN Normal"
"SimSun"="\x601d\x6e90\x9ed1\x4f53 CN Normal"
"\x5b8b\x4f53"="\x601d\x6e90\x9ed1\x4f53 CN Normal"
"\x65b0\x5b8b\x4f53"="\x601d\x6e90\x9ed1\x4f53 CN Normal"
后面的字提名按照你的实际情况来写。记得以后不用再装simsun或者什么winetricks corefont了,这个方法适用于所有字体显示为“方框”的情况,比如“网易云音乐”客户端。
8,运行QQ。
cd ~/.wine/drive_c/Program Files/Tencent/QQLite/Bin
WINEDEBUG=-all wine ./QQ.exe
如果你系统的wine会自建菜单项,也可以使用菜单项运行。
9,保留环境。
wine可以通过WINEPREFIX变量保留多个wine环境。
mv ~/.wine QQLite
cd QQLite
添加一个脚本"qq",内容如下:
#!/bin/bash
EXEPATH=$(cd `dirname $0`; pwd)
export WINEPREFIX=$EXEPATH
export WINEDEBUG=-all
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
cd "$EXEPATH/drive_c/Program Files/Tencent/QQLite/Bin"
wine QQ.exe
自己保存好QQLite这个目录,以后可以放在任何地方运行。视频单向,语音双向,演示桌面等都是可以正常使用的。
10,残留问题(理论上这些可以通过修改wine代码解决):
10.1,不能保存密码和自动登陆。
10.2,密码输入框有点难点,用弹出小键盘输入或者轮换点击账号密码框1,2次就可以输入了。
10.3,本地摄像头被禁用(暂时的,以后都会好的)
10.4,某些窗口,比如“文件列表窗口”不接受窗口管理器管理,点开后可能“X”不掉,偶尔可以用“系统任务栏”关闭窗口,无碍,少点就可以了,如果Hang了可以退出重新登陆。
10.5,离线后无法再上线,只能退出重新登陆。
10.6,其他各种小问题。
如果只是正常的使用聊天功能,一整天加休眠等应该都没什么问题,我还没遇到拖慢系统,崩溃,无法退出等问题。
相关博文
wine QQ轻聊版 7.7