准备 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 的目的是避免安装过程中的各种调试信息和 warning 信息,因为没必要看。
耐心等待,直到安装完成。(最后的组件注册时间会比较长,耐心等待)。安装过程无任何注意事项。
安装完成,QQ 登录窗口出现,先退出即可,因为这时候是无法输入的(我们需要替换几个 DLL 才行)。
替换 DLL
首先下载 DLL :riched20.dll 和 iphlpapi.dll。
riched20.dll 下载win7版本的
iphlpapi.dll 下载 windows 2008版本的
然后替换 DLL:
修改注册表
替换字体
如果不使用 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],如果没有就自己加入。
运行QQ
保留环境
wine 可以通过 WINEPREFIX 变量保留多个 wine 环境。
残留问题
理论上这些可以通过修改 wine 代码解决
不能保存密码和自动登录。
密码输入框有点难点,用弹出小键盘输入或者轮换点击账号密码框1,2次就可以输入了。
本地摄像头被禁用(暂时的,以后都会好的)
某些窗口,比如“文件列表窗口”不接受窗口管理器管理,点开后可能“X”不掉,偶尔可以用“系统任务栏”关闭窗口,无碍,少点就可以了,如果 Hang 了可以退出重新登录。
离线后无法再上线,只能退出重新登录。
其他各种小问题。
如果只是正常的使用聊天功能,一整天加休眠等应该都没什么问题,我还没遇到拖慢系统,崩溃,无法退出等问题。
PS:Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层。另外英语单词wine是葡萄酒的意思。
Wine (Wine Is Not an Emulator)[即Wine不是一个模拟器]是一个在Linux和UNIX之上的,Windows 3.x和 Windows APIs的实现。注意,Wine不是Windows模拟器,而是运用API转换技术实做出Linux对应到Windows相对应的函数来调用DLL以运行Windows程序。Wine可以工作在绝大多数的UNIX版本下,包括Linux, FreeBSD, 和 Solaris。另外,也有适用于Mac OS X的Wine程序。Wine不需要Microsoft Windows, 因为这是一个完全由百分之百的免费代码组成的。如果有可利用的副本的话,它也可以随意地使用本地系统的DLLs。Wine的发布是完全公开源代码的,并且是免费发行的。(基于LGPL发布:GNU宽通用公共许可证)
关于Wine的真正含义,有人对“Wine Is Not an Emulator”的说法表示质疑,认为”非模拟器“的解释不过是一种娱乐性的说法,Wine的真实意思应当是是Windows Enviroment的缩写,即WinE。
新闻热点
疑难解答