如何優(yōu)雅地在Linux上運(yùn)行QQ微信?


? 程序員進(jìn)階架構(gòu)師必備資源免費(fèi)送 ?
11月8號的時(shí)候,騰訊禁止了舊版的QQ客戶端再登錄,導(dǎo)致Linux下Wine版的QQ也受到牽連無法再使用。慶幸的是8號當(dāng)天,深度就在各個(gè)源發(fā)布了全新版本給鳳毛麟角的Linux用戶續(xù)命。
因?yàn)槲移綍r(shí)工作環(huán)境是Linux,所以使用QQ是個(gè)剛需,終于在折騰了好幾天之后解決了所有問題,在Ubuntu下用上了功能堪比Windows原版的QQ。因而寫下這篇文章記錄一下踩坑的過程,幫助其他奮戰(zhàn)在Linux端的小伙伴避免折騰。
這次安裝軟件的并非官方的版本,而是在x86 Ubuntu上基于wine安裝的QQ和微信
2008年出現(xiàn)了一種名為wine的技術(shù),這種技術(shù)在Linux平臺實(shí)現(xiàn)了部分Windows的系統(tǒng)API和庫,讓用戶可以在Linux端無縫使用Windows端的應(yīng)用程序。
后來國內(nèi)深度社區(qū)將wine做了很好的封裝并且在wine上移植了諸多windows端的軟件。包括QQ、微信等等,而且在功能上幾乎都可以和windows原版分庭抗禮,給廣大Linux桌面版用戶提供了極大地便利。
2019年11月8日舊版的QQ被停止使用,也是同一天,深度就發(fā)布了新的Wine版QQ提供支持。在國內(nèi)的阿里源、清華源等鏡像源中也可以下載到最新版本。
不過因?yàn)榕f版的無法使用,新版本的安裝使用出現(xiàn)各種問題,業(yè)內(nèi)社區(qū)一時(shí)哀聲載道。
因此本文將剛剛安裝的Linux版QQ、微信以及踩坑過程記錄下來。希望其他玩Linux小伙伴們看到后避免踩坑!
不過在Wine下騰訊舊版的微信、QQTim版和輕聊版仍然能正常使用,懶得折騰的同學(xué)可以繼續(xù)使用Tim版或輕聊版,如舊版停止服務(wù)可按照此教程安裝新版軟件使用。
安裝過程
注意:如果過程中出現(xiàn)軟件包依賴問題時(shí)請謹(jǐn)慎操作,除非非常確定,否則不要使用sudo apt-get install -fy和sudo apt autoremove -y,-y參數(shù)不經(jīng)過問詢很可能被卸載桌面
一、下載安裝最新的deepin-wine環(huán)境庫
mkdir -p ~/temp && cd ~/temp
# 下載環(huán)境庫的包
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine/deepin-wine_2.18-20_all.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine/deepin-wine32_2.18-20_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine/deepin-wine32-preloader_2.18-20_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine-helper/deepin-wine-helper_1.2deepin8_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine-plugin/deepin-wine-plugin_1.0deepin2_amd64.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine-plugin/deepin-wine-plugin_1.0deepin2_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine-plugin-virtual/deepin-wine-plugin-virtual_1.0deepin3_all.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine-uninstaller/deepin-wine-uninstaller_0.1deepin2_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/u/udis86/udis86_1.72-2_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine/deepin-fonts-wine_2.18-20_all.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine/deepin-libwine_2.18-20_i386.deb
wget https://mirrors.aliyun.com/deepin/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_1.5.1-2_amd64.deb
wget https://mirrors.aliyun.com/deepin/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_1.5.1-2_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine/deepin-libwine-dbg_2.18-20_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine/deepin-libwine-dev_2.18-20_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin-wine/deepin-wine-binfmt_2.18-20_all.deb
# '添加32位支持'
sudo dpkg --add-architecture i386
# '刷新apt緩存信息...'
sudo apt update
# '開始安裝...'
sudo dpkg -i *.deb
# 出現(xiàn)依賴報(bào)錯(cuò)執(zhí)行:sudo apt-get install -f 參加下文中的踩坑部分
二、下載安裝最新版Wine QQ 微信
其他什么QQ瀏覽器迅雷等windows端軟件都有,可以在http://mirrors.aliyun.com/deepin/pool/non-free/d/找自己需要的。wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.qq.im/deepin.com.qq.im_9.1.8deepin0_i386.deb
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.wechat/deepin.com.wechat_2.6.8.65deepin0_i386.deb
sudo dpkg -i deepin.com.qq.im_9.1.8deepin0_i386.deb
sudo dpkg -i deepin.com.wechat_2.6.8.65deepin0_i386.deb
# 安裝完成后在Applications中找到對應(yīng)圖標(biāo)即可運(yùn)行。
踩坑
順利的話,只需要上面很簡單的兩步,就可以完成。然而現(xiàn)實(shí)并不總是這么順利。
1、安裝deepin-wine包依賴問題(上文步驟一)
之前裝過wine的小伙伴,此次升級安裝基本不會(huì)有什么坑。然而對于首次安裝的小伙伴,安裝這些包會(huì)缺很多系統(tǒng)依賴。
如果報(bào)錯(cuò)依賴缺失,解決方案是:執(zhí)行sudo apt-get install -f進(jìn)行修復(fù),千萬不要加-y參數(shù)。
- 修復(fù)前它會(huì)詢問,安裝n個(gè)包,卸載n個(gè)包,更新n個(gè)包,是否執(zhí)行?如果有卸載包,千萬不要著急輸入Y就往下走(卸載的包里很可能有ubuntu-desktop,如果無腦下一步就瞎了)

