先不卖关子直接上图:Ubuntu 14.04.5 LTS

Deb包下载地址:

http://www.longene.org/download/WineQQ7.8-20151109-Longene.deb

http://pan.baidu.com/s/1kTu9ZUZ

下载完成后双击会跳转到Ubuntu Software Center中安装,如果提示未经认证的deb包源请忽略继续安装;32位依赖库的问题请自行解决,可以百度或者谷歌关键字ubuntu 安装32 bit依赖库;

我特意创建了ubuntu兴趣爱好者群,有兴趣的可以加群 326916374

导语

本文的目的不在于安装一个qq到Ubuntu,而是在2年零几个月从2012版wineQQ到现在这个2015版的的使用心得以及一些思考,主要给有同样兴趣爱好的Ubuntu粉丝们提供一个参考。

为什么要在Ubuntu上安装QQ?

很多人第一时间会说我离开windows会无法正常工作,我离开QQ无法找到其他IM工具,嗯哼 这算是个灰常实际的说辞或者借口,其实5年前我一开始接触Ubuntu10.04的时候也是这么想的,但是5年后的我,即便是使用Ubuntu 2年后的我却已经不会这么想了?为什么?因为工作上学习上平时在windows上能够用到的一切我都在Ubuntu上找到对应的替代产品了,所有,一切...

那为什么还要反过头来写这篇文章?嗯...闲的...好吧 其实这次的理由是我现在所在的公司都是统一使用QQ做工作用IM,说正经的,有些人高高在上当领导做事全是拍屁股决定,从最初QQ切到Skype再到QQ来回折腾3次,所有人都得跟着他走容不得任何异议,这样的领导可想而知整个公司是怎么的一个日常运行? 不用我说都能想象,好在属于异地开发,眼不见心不烦我不用那么烦心,作为一个专心搞技术的程序员,我还是要不断的学习才对!

于是,我自己买了intel nuc i5 6代的小盒子,丢掉了公司配备的i5 4代标配笔记本电脑,自己买了显示器、机械键盘等等一切,这一些才是继续学下去的保障。

好吧,周围人都是qq来qq去的,每天语音过来语音过去手机根本扛不住,只能在16G内存、固态硬盘的小盒子上装QQ了,现在说说使用体验...

Wine版QQ2015使用体验

这个2015版QQ使用起来大概吃掉我2g多接近3g的内存,不过对于16g的总容量来说小菜一叠,已经使用2、3个月了,语音、视频、远程协助、群组、讨论组、表情什么的只要你能想的到的都支持,总而言之够用了。除了就是随着时间的推移这个QQ的功能可能会落后最新的QQ很多而导致不兼容的情况,这个是个问题,但目前来看至少2年内不会有太大问题。

Wine版QQ2015使用中的坑

如右边图片,第一次安装完毕点击这个QQ启动程序是可以正常弹出登陆界面进行登陆的,但是关了机再运行就出问题了:

Application tried to create a window, but no driver could be loaded.
The explorer process failed to start.

你仔细看下/usr/share/applications/QQ启动程序脚本里面怎么写得会发现,点击之后应用启动的最终脚本是这个/opt/longene/qq/qq.sh

这个shell脚本告诉我们qq的启动是用一个自己打包带走的wine 1.7版本最终运行的,期初我遇到这个问题并看到下面第一个脚本我就打算自己装一个最新的wine来启动,但是不幸的是登陆框昙花一现后就say good bye了,oh no ,尝试了一个下午还是失败,不用怀疑肯定是longene团队对这个打包带走的wine 1.7做了调整以适应这个QQ2015

ok,不过细心一点我发现longene团队的这个qq会在home目录下产生一些缓存文件,于是请看下面第2个脚本中红颜色的那行,删掉这些后longene的QQ2015成功复活,O(∩_∩)O哈哈哈~

这就完了?

