说说 Wine + QQ 轻聊版 7.7 的安装步骤
准备 Wine 环境
wine 版本要求,越新越好,我用的 1.7.55,目前最新是1.8rc2。
删除或者备份你的 ~/.wine
,如果你之前运行过 wine 的话。因为涉及到少量配置,尽量不要让以前的环境干扰你。
配置 Wine
运行 winecfg
,在“应用程序”页签底部,“Windows版本”,选择为"8.1"。8.0可能也是可以的,但我选的是8.1。
设置为 windows 8.1,打开所有外部链接,比如 qq 空间等,会使用内置的 IE 浏览器(gecko win32 引擎)。如果不喜欢这个行为,可以用 winecfg
修改为"Windows XP",增加一个 QQProtect.exe 设置,将其单独设置为 "Windows 8.1" 即可。
安装 QQ 轻聊版
下载安装
下载 QQ7.7Light.exe,有官方去广告版我们就用官方去广告版好了。去官方网站下载。别人做的我信不过。
安装命令:WINEDEBUG=-all wine ./QQ7.7Light.exe
加 WINEDEBUG=-all
的目的是避免安装过程中的各种调试信息和 warning 信息,因为没必要看。
耐心等待,直到安装完成。(最后的组件注册时间会比较长,耐心等待)。安装过程无任何注意事项。
安装完成,QQ 登录窗口出现,先退出即可,因为这时候是无法输入的(我们需要替换几个 DLL 才行)。
替换 DLL
首先下载 DLL :riched20.dll 和 iphlpapi.dll。
- riched20.dll 下载win7版本的
- iphlpapi.dll 下载 windows 2008版本的
然后替换 DLL:
cd .wine/drive_c/windows/system32
mv iphlpapi.dll iphlpapi.dll.bak
mv riched20.dll riched20.dll.bak
将下载的两个dll拷贝到此处。
修改注册表
vi ~/.wine/user.reg
添加:
[Software\\Wine\\DllOverrides] 1447325077 6869640
#time=1d11d37208b6b08
"*iphlpapi"="native"
"*riched20"="native,builtin"
"*qcap"=""
"txplatform.exe"=""
"txupd.exe"=""
说明
- 禁用 qcap 的原因是“禁用本地摄像头”(如果有的话),因为 wine 目前的摄像头处理跟 QQ 所需要调用的接口仍有差距,本地摄像头打开会崩溃,结果是视频聊天时如果使用了本地摄像头会崩溃。禁用后,虽然不能使用本地的视频,但远程的视频可以正常使用。这个问题,可以通过修改wine的代码来搞定。(有时间再搞吧)。
- 替换 riched20.dll,是为了让“登录对话框可以输入”。
- 替换 iphlpapi.dll,是避免登录后的崩溃退出。
- 禁用 txplatform.exe,是因为这个进程在 wine QQ 退出后不退出,对于 Windows 倒是无所谓,对于 Linux 来说,这意味着后台跑着一堆 wine 进程。
- 禁用 txupd.exe,是因为它在后台定期检查更新时会偶发崩溃,不影响使用,但总弹“wine 崩溃对话框”也是不好的。
替换字体
如果不使用 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 了,这个方法适用于所有字体显示为“方框”的情况,比如“网易云音乐”客户端。
运行QQ
cd ~/.wine/drive_c/Program Files/Tencent/QQLite/Bin
WINEDEBUG=-all wine ./QQ.exe
如果你系统的 wine 会自建菜单项,也可以使用菜单项运行。
保留环境
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
这个目录,以后可以放在任何地方运行。视频单向,语音双向,演示桌面等都是可以正常使用的。
残留问题
理论上这些可以通过修改 wine 代码解决
- 不能保存密码和自动登录。
- 密码输入框有点难点,用弹出小键盘输入或者轮换点击账号密码框1,2次就可以输入了。
- 本地摄像头被禁用(暂时的,以后都会好的)
- 某些窗口,比如“文件列表窗口”不接受窗口管理器管理,点开后可能“X”不掉,偶尔可以用“系统任务栏”关闭窗口,无碍,少点就可以了,如果 Hang 了可以退出重新登录。
- 离线后无法再上线,只能退出重新登录。
- 其他各种小问题。
如果只是正常的使用聊天功能,一整天加休眠等应该都没什么问题,我还没遇到拖慢系统,崩溃,无法退出等问题。
- 来自广东广州的 Firefox 42.0|Ubuntu 用户 2016-04-15 09:28 9 赞 回复
- 装完了之后,设置完注册表,又还原了,打不开, 环境是:64位ubuntu+32位 1.7wine+qq7.9light.exe
- 来自广东佛山的 Chrome 49.0|GNU/Linux 用户 2016-04-02 11:10 10 赞 回复
-
wine: Bad EXE format for Z:\home\fay\Downloads\QQ7.9Light.exe.
遇到这个问题,网上找了很久也没有答案,系统是centos7
- ublite [Chrome 49.0|GNU/Linux] 2016-03-26 23:51 6 赞 回复
- dll链接挂了
- [1]来自广东广州的 Firefox 42.0|Fedora 用户 发表于 2015-12-02 22:59 的评论:在linux里面装QQ, 就像要纯洁的处女当妓女!!! 腾讯搞手机QQ, 打死都不开源给linux QQ接口. 这个也能理解, QQ自己的通讯接口就是生命线. 所以, 在linux要拒绝QQ, 使用其它即时通讯软件. 可以避免被网络跟踪.
- 来自湖北武汉华中科技大学的 Chrome 48.0|GNU/Linux 用户 2016-02-27 17:14 3 赞 回复
- 醒醒,醒醒
- 来自上海的 Firefox 43.0|Ubuntu 用户 2015-12-18 11:42 5 赞 回复
-
执行 DEBUG=-all wine ./QQ7.5Light.exe该命令出现很多错误,虽然最后出现安装完成的画面,这个要如何处理呢
[8:50:1218/113123:6094688:ERROR:intel_repair.cpp(52)] Error: Regedit cannot be opened!
[8:50:1218/113123:6094688:ERROR:intel_repair.cpp(52)] Error: Regedit cannot be opened!
[8:51:1218/113123:6094689:ERROR:ConfigQQ.cpp(135)] NVAPI error:-2
[8:51:1218/113123:6094689:ERROR:ConfigQQ.cpp(142)] NVAPI error:-2
[8:51:1218/113123:6094689:ERROR:ConfigQQ.cpp(148)] NVAPI error:-2
.
[8:66:1218/113123:60946
- 来自广东广州的 Firefox 42.0|Fedora 用户 2015-12-05 22:34 6 赞 回复
- 我的wine也是1.7.55,QQ普通版,Windows版本默认WinXP,只需要在函数库页里面添加riched20.dll,使用原生的riched20,登录的时候顺手结束一下txplatform.exe就可以用了。我觉得不必选win8
- [1]来自广西南宁的 Firefox 42.0|Ubuntu 用户 发表于 2015-12-03 00:24 的评论:linux mint 17.2,轻聊版7.9测试通过,十分感谢
- 来自广西南宁的 Firefox 42.0|Ubuntu 用户 2015-12-04 20:07 5 赞 回复
- 该死,似乎还是有点不行,收到通知后点开看不到内容,然后过一下就崩溃了
- [1]绿色圣光 [Iceweasel 38.2|GNU/Linux] 发表于 2015-11-30 21:29 的评论:已经没有什么用QQ的需求了。
- 来自云南昆明的 Internet Explorer 11.0|Windows 10 用户 2015-12-03 15:56 9 赞 回复
- 要不是公司需要,不然这种不要脸的监控软件绝对不会让它在我的电脑上运行,哪怕是虚拟机中
- 宇宙尘埃 [Iceweasel 38.4|GNU/Linux] 2015-12-03 00:54 7 赞 回复
- 安装成功,非常感谢
- miradil [Firefox 42.0|Windows 7] 2015-12-02 23:32 5 赞 回复
- 谢谢告知QQ还有轻聊版!
- TimePower [Chrome 47.0|GNU/Linux] 2015-12-02 17:41 4 赞 回复
- 可怕的QQ
- 来自江苏南京的 Chrome 46.0|GNU/Linux 用户 2015-12-01 20:28 10 赞 回复
- err:module:import_dll Library iphlpapi.dll (which is needed by L"C:\\windows\\system32\\netapi32.dll") not found
- 来自甘肃兰州的 Chrome 46.0|GNU/Linux 用户 2015-12-01 16:30 4 赞 回复
-
configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries.
请问这个问题怎么处理?wine的版本是1.8rc2
- [1]来自上海的 Firefox 42.0|Ubuntu 用户 发表于 2015-12-01 11:22 的评论:修改user.reg后,再次运行WINEDEBUG=-all wine ./QQ.exe后,user.reg还原成默认值了,求解[2]来自北京的 Chromium 45.0|Ubuntu 用户 发表于 2015-12-01 12:22 的评论:你没有遇到安装QQ的时候弹出安装界面的情况么?
- 来自上海的 Firefox 42.0|Ubuntu 用户 2015-12-01 13:11 7 赞 回复
- 没有遇到过,可以一直进行下去,就是修改注册表不成功
- Sephiroth [Chrome 46.0|Windows 7] 2015-12-01 12:39 6 赞 回复
- Linux下 telegram 比 QQ 好用多了,它默认使用IPv6,发送消息不会被墙,赞一个!
- 来自北京的 Chromium 45.0|Ubuntu 用户 2015-12-01 10:44 5 赞 回复
- 第一步“WINEDEBUG=-all wine ./QQ7.7Light.exe”安装过程会弹出一个窗口,就是QQ的安装界面,有一个按钮,点击立即安装后提示无权限操作..不点击似乎会一直卡在这个界面上.并不像文章中说的没有任何需要注意的了,有回答一下么?
- POCMON [Firefox 42.0|Ubuntu] 2015-11-30 16:34 9 赞 回复
-
到目前为止,还是国际版的最稳定,最好用。除了视频以外,功能全实现(语音都行)。
当然,国际版上没有的功能。。。。。。