- 出現(xiàn)詢問是否安裝時(shí),把即將安裝的包復(fù)制,然后輸入n不進(jìn)行自動(dòng)安裝操作。
- 下一步手動(dòng)
sudo apt-get install [Ctrl+shift+v]?粘貼剛才復(fù)制下來的所有包手動(dòng)安裝 - 如果這些包安裝過程中仍然有依賴問題可以使用
sudo apt-get install -f進(jìn)行修復(fù),如果明確顯示卸載0個(gè)包再輸入y往下進(jìn)行,否則建議仍然手動(dòng)安裝對應(yīng)的依賴。
2、安裝QQ包依賴問題(上文步驟二)
dpkg: 依賴關(guān)系問題使得 deepin.com.qq.im:i386 的配置工作不能繼續(xù):
deepin.com.qq.im:i386 依賴于 deepin-wine-helper (>= 1.2deepin2);然而:
系統(tǒng)中 deepin-wine-helper:i386 的版本為 1.2deepin0。
dpkg: 處理軟件包 deepin.com.qq.im:i386 (--install)時(shí)出錯(cuò):
依賴關(guān)系問題 - 仍未被配置
論壇上提的最多的就是這個(gè)問題,安裝新版QQ或微信時(shí)報(bào)這個(gè)錯(cuò)誤。解決方案其實(shí)很簡單:執(zhí)行上文的步驟一就可以。
新版的QQ依賴的是新版的deepin-wine庫,只要把步驟一安裝完更新到最新就可以。
3、安裝完成后點(diǎn)擊圖標(biāo)無法啟動(dòng)
這個(gè)問題,讓我前前后后放棄了好幾次。
在我執(zhí)行完步驟一、二沒有任何報(bào)錯(cuò)以后,在Applications中找到對應(yīng)圖標(biāo)點(diǎn)擊,然而軟件閃爍一會(huì)兒后退出,無法打開程序。
先說解決方案:
- 下載這個(gè)壓縮包:https://download.csdn.net/download/Three_dog/11970984
- 將
Deepin.tar.gz拷貝到~/deepinwine/路徑下并解壓(該路徑會(huì)在你第一次執(zhí)行QQ或微信時(shí)創(chuàng)建) - 解壓后再次運(yùn)行程序,問題解決。
這個(gè)問題的排查過程十分糟心,我新建了一個(gè)ubuntu16.04的虛擬機(jī),執(zhí)行完這套操作軟件完全正常運(yùn)行,然而我本地機(jī)器死活不可以。始終找不到問題出在哪兒。
后來沒辦法找到了圖標(biāo)的文件:/usr/share/applications/deepin.com.qq.im.desktop
手動(dòng)執(zhí)行文件里的Exec的命令:/opt/deepinwine/apps/Deepin-QQ/run.sh -u %u
結(jié)果得到了報(bào)錯(cuò):
wine: cannot find "C:\\Program Files\Tencent\QQ\Bin\QQ.exe"
然而在我的虛擬機(jī)的ubuntu下并沒有這個(gè)錯(cuò)誤。
問題定位到這兒一籌莫展,始終不明白我的電腦里為什么不存在這個(gè)文件,也不知道該怎么修復(fù)。
我得想辦法知道這個(gè)Windows的虛擬路徑存在Linux系統(tǒng)中的什么位置。然而一直都沒有找到。
直到后來功夫不負(fù)有心人,偶然的機(jī)會(huì)在deepin官網(wǎng)的論壇中看到:

