介紹
在linux下使用QQ等流行的windows軟件一直是國內(nèi)很多l(xiāng)inux用戶的需求,之前要實現(xiàn)這個需求用戶往往需要對wine進(jìn)行很多繁瑣的配置嫩码,但即使這樣最后跑出來的軟件也是功能殘缺的誉尖,只能滿足最基本的使用需求。深度操作系統(tǒng)的開發(fā)人員在這方面做出了很多卓越的工作铸题,在深度操作系統(tǒng)上提供了一批幾乎完美的使用wine來執(zhí)行的windows軟件释牺,包括QQ,TIM回挽,迅雷没咙,百度云等。將這些軟件從深度移植到其他發(fā)行版是可行的千劈,但是依據(jù)發(fā)行版的不同要做很多繁瑣的操作祭刚,容易出錯,并且不易于進(jìn)行管理墙牌。
Flatpak是一個發(fā)行版無關(guān)的下一代linux軟件打包格式涡驮,只需打包一次就可以在不同的發(fā)行版上方便的安裝和執(zhí)行,當(dāng)然完全的發(fā)行版無關(guān)是很難實現(xiàn)的喜滨,發(fā)行版的不同也會導(dǎo)致flatpak軟件的行為有所不同捉捅,但終究要強于傳統(tǒng)打包方式。
本項目提供了一種使用flatpak打包深度基于wine的windows應(yīng)用的方式虽风,可以實現(xiàn)一次打包棒口,到處運行寄月,并且管理方便,兼容性好无牵。
已打包的應(yīng)用
已使用flatpak打包的deepinwine應(yīng)用:
-
com.deepin.wine - deepinwine的運行時 2.18
- 構(gòu)建倉庫: https://gitee.com/wsgalaxy/com.deepin.wine.json.git
- 二進(jìn)制文件倉庫:https://gitee.com/wsgalaxy/com.deepin.wine.git
- 預(yù)構(gòu)建文件:com.deepin.wine.Platform.2.18.1.flatpak
-
com.tencent.tim - 騰訊TIM 2.0
- 構(gòu)建倉庫:https://gitee.com/wsgalaxy/com.tencent.tim.json.git
- 二進(jìn)制文件倉庫:https://gitee.com/wsgalaxy/com.tencent.tim.git
- 預(yù)構(gòu)建文件:com.tencent.tim.2.0.1.flatpak
- 擴展:
- com.tencent.tim.ext.fcitx - fcitx輸入法支持
- 構(gòu)建倉庫:https://gitee.com/wsgalaxy/com.tencent.tim.ext.fcitx.json.git
- 預(yù)構(gòu)建文件:com.tencent.tim.ext.fcitx.2.0.1.flatpak
- com.tencent.tim.ext.xsettingsd - KDE桌面支持
- com.tencent.tim.ext.fcitx - fcitx輸入法支持
-
com.tencent.qqlight - 騰訊QQ輕聊版 7.9
- 構(gòu)建倉庫:https://gitee.com/wsgalaxy/com.tencent.qqlight.json.git
- 二進(jìn)制文件倉庫:https://gitee.com/wsgalaxy/com.tencent.qqlight.git
- 預(yù)構(gòu)建文件:com.tencent.qqlight.7.9.1.flatpak
- 擴展:
- com.tencent.qqlight.ext.fcitx - fcitx輸入法支持
- com.tencent.qqlight.ext.xsettingsd - KDE桌面支持
-
com.tencent.wechat - 騰訊微信PC版 2.6
- 構(gòu)建倉庫:https://gitee.com/wsgalaxy/com.tencent.wechat.json.git
- 二進(jìn)制文件倉庫:https://gitee.com/wsgalaxy/com.tencent.wechat.git
- 預(yù)構(gòu)建文件:com.tencent.wechat.2.6.1.flatpak
- 擴展:
- com.tencent.wechat.ext.fcitx - fcitx輸入法支持
- com.tencent.wechat.ext.xsettingsd - KDE桌面支持
-
com.xunlei.thunderspeed - 迅雷極速版 7.10
- 構(gòu)建倉庫:https://gitee.com/wsgalaxy/com.xunlei.thunderspeed.json.git
- 二進(jìn)制文件倉庫:https://gitee.com/wsgalaxy/com.xunlei.thunderspeed.git
- 預(yù)構(gòu)建文件:com.xunlei.thunderspeed.7.10.1.flatpak
- 擴展:
- com.xunlei.thunderspeed.ext.xsettingsd - KDE桌面支持
-
com.baidu.pan - 百度網(wǎng)盤 5.7
- 構(gòu)建倉庫:https://gitee.com/wsgalaxy/com.baidu.pan.json.git
- 二進(jìn)制文件倉庫:https://gitee.com/wsgalaxy/com.baidu.pan.git
- 預(yù)構(gòu)建文件:com.baidu.pan.5.7.1.flatpak
- 擴展:
- com.baidu.pan.ext.xsettingsd - KDE桌面支持
安裝
檢查文件來源
將深度的deepinwine應(yīng)用打包成flatpak格式使用了從深度軟件倉庫提取的二進(jìn)制文件漾肮,為了防止文件的原始鏈接隨著應(yīng)用倉庫的更新失效,我把所使用的二進(jìn)制文件存放到了我的gitee倉庫(即[已打包的應(yīng)用]中的二進(jìn)制文件倉庫)茎毁。為了保證你的數(shù)據(jù)安全克懊,請你在安裝前始終檢查倉庫中的這些二進(jìn)制文件是否與原始來源的文件相同。除了二進(jìn)制文件之外其余文件均是字體文件(font.tar.xz)或者簡單的文本文件七蜘,也請檢查這些文件的內(nèi)容是否有異常谭溉。在倉庫中的urls文件中提供了這些二進(jìn)制文件的原始鏈接,你可以通過如下步驟進(jìn)行檢查橡卤,以com.deepin.wine的[二進(jìn)制倉庫]為例:
- 下載倉庫
git clone --depth=1 https://gitee.com/wsgalaxy/com.deepin.wine.git
cd com.deepin.wine
下載原始來源文件
mkdir dl
cd dl
wget cat ../urls
計算二進(jìn)制文件的sha256sum
sha256sum ./* > sha256sum.ori
sha256sum ../* > sha256sum.repo
- 請比較sha256sum.ori和sha256sum.repo中各個二進(jìn)制文件的hash值是否相同扮念。 如果不相同或者因為原始鏈接失效導(dǎo)致文件無法下載比較,則之后是否進(jìn)行下一步安裝請慎重考慮蒜魄。 如果你執(zhí)意繼續(xù)安裝扔亥,你可以嘗試通過原始鏈接下載更新的文件版本场躯,或者使用倉庫中的過時版本谈为,但無論你怎樣安裝,你都需要為所有可能后果踢关。
使用構(gòu)建文件自行構(gòu)建安裝(推薦)
對于有l(wèi)inux使用經(jīng)驗伞鲫,且對安全十分看重的人,推薦在檢查二進(jìn)制文件來源之后签舞,使用構(gòu)建文件自行構(gòu)建安裝秕脓。
- 配置環(huán)境
為你的發(fā)行版安裝flatpak并添加flathub倉庫,以同樣的方法安裝flatpak-builder
安裝基礎(chǔ)的Platform和Sdk
flatpak install flathub org.freedesktop.Platform/i386/18.08
flatpak install flathub org.freedesktop.Sdk/i386/18.08
構(gòu)建并安裝deepinwine的運行時 com.deepin.wine.Platform
取決于你的電腦性能儒搭,這一步可能很耗時吠架。
git clone https://gitee.com/wsgalaxy/com.deepin.wine.json.git
cd com.deepin.wine.json
mkdir .build
cd .build
flatpak-builder --repo=repo --arch=i386 build ../com.deepin.wine.json
flatpak remote-add --user --no-gpg-verify repodeepinwine ./repo
flatpak install --user repodeepinwine com.deepin.wine.Platform
構(gòu)建并安裝應(yīng)用
構(gòu)建應(yīng)用的流程大同小異,這里以com.tencent.tim為例搂鲫。
構(gòu)建應(yīng)用本身
git clone https://gitee.com/wsgalaxy/com.tencent.tim.json.git
cd com.tencent.tim.json
mkdir .build
cd .build
flatpak-builder --repo=repo --arch=i386 build ../com.tencent.tim.json
flatpak remote-add --user --no-gpg-verify repotim ./repo
flatpak install --user repotim com.tencent.tim
要獲得fcitx支持傍药,需要構(gòu)建應(yīng)用對應(yīng)的fcitx擴展
與tim對應(yīng)的fcitx擴展是 com.tencent.tim.ext.fcitx。
git clone https://gitee.com/wsgalaxy/com.tencent.tim.ext.fcitx.json.git
cd com.tencent.tim.ext.fcitx.json
mkdir .build
cd .build
flatpak-builder --repo=repo --arch=i386 build ../com.tencent.tim.ext.fcitx.json
flatpak remote-add --user --no-gpg-verify repotimextfcitx ./repo
flatpak install --user repotimextfcitx com.tencent.tim.ext.fcitx
要獲得KDE支持魂仍,需要構(gòu)建應(yīng)用對應(yīng)的xsettingsd擴展
與tim對應(yīng)的KDE支持?jǐn)U展是 com.tencent.tim.ext.xsettingsd拐辽。
git clone https://gitee.com/wsgalaxy/com.tencent.tim.ext.xsettingsd.json.git
cd com.tencent.tim.ext.xsettingsd.json
mkdir .build
cd .build
flatpak-builder --repo=repo --arch=i386 build ../com.tencent.tim.ext.xsettingsd.json
flatpak remote-add --user --no-gpg-verify repotimextxsettingsd ./repo
flatpak install --user repotimextxsettingsd com.tencent.tim.ext.xsettingsd
使用預(yù)構(gòu)建文件安裝
我為[已打包的應(yīng)用]提供了已經(jīng)構(gòu)建好的安裝包,如果你不想自己通過構(gòu)建文件自行構(gòu)建擦酌,可以使用已經(jīng)構(gòu)建好的安裝包直接安裝俱诸。你首先需要下載對應(yīng)的安裝包,以com.deepin.wine.Platform.2.18.1.flatpak為例:
在安裝包的同一目錄中打開終端
flatpak install --user ./com.deepin.wine.Platform.2.18.1.flatpak
安裝順序及注意事項
無論你已哪種方式安裝赊舶,都要遵循一定的安裝順序:運行時 com.deepin.wine.Platform 必須第一個安裝睁搭,之后安裝對應(yīng)的應(yīng)用赶诊,如安裝TIM的話就安裝 com.tencent.tim,然后再根據(jù)需要安裝應(yīng)用對應(yīng)的擴展介袜,如TIM對應(yīng)的 fcitx 支持?jǐn)U展是 com.tencent.tim.ext.fcitx甫何、對應(yīng)的KDE支持?jǐn)U展是 com.tencent.tim.ext.xsettingsd。
只在你使用的是fcitx而無法輸入中文的情況下安裝fcitx擴展遇伞,如果你使用的是ibus輸入法請不要安裝該擴展辙喂;
只在你使用的是KDE桌面而無法啟動應(yīng)用的情況下安裝xsettingsd擴展,切記不要在gnome環(huán)境下安裝xsettingsd擴展鸠珠,否則可能導(dǎo)致桌面異常巍耗。
運行應(yīng)用可以使用應(yīng)用菜單的圖標(biāo)直接啟動,或者使用命令行 flatpak run APPID
運行渐排,如運行 com.tencent.tim:
安裝完之后的第一次執(zhí)行建議使用命令行炬太,迅雷 com.xunlei.thunderspeed 和百度云 com.baidu.pan 第一次執(zhí)行必須使用命令行,并在命令的提示中輸入 y 回車驯耻,之后才能通過應(yīng)用菜單啟動亲族。
卸載
使用 flatpak run APPID -h
可以查看幫助。
卸載時可缚,需要先刪除wine容器霎迫,再卸載應(yīng)用和擴展,當(dāng)所有的deepinwine應(yīng)用卸載完后帘靡,才可以卸載運行時:
卸載 com.tencent.tim 以及對應(yīng)的fcitx和xsettingsd擴展
flatpak run com.tencent.tim -e
flatpak remove com.tencent.tim
flatpak remove com.tencent.tim.ext.fcitx
flatpak remove com.tencent.tim.ext.xsettingsd
所有deepinwine應(yīng)用都卸載后知给,卸載運行時:
常見問題
- 應(yīng)用無法啟動
嘗試使用flatpak run APPID -r
來重新解壓運行時,當(dāng)詢問時回答y描姚。
- fcitx安裝擴展之后仍無法啟用
安裝擴展后使用 flatpak kill APPID
終結(jié)應(yīng)用后重新啟動涩赢,在輸入前注意確保fcitx已是中文輸入模式(通過點擊fcitx圖標(biāo)切換)
- 即使沒有安裝fcitx擴展但無法使用ibus
如果你同時安裝了fcitx和ibus,請卸載fcitx然后重新啟動轩勘。