在Linux上使用Wine安裝輕聊版的QQ的步驟講解

來源:互聯網
上載者:User

   準備 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 wine ./QQ7.7Light.exe

  加 WINEDEBUG=-all 的目的是避免安裝過程中的各種調試資訊和 warning 資訊,因為沒必要看。

  耐心等待,直到安裝完成。(最後的組件註冊時間會比較長,耐心等待)。安裝過程無任何注意事項。

  安裝完成,QQ 登入視窗出現,先退出即可,因為這時候是無法輸入的(我們需要替換幾個 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

  添加:

  代碼如下:

  [SoftwareWineDllOverrides] 1447325077 6869640

  #time=1d11d37208b6b08

  "*iphlpapi"="native"

  "*riched20"="native,builtin"

  "*qcap"=""

  "txplatform.exe"=""

  "txupd.exe"=""

  說明

  禁用 qcap 的原因是“禁用本地網路攝影機”(如果有的話),因為 wine 目前的網路攝影機處理跟 QQ 所需要調用的介面仍有差距,本地網路攝影機開啟會崩潰,結果是視訊交談時如果使用了本地網路攝影機會崩潰。禁用後,雖然不能使用本地的視頻,但遠端視頻可以正常使用。這個問題,可以通過修改wine的代碼來搞定。(有時間再搞吧)。

  替換 riched20.dll,是為了讓“登入對話方塊可以輸入”。

  替換 iphlpapi.dll,是避免登入後的崩潰退出。

  禁用 txplatform.exe,是因為這個進程在 wine QQ 退出後不退出,對於 Windows 倒是無所謂,對於 Linux 來說,這意味著後台跑著一堆 wine 進程。

  禁用 txupd.exe,是因為它在後台定期檢查更新時會偶發崩潰,不影響使用,但總彈“wine 崩潰對話方塊”也是不好的。

  替換字型

  如果不使用 SimSun 字型,其實沒必要使用 simsun,更沒必要使用什麼 CoreFont

  wine 的字型位於 /usr/share/wine/fonts/ 我只保留了 DejaVu 系列 ttf 字型和 SourceHanSansCN-Normal.otf,對於中文環境來說已經足夠了。

  因為 Windows 下的軟體字型調用比較亂,有時候會 fallback 到 SimSun 或者“宋體”,替換的目的是“當軟體請求宋體時,使用我們的替代字型”,這可以解決到幾乎所有的"中文方框問題"。如果不做替換(也沒有使用 simsun),qq 的某些介面字型可能會顯示成“方框”。

  替換方法是:

  找到 ~/.wine/user.reg 中的 [SoftwareWineFontsReplacements],如果沒有就自己加入。

  代碼如下:

  [SoftwareWineFontsReplacements] 1448856028 1650250

  #time=1d12b23a623844a

  "NSimSun"="x601dx6e90x9ed1x4f53 CN Normal"

  "SimSun"="x601dx6e90x9ed1x4f53 CN Normal"

  "x5b8bx4f53"="x601dx6e90x9ed1x4f53 CN Normal"

  "x65b0x5b8bx4f53"="x601dx6e90x9ed1x4f53 CN Normal"

  後面的字提名按照你的實際情況來寫。記得以後不用再裝 simsun 或者什麼 winetricks corefont 了,這個方法適用於所有字型顯示為“方框”的情況,比如“網易雲音樂”用戶端。

  運行QQ

  代碼如下:

  cd ~/.wine/drive_c/Program Files/Tencent/QQLite/Bin

  WINEDEBUG=-all wine ./QQ.exe

  如果你系統的 wine 會自建功能表項目,也可以使用功能表項目運行。

  保留環境

  wine 可以通過 WINEPREFIX 變數保留多個 wine 環境。

  代碼如下:

  mv ~/.wine QQLite

  cd QQLite

  添加一個指令碼“qq”,內容如下:

  代碼如下:

  #!/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 這個目錄,以後可以放在任何地方運行。視頻單向,語音雙向,示範案頭等都是可以正常使用的。

  殘留問題

  理論上這些可以通過修改 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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.