转自

http://www.ithome.com/html/win10/307236.htm

感谢IT之家网友 DotNet码农 的投稿

对于很多开发人员来说,Linux可能是他们的主要工作环境,然而与其相矛盾的是,QQ又是他们的主要通讯工具。然而,类似于腾讯消极维护Win10 UWP版本QQ的原因,Linux版本的QQ早在2008年就夭折在了beta版本。于是,互联网上出现了若干种在Linux上运行QQ的方案:使用网页QQ、使用Crossover、使用Longene-QQ、使用pidgin-QQ、安装Windows虚拟机并安装QQ、使用Wine容器运行QQ。然而网页QQ功能有限,Crossover价格昂贵且效果不甚理想,Longene-QQ停留在了QQ7版本,pidgin-QQ已经无法正常登录,虚拟机过分庞大,而Wine-QQ则容易产生兼容性问题。这令Linux用户相当头疼。

本教程旨在调教Wine,规避QQ8.9运行于Wine环境时产生的大部分兼容性问题,并在Linux环境下得到一个接近完美运行的QQ。本教程编写于ArchLinux+Gnome3.22.2(物理机)。

1、安装Wine

Wine是Wine Is Not an Emulator的递归缩写,它是为了在Linux上运行Win32应用程序而设计的一类API转接容器。因为Wine并没有运行一个Windows核心,只是通过将Windows的API解释为Linux的API来运行Win32应用程序,故效率相当理想,但无法正确兼容所有的Win32应用(事实上是如果你不调教一下,它几乎无法正常兼容任何Win32应用)。使用你的发行版提供的工具来安装Wine,对于我来说,则是:

sudo pacman -S wine

等待安装完成,输入指令:

wine --version

如果能够正确输出Wine的版本,则你的Wine就安装完成了。

2、安装QQ调教Wine

下载所需要的文件:文件地址(指向我的OneDrive,请放心访问),你会得到一个zip文件。解压那个文件,你会得到四个目录:

依次使用Wine Windows Program Loader打开win2ksp4、msls31、vcrun6目录里的exe程序,注意第一次打开exe程序的时候Wine会自动配置一个位于~/.wine下的默认容器。如果不需要进行特殊的工作,那么我们就使用这个默认容器吧。

到PC版本的QQ主页,下载最新的QQ安装程序(或TIM),用Windows Program Loader打开这个后缀为exe的安装程序,去掉创建桌面快捷方式,去掉开机自启,去掉快捷启动栏快捷方式,安装到默认路径,并完成安装过程。在最后一个页面不要启动QQ,而是关掉安装程序。在Linux终端内输入winecfg,打开Wine设置界面。在“函数库”选项卡下,将设置修改为下图所示:

其中:停用ntoskrnl.exe是为了解决无法正常启动QQ的问题,使用原装的riched20是为了规避无法输入用户名的Bug,停用txplatform.exe是为了避免QQ无法完整退出而滞留整个Wine容器的问题。

3、安装字体

向Wine内安装字体并不复杂,过程类似Windows。将包内含的文泉驿字体拷贝到Wine容器相应的目录下(目录结构和Windows一致),并向Wine容器的注册表内添加相应条目。记得采用

wine regedit

指令来运行Wine容器的注册表编辑器。

4、运行并测试QQ

完成上述步骤后,你的QQ应该位于~/.wine/drive_c/Program Files (x86)/Tencent/QQ/Bin目录下。导航到这个目录下,并使用指令:

wine QQ.exe来尝试启动QQ。测试用户名输入框能否正常输入用户名,不要勾选“记住密码”和“自动登录”,它们可能带来问题,输入密码并测试能否正常登录。如果一切正常,你的QQ就安装完成了。

5、创建启动器入口

按照我的习惯,我会把常用的软件放在Gnome启动器上。在你的家目录下创建.startqq.sh文件(以小数点开头,这样它通常会被隐藏起来),并编辑其内容如下:

其中thomas是我的用户名,你们应该换成你们自己的。用

chmod +x .startqq.sh

指令给它加上可执行权限,然后在/.local/share/applications/下创建一个qq.desktop文件,并将其内容修改如下:

同样:thomas是我的用户名,你们应该换成你们自己的。Icon所指向的地址是一个QQ的Logo,可以自己画一个或者找一个。按下Alt+F2,输入r并回车,Gnome环境会自动重启,进入启动器,可以看到我们的QQ已经被加进去了:

单击这个QQ的图标,如果能正确启动,并能正常登录的话,你的QQ启动器就已经完成了:

6、已知Bug

这样调教过的Wine运行的QQ依然存在Bug,但是无伤大雅而且不影响正常使用。

  • 不能保存密码,不能自动登录;

  • 偶尔会刷新不同步,但只要把鼠标移动至相关元素上就能强制刷新它们;

  • 过分大的图(一般是接近、等于或超过桌面分辨率的图)没有办法调出“查看大图”窗口;

  • “查看大图”窗口可能无法正常渲染整张图片,但是只要手动缩放一下就能解决;

  • 无法直接从“发送图片”按钮选择本地图片发送,但是可以从剪贴板粘贴或者从收藏里直接发送表情包;

  • (仅发生过一次)连续快速地在主窗口上下滚动鼠标滚轮导致程序崩溃。