這一下子讓我看到了希望,我進(jìn)入到系統(tǒng)里~/.deepinwine/Deepin-QQ/driver_c/路徑下,看到了Program Files和Windows目錄。我就知道來對地方了!
果然,這兩個(gè)目錄下只有一些空文件夾。顯然這里的文件應(yīng)該在第一次啟動(dòng)QQ的時(shí)候就釋放到這里來,不知什么原因它沒有成功。
不過分析到這里原因已經(jīng)不重要了,既然我虛擬機(jī)下有一個(gè)可用的,直接照搬復(fù)制過來就OK。
于是我把虛擬機(jī)里~/.deepinwine/Deepin-QQ/driver_c/Deepin-QQ和~/.deepinwine/Deepin-QQ/driver_c/Deepin-WeChat兩個(gè)文件夾原封不動(dòng)的搬到了我的系統(tǒng)下!
看到界面的那一刻,真想哇的一聲哭出來。自從8號早上QQ不能用后,這個(gè)問題困擾的我連覺都睡不好,倒不是說非得用QQ不可,而是遇到一個(gè)技術(shù)坑踩不過去賊煩心!上面提到的那個(gè)壓縮包,其實(shí)就是我的虛擬機(jī)下的這兩個(gè)目錄。不出意外的話,安裝新包過程無論失敗與否,你把這個(gè)包解壓到本地都能運(yùn)行個(gè)八九不離十。原諒我不要臉的扔在CSDN上蹭點(diǎn)積分,主要我平時(shí)也對這個(gè)需求比較大。當(dāng)然,如果你本地遇到這個(gè)問題,也可以自己搞個(gè)虛擬機(jī)鼓搗出一版可用的,然后把文件拿出來放到本地就行!
后記
以上就是整個(gè)QQ微信在Linux上安裝的全部踩坑過程。最大的坑有三個(gè):
- 安裝依賴問題,這個(gè)環(huán)境運(yùn)行依賴的是i386的環(huán)境,大多64位系統(tǒng)中沒有,安裝過程中反復(fù)失敗重來過程很繁瑣。
- 卸載桌面!這是個(gè)巨坑,我一下午虛擬機(jī)被卸載了三次桌面,每次卸載完都重裝重來。最后才得出上文踩坑2的辦法。如果各位小伙伴在自己的電腦上安裝,一定要小心不要一路無腦下一步,否則被卸載了桌面沒點(diǎn)能耐很難妙手回春。
- 安裝完成后無法運(yùn)行,就是上面說的最后一點(diǎn),這里就不贅述了。
軟件運(yùn)行后還有很多BUG,不過基本都是深度和Wine還有QQ的事情了,我們用戶可操作掌控的空間很小。
以上操作可以寫一個(gè)腳本一鍵搞定,但是沒什么技術(shù)含量我懶得搞了,另外寫腳本里如果出現(xiàn)-f -y這種強(qiáng)制不可控參數(shù),一不小心卸載了桌面,反而會(huì)給大家造成更大的麻煩。
鳴謝
【文章一鏈接】:https://forum.ubuntu.org.cn/viewtopic.php?f=73&p=3217021&sid=6194a64cefc1f4c5ac43dcd8729ca3c8本文中大體操作流程框架就是來自于這篇文章,然而也正是這篇文章中的腳本使用了sudo apt-get install -fy的操作,我的Ubuntu桌面被卸了三次!幸虧是虛擬機(jī)。【文章二鏈接】:https://www.lulinux.com/archives/1319這篇文章已經(jīng)失了時(shí)效性,但是文中干貨仍然非常有借鑒性,是一篇很好的收藏貼(不過頻繁的贊賞彈窗著實(shí)有點(diǎn)煩人)。文章也提到了對深度和wszqkzqk同學(xué)的感謝,可怕的是這篇18年的帖子里寫到wszqkzqk同學(xué)還未成年!!!25歲的我一口老血…【文章三鏈接】:https://github.com/Jactor-Sue/Deepin-Apps-Installation這款一年前的github項(xiàng)目是我最早使用的Wine QQ和微信的版本。即使現(xiàn)在除了被騰訊封印的正式版QQ,其他軟件仍然可用。不過它的一鍵安裝腳本同樣使用了-fy的高危操作,我同事的桌面就這么沒得,大家操作時(shí)一定要謹(jǐn)慎。【文章四鏈接】:https://bbs.deepin.org/forum.php?mod=viewthread&tid=183719deepin的官方論壇,新版的QQdeepin就是第一時(shí)間在這個(gè)帖子里發(fā)布的,回帖中大家也提出了很多坑,解決方案以及產(chǎn)品BUG。【wszqkzqk鏈接】:https://github.com/wszqkzqk/上面提到了這位未成年的小同學(xué),真的是后生可畏啊!我也不清楚這位同學(xué)和深度的關(guān)系以及他扮演了怎樣的角色,不過看樣子我們現(xiàn)在Ubuntu下能用到這么好使的QQ微信與他的工作密不可分。就連舊版QQ不能用的時(shí)候,也是他的Github下第一時(shí)間被提issue,給力的是第二天,他便解決了這個(gè)問題。
-------------------------知乎:良許LinuxB站:程序員良許抖音:良許微博:良許Linux
本公眾號全部博文已整理成一個(gè)目錄,請?jiān)诠娞柪锘貜?fù)「m」獲取!
推薦閱讀:
一篇文章說清楚 Linux 應(yīng)急響應(yīng)技巧
微軟花2個(gè)億做出來的軟件免費(fèi)用!網(wǎng)友:太良心了!
用樹莓派構(gòu)建一臺服務(wù)器,永久運(yùn)行網(wǎng)站
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費(fèi)獲取!!
