在Linux上使用Wine安裝輕聊版的QQ的步驟講解
準(zhǔn)備 Wine 環(huán)境
wine 版本要求,越新越好,我用的 1.7.55,目前最新是1.8rc2。
刪除或者備份你的 ~/.wine,如果你之前運(yùn)行過 wine 的話。因?yàn)樯婕暗缴倭颗渲?,盡量不要讓以前的環(huán)境干擾你。
配置 Wine
運(yùn)行 winecfg,在“應(yīng)用程序”頁簽底部,“Windows版本”,選擇為"8.1"。8.0可能也是可以的,但我選的是8.1。
設(shè)置為 windows 8.1,打開所有外部鏈接,比如 qq 空間等,會使用內(nèi)置的 IE 瀏覽器(gecko win32 引擎)。如果不喜歡這個行為,可以用 winecfg 修改為"Windows XP",增加一個 QQProtect.exe 設(shè)置,將其單獨(dú)設(shè)置為 "Windows 8.1" 即可。
安裝 QQ 輕聊版
下載安裝
下載 QQ7.7Light.exe,有官方去廣告版我們就用官方去廣告版好了。去官方網(wǎng)站下載。別人做的我信不過。
安裝命令:
加 WINEDEBUG=-all 的目的是避免安裝過程中的各種調(diào)試信息和 warning 信息,因?yàn)闆]必要看。
耐心等待,直到安裝完成。(最后的組件注冊時間會比較長,耐心等待)。安裝過程無任何注意事項(xiàng)。
安裝完成,QQ 登錄窗口出現(xiàn),先退出即可,因?yàn)檫@時候是無法輸入的(我們需要替換幾個 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 的原因是“禁用本地?cái)z像頭”(如果有的話),因?yàn)?wine 目前的攝像頭處理跟 QQ 所需要調(diào)用的接口仍有差距,本地?cái)z像頭打開會崩潰,結(jié)果是視頻聊天時如果使用了本地?cái)z像頭會崩潰。禁用后,雖然不能使用本地的視頻,但遠(yuǎn)程的視頻可以正常使用。這個問題,可以通過修改wine的代碼來搞定。(有時間再搞吧)。
替換 riched20.dll,是為了讓“登錄對話框可以輸入”。
替換 iphlpapi.dll,是避免登錄后的崩潰退出。
禁用 txplatform.exe,是因?yàn)檫@個進(jìn)程在 wine QQ 退出后不退出,對于 Windows 倒是無所謂,對于 Linux 來說,這意味著后臺跑著一堆 wine 進(jìn)程。
禁用 txupd.exe,是因?yàn)樗诤笈_定期檢查更新時會偶發(fā)崩潰,不影響使用,但總彈“wine 崩潰對話框”也是不好的。
替換字體
如果不使用 SimSun 字體,其實(shí)沒必要使用 simsun,更沒必要使用什么 CoreFont
wine 的字體位于 /usr/share/wine/fonts/ 我只保留了 DejaVu 系列 ttf 字體和 SourceHanSansCN-Normal.otf,對于中文環(huán)境來說已經(jīng)足夠了。
因?yàn)?Windows 下的軟件字體調(diào)用比較亂,有時候會 fallback 到 SimSun 或者“宋體”,替換的目的是“當(dāng)軟件請求宋體時,使用我們的替代字體”,這可以解決到幾乎所有的"中文方框問題"。如果不做替換(也沒有使用 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"
后面的字提名按照你的實(shí)際情況來寫。記得以后不用再裝 simsun 或者什么 winetricks corefont 了,這個方法適用于所有字體顯示為“方框”的情況,比如“網(wǎng)易云音樂”客戶端。
運(yùn)行QQ
cd ~/.wine/drive_c/Program Files/Tencent/QQLite/Bin
WINEDEBUG=-all wine ./QQ.exe
如果你系統(tǒng)的 wine 會自建菜單項(xiàng),也可以使用菜單項(xiàng)運(yùn)行。
保留環(huán)境
wine 可以通過 WINEPREFIX 變量保留多個 wine 環(huán)境。
mv ~/.wine QQLite
cd QQLite
添加一個腳本“qq”,內(nèi)容如下:
#!/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 這個目錄,以后可以放在任何地方運(yùn)行。視頻單向,語音雙向,演示桌面等都是可以正常使用的。
殘留問題
理論上這些可以通過修改 wine 代碼解決
不能保存密碼和自動登錄。
密碼輸入框有點(diǎn)難點(diǎn),用彈出小鍵盤輸入或者輪換點(diǎn)擊賬號密碼框1,2次就可以輸入了。
本地?cái)z像頭被禁用(暫時的,以后都會好的)
某些窗口,比如“文件列表窗口”不接受窗口管理器管理,點(diǎn)開后可能“X”不掉,偶爾可以用“系統(tǒng)任務(wù)欄”關(guān)閉窗口,無礙,少點(diǎn)就可以了,如果 Hang 了可以退出重新登錄。
離線后無法再上線,只能退出重新登錄。
其他各種小問題。
如果只是正常的使用聊天功能,一整天加休眠等應(yīng)該都沒什么問題,我還沒遇到拖慢系統(tǒng),崩潰,無法退出等問題。
PS:Wine (“Wine Is Not an Emulator” 的遞歸縮寫)是一個能夠在多種 POSIX-compliant 操作系統(tǒng)(諸如 Linux,Mac OSX 及 BSD 等)上運(yùn)行 Windows 應(yīng)用的兼容層。另外英語單詞wine是葡萄酒的意思。
Wine (Wine Is Not an Emulator)[即Wine不是一個模擬器]是一個在Linux和UNIX之上的,Windows 3.x和 Windows APIs的實(shí)現(xiàn)。注意,Wine不是Windows模擬器,而是運(yùn)用API轉(zhuǎn)換技術(shù)實(shí)做出Linux對應(yīng)到Windows相對應(yīng)的函數(shù)來調(diào)用DLL以運(yùn)行Windows程序。Wine可以工作在絕大多數(shù)的UNIX版本下,包括Linux, FreeBSD, 和 Solaris。另外,也有適用于Mac OS X的Wine程序。Wine不需要Microsoft Windows, 因?yàn)檫@是一個完全由百分之百的免費(fèi)代碼組成的。如果有可利用的副本的話,它也可以隨意地使用本地系統(tǒng)的DLLs。Wine的發(fā)布是完全公開源代碼的,并且是免費(fèi)發(fā)行的。(基于LGPL發(fā)布:GNU寬通用公共許可證)
關(guān)于Wine的真正含義,有人對“Wine Is Not an Emulator”的說法表示質(zhì)疑,認(rèn)為”非模擬器“的解釋不過是一種娛樂性的說法,Wine的真實(shí)意思應(yīng)當(dāng)是是Windows Enviroment的縮寫,即WinE。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。