总之,这样Linux安装的QQ是可以完成95%以上的正常工作的(甚至还能抢红包),而且是最新版本,在很长时间内都不用担心版本过低无法登录了。

在Linux下完美运行Windows PC版QQ/TIM教程相关推荐

  1. linux装Windows版QQ,在Linux下完美运行Windows PC版QQ/TIM教程

    对于很多开发人员来说,Linux可能是他们的主要工作环境,然而与其相矛盾的是,QQ又是他们的主要通讯工具.然而,类似于腾讯消极维护Win10 UWP版本QQ的原因,Linux版本的QQ早在2008年就 ...

  2. Linux安装Windows版的QQ,在Linux下完美运行Windows PC版QQ/TIM教程

    转自 http://www.ithome.com/html/win10/307236.htm 感谢IT之家网友 DotNet码农 的投稿 对于很多开发人员来说,Linux可能是他们的主要工作环境,然而 ...

  3. linux中网页版tim,IT之家学院:在Linux下完美运行WindowsPC版QQ/TIM教程

    感谢IT之家网友DotNet码农的投稿 对于很多开发人员来说,Linux可能是他们的主要工作环境,然而与其相矛盾的是,QQ又是他们的主要通讯工具.然而,类似于腾讯消极维护UWP版本QQ的原因,Linu ...

  4. 最新kali linux下完美安装和运行QQ的方法

    腾讯官方早就在10年代初就停止运营Linux版QQ,然而民间折腾Linux版QQ的脚步从来没停过.时至今日,Linux QQ有了很多种的解决方案--如deepin wine QQ系列.docker镜像 ...

  5. linux下软件编译终止,[2018年最新整理]linux下编译运行程序命令大全.ppt

    [2018年最新整理]linux下编译运行程序命令大全 1. 项目课题引入 2. Vi编辑器的使用方法 3. Linux中C语言程序的编辑 4. Linux中C语言程序的运行 5. 现场演示案例 课题 ...

  6. ffmpeg-0.8 开源编码解码库从linux下移植到windows vs2005

    最新 ffmpeg-0.8 开源编码解码库,从linux下移植到windows vs2005,全部开源. 需要 Intel C++ Compile 和 开源的SDL库支持,由于 Intel C++ C ...

  7. ffmpeg-0.6.3开源编码解码库,从linux下移植到windows vs2005,全部开源。

    ffmpeg-0.6.3开源编码解码库,从linux下移植到windows vs2005,全部开源. 需要 Intel C++ Compile 和 开源的SDL库支持,由于 Intel C++ Com ...

  8. samba服务器在linux下如何运行共享

    samba服务器在linux下如何运行共享 1. 什么是samba Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到 ...

  9. Linux下如何运行war3,Ubuntu下使用Wine玩魔兽争霸(War3)

    转自:独行菜鸟的博客转载请注明. 装了Ubuntu 9.04,用起来挺好,除了工行支付有点麻烦. 还有就是Windows下的好多游戏都没法玩,有些遗憾. 在网上转了一大圈,找到Linux使用Wine运 ...

最新文章

  1. python3 转码的函数_python基础3之文件操作、字符编码解码、函数介绍
  2. 被誉为「教科书」,牛津大学231页博士论文全面阐述神经微分方程,Jeff Dean点赞...
  3. 纽约大学Gary Marcus发文指出AlphaZero「被夸大」,强调重视人工智能「先天因素」
  4. centos 6.5内核升级
  5. Android Studio模拟器的root权限
  6. http请求之get和post的区别
  7. 【高级内部资料】.NET数据批量写入性能分析 第一篇
  8. 移动端的click事件延迟触发的原理是什么?如何解决这个问题?
  9. MS CRM 2011 如何向自定义Ribbon按钮传递参数
  10. OpenSSL密码库算法笔记——第6.5章 密钥协商
  11. 父与子的编程之旅 python 3_Python!帮我做一下选择呗:父与子的编程之旅 学习笔记(5) 2018-07-10...
  12. android 镜像投屏开发,Android 投屏实现纪要
  13. win7 usb功能被禁用的解决方法
  14. 信息安全的 CIA 三要素
  15. 营业执照编码验证规则(15位和18位
  16. 跨域问题的解决-gateway跨域接解决方案,使用CorsWebFilter
  17. 页面中拖拽效果的实现
  18. 网络安全-重放攻击(Replay Attack)
  19. android模拟器自动化测试,安卓模拟器自动化测试工具
  20. python查询mysql数据库_python针对mysql数据库的连接、查询、更新、删除操作示例...

热门文章

  1. 协昌电子递交注册:年营收5.25亿 实控人顾挺曾任民警
  2. SLAM中双目三角化
  3. 第一个小项目:学生成绩管理系统
  4. html打造动画【系列2】- 可爱的蛙蛙表情
  5. c语言设计计算器的意义,C语言结课设计之计算器功能
  6. Eclipse启动失败,提示查看.metadata文件夹下的.log文件
  7. VMware workstation安装虚拟机--Windows XP
  8. An operation on a socket could not be performed because the system lacked sufficient buffer space or
  9. 韩语 计算机术语,韩语计算机、互联网术语(1)
  10. 虚数的现实、物理意义是什么?