oh no, 还没完,电脑重启后回来即便删掉这些缓冲文件还是会报上面的错误,oh my god,终于反复的观察Terminal中的输出,发现一个特点就是要保证longene Wine QQ2015正常并且反复的可以运行,必须保证wine server的正常运行,举个例子吧:就是java程序员要能够跑起来,那必须保证jre是活着的,就这么一个道理。

于是,每次关机再开机后wine server必然是被由于上次的环境配置问题导致无法正常启动,那上面使用过最新的wine试图启动longene的QQ2015失败后再回头来用longene打包的wine1.7就可以跑了呢?道理很简单,当我试图用最新的wine跑longene的QQ2015的时候成功的清洗掉了导致wine1.7的wine server无法正常再次启动的环境配置,于是呢我专门写了下面第2个脚本:

  1. 运行第二个脚本并带上-c参数在每次开机或者环境故障的时候
  2. 当每次关掉qq又想释放掉wine占去的那么多内存那就带上-k来杀掉wine 1.7的 wine server
  3. 如果关掉qq在没有关机重启的情况下想再次启动那就不必带上任何参数

欧克,虽然简单粗暴好不讲道理,但是基于没有更多的时间去处理更具体的原因造成这种情况,但是目前来看问题已经解决,而且自己安装一个最新的wine跟longene QQ2015打包带走的wine1.7并无冲突,而且自己可以使用最新的wine来把玩其他别的windows程序,也是无伤大雅、其乐无穷啊 O(∩_∩)O哈哈哈~

#!/bin/bashset -e
export LANG=zh_CN.utf8#Longene Dir
LONGENE_DIR=/opt/longene
#Wine Program Main Dir
WINE_DIR=$LONGENE_DIR/qq/wine-lib
#WINPREFIX Dir
WINEPREFIX_DIR=$HOME/.longene/qq
#Wine APP Dir
WINEAPP_DIR=$LONGENE_DIR/qq
#Current App Dir
QQ_DIR=$LONGENE_DIR/qq#Current User
#RUNUSER="`basename $HOME `"
RUNUSER=`whoami`
PACKAGE_NAME=wine-qq7.8-longeneteam
TAR_NAME=qq7.8.tar.bz2
WINELIB_TAR=wine-lib.tar.bz2#QQ_USER_DIR="$WINEPREFIX_DIR/drive_c/Program\ Files/Tencent/QQ"function runhelp
{
echo "************************************************************************"
echo "*    Wine-QQ2013-By Longene Team -- build 20131120"
echo "*    Contact Us By http://www.longene.org"
echo "*    "
echo "*    Commands:"
echo "*    -u/--uninstall    Uninstall Wine-QQ2013 if you don't like"
echo "*    -d/--debug    Open debug channel. Log file is in your home directory"
echo "*    -h/--help    The fucking help information as now you are reading"
echo "*    -k/--kill    execute wineserver -k to kill all wine programs"
echo "*    -reg/--regedit    start regedit editor"
echo "*    -cfg/--winecfg    start winecfg"
echo "************************************************************************"
}function uninstallpackage
{echo "*    Remove wine-qq7.8-longene..."read -p "*    Are you sure? (Y/N)" ANSWif [ "$ANSW" = "Y" -o "$ANSW" = "y" -o -z $ANSW  ];thensudo dpkg -P $PACKAGE_NAMEecho "Removing....."else exit 0fi
}function check_owner
{WINEPREFIX_DIR_USER=`stat -c %U $WINEPREFIX_DIR`    if [ "$RUNUSER" != "$WINEPREFIX_DIR_USER" ];thensudo chown $RUNUSER $WINEPREFIX_DIRecho "*    Modifying the owner of $WINEPREFIX_DIR"fi
}function check_firstrun
{
#    echo "Check firstrun...."    if [ ! -e $WINEPREFIX_DIR/firstrun ];thenecho "*    Seems the first time to run. Here we go!"
#        $QQ_DIR/longene_gtk$QQ_DIR/firstrun $WINEPREFIX_DIR/firstrun &
#        echo "Bingoo" >$WINEPREFIX_DIR/firstrunfi
}function runapp
{check_firstrunif [ ! -e "$WINE_DIR/bin/wine" ]; thentar -jxf $QQ_DIR/$WINELIB_TAR -C $QQ_DIRrm -f $QQ_DIR/$WINELIB_TARif [ ! -e "$WINEPREFIX_DIR/drive_c/Program Files/Tencent/QQ/Bin/QQ.exe" ]; thenmkdir -p $HOME/.longenetar -jxf $QQ_DIR/$TAR_NAME -C $HOME/.longenerm -f $QQ_DIR/$TAR_NAMEfitouch $WINEPREFIX_DIR/firstrunfiWINEDEBUG=-all env WINEPREFIX=$WINEPREFIX_DIR $WINE_DIR/bin/wine $WINEPREFIX_DIR/drive_c/Program\ Files/Tencent/QQ/Bin/QQ.exe
}function debugapp
{echo "*    Starting debug channel......."echo "*    Log file will be created in your Home:/Longene_qq2012.log"echo "*    You can upload the log on our site for help: http://www.longene.org"#find $LONGENE_DIR -type f -exec $QQ_DIR/md5sum {} +  >$HOME/Longene_qq.log #echo "*********************************************" >>$HOME/Longene_qq.logenv WINEPREFIX=$WINEPREFIX_DIR $WINE_DIR/bin/wine $WINEPREFIX_DIR/drive_c/Program\ Files/Tencent/QQ/Bin/QQ.exe >$HOME/Longene_qq.log 2>&1
}case $1 in "--uninstall"| "-u")uninstallpackage;;"--debug"| "-d")debugapp;;"--kill"| "-k")env WINEPREFIX=$WINEPREFIX_DIR $WINE_DIR/bin/wineserver -k;;"--regedit"| "-reg")env WINEPREFIX=$WINEPREFIX_DIR $WINE_DIR/bin/regedit;;"--winecfg"| "-cfg")env WINEPREFIX=$WINEPREFIX_DIR $WINE_DIR/bin/winecfg;;"--help"| "-h")runhelp;;*)if [ -z $1 ];then        runappelseecho "Invalid option:$1"runhelp            fi;;
esac 

这个是我自己另外写的一个辅助性shell脚本:

#!/bin/bash
WINEPREFIX_DIR=$HOME/.longene/qq/function runhelp
{
echo "************************************************************************"
echo "*    Help"
echo "*    Commands:"
echo "*    -c/--clean 清理数据"
echo "************************************************************************"
}function runclean
{env WINEDLLPATH=/opt/longene/qq/wine-lib/lib/wine WINESERVER=/opt/longene/qq/wine-lib/bin/wineserver WINEPREFIX=$WINEPREFIX_DIR wine $WINEPREFIX_DIR/drive_c/Program\ Files/Tencent/QQ/Bin/QQ.exe >$HOME/Longene_qq.log 2>&1sleep 5bash /opt/longene/qq/qq.sh&sleep 5 rm $WINEPREFIX_DIR/dosdevices/*::
}function runapp
{
bash /opt/longene/qq/qq.sh&
}case $1 in "--clean"| "-c")runclean;;"--kill"| "-k")bash /opt/longene/qq/qq.sh -k;;"--help"| "-h")runhelp;;*)if [ -z $1 ];then        runappelseecho "Invalid option:$1"runhelp            fi;;
esac 

转载于:https://www.cnblogs.com/renhuihhh/p/renhuihhh_ubuntuQQ2015_get.html

Ubuntu上安装QQ2015相关推荐

  1. ubuntu上安装qq

    ubuntu上安装qq,试了很多次,终于可以了,分享一下. ubantu16.04+qq2015 一,安装wine(ubantu自带但最好在装下) 1.先得添加ubuntu-wine/ppa这个官方的 ...

  2. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  3. 在 Ubuntu 上安装最新版本的 Erlang方法介绍

    Erlang 是一种用于构建大规模可扩展实时系统的函数式编程语言.Erlang 最初是由 爱立信 创建的专有软件,后来被开源. Erlang 在 Ubuntu 的 Universe 仓库 中可用.启用 ...

  4. 在Ubuntu上安装Odoo 11(企业版)

    2019独角兽企业重金招聘Python工程师标准>>> 在Ubuntu上安装Odoo 11(企业版) 2017年10月8日YENTHE666 在本教程中,我将学习如何在Ubuntu ...

  5. 在 Ubuntu 上安装 Android Studio

    在 Ubuntu 上安装 Android Studio http://www.linuxidc.com/Linux/2013-05/84812.htm 打开terminal,输入以下命令 sudo a ...

  6. linux卸载kodi,如何在Ubuntu上安装Kodi 18 Beta

    Kodi的Beta版周期很长.很棒,因为它有助于将错误排除在生产版本之外,而且还可以保留数月的新功能.值得庆幸的是,Kodi开发人员提供了可供测试和使用的"unstable"软件包 ...

  7. [异常解决] ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)

    [异常解决] ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7) 参考文章: (1)[异常解决] ubuntu上安装虚 ...

  8. Ubuntu上安装oracle java 7

    Ubuntu上安装oracle java 7 from: http://sddhn.blog.163.com/blog/static/128187792013103014453434/ 1.通过PPA ...

  9. Ubuntu上安装nginx步骤及问题记录

    在Ubuntu上安装nginx,步骤如下:      1. 向/etc/apt/sources.list增加Nginx的源      2.执行sudo apt-get update更新软件源     ...

  10. 在Ubuntu上安装openResty #1

    在Ubuntu上安装openResty #1 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方 ...

最新文章

  1. 机器学习算法与理论用到的数学知识
  2. PyTorch 入门实战
  3. Object defineProperty
  4. Java高级工程师每日面试题精选,面试经历分享
  5. 在jsp页面里动态生成EL表达式的key
  6. 竞赛数据清洗缺失值_Kaggle 数据清洗挑战 Day 1 - 手把手教你五步处理缺失值
  7. Java描述设计模式(11):观察者模式
  8. dos盘启动计算机,最新万能 DOS 启动盘制作全攻略(软盘+光盘+U盘+硬盘+NTFS+应急实用工具)...
  9. JavaWeb中集成UEditor
  10. 为什么有人说开车时,最能看出一个人的情商和潜力?
  11. 百度2017春招笔试
  12. 生成activiti需要的25张系统表
  13. 金蝶财务软件有哪些缺点
  14. LoadRunner执行压力测试
  15. python鼠标移动到网页上、获取网页信息_python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法...
  16. matlab计算海洋浮力频率_MATLAB气象海洋简单粗暴教程(三十四)——MATLAB里画图的统计函数...
  17. html设置鼠标指针形状为食指,cursor 把鼠标指针的形状弄成一只伸出食指的手
  18. Windows Print Spooler远程代码执行漏洞复现(CVE-2021-1675)
  19. 《零基础D编程入门》
  20. 判断二极管导通例题_通信电源 | 1个二极管是如何改变电流的?

热门文章

  1. 前端性能优化(四)01-页面性能优化之优化原则——尽量减少HTTP请求 使用内容传送网络CDN 避免空src或空href值 启用gzip压缩 CSS放顶部,JS放底部 减少DNS查找
  2. VMware esxi6.7虚拟机安装教程
  3. .NET平台下几种SOCKET模型的简要性能供参考的讨论【转】
  4. 上海驾驶证满6年换证
  5. 智能暖风机——1.硬件搭建
  6. 使用百度统计对网站进行流量分析和统计
  7. SpringBoot集成微信支付(二维码支付)
  8. 类和对象10:对象访问方法
  9. borlndmm.dll(宝兰妹妹)DELPHI核心DLL之一简单分析
  10. 艾尔塔7号/Elta7