用Cygwin在Windows 10上運(yùn)行部分Wine應(yīng)用
筆者某次無(wú)聊,產(chǎn)生了這個(gè)奇怪的想法,經(jīng)過查詢Wine網(wǎng)站相關(guān)資料之后,發(fā)現(xiàn)是可行的,就試了試,結(jié)果也成功了。
如果你沒有接觸過Wine和Cygwin,你會(huì)覺得很奇怪,這有什么稀奇的,不就是跑個(gè)程序么,其實(shí)不然,首先允許我介紹以下Cygwin和Wine是什么:
1.Cygwin是一款在Windows 10等系統(tǒng)上實(shí)現(xiàn)類Linux的兼容層,它類似于著名的Bash on Windows,但比這個(gè)出現(xiàn)要早得多。
2.Wine,它是一款在Unix/Linux/macOS之類的類Unix系統(tǒng)上實(shí)現(xiàn)Windows兼容的兼容層。
這么說來,筆者今天的操作就是在Windows操作系統(tǒng)上通過Linux兼容層跑在Linux上實(shí)現(xiàn)Windows兼容的兼容層。
好了,進(jìn)入正文。
你需要準(zhǔn)備下面三樣:
1. Windows操作系統(tǒng)。
2. Cygwin 32位(64位經(jīng)測(cè)不成功,原因未知)
3. Wine源碼(中科大開源鏡像站上面有)
1.安裝Cygwin
前面幾個(gè)窗口點(diǎn)擊下一步就可以。由于這只是一次體驗(yàn),所以建議您把Cygwin安裝在機(jī)械硬盤上,因?yàn)闄C(jī)械硬盤空間大而且沒有必要因?yàn)榕R時(shí)安裝一次Cygwin(如果您指示為了玩Wine應(yīng)用而安裝Cygwin的話)而浪費(fèi)SSD?的擦寫壽命。
到這里選擇鏡像的時(shí)候,請(qǐng)選擇國(guó)內(nèi)的鏡像源,這樣速度比較快。筆者這里選擇的是中科大的鏡像源。輸入https://mirrors.ustc.edu.cn/cygwin,然后點(diǎn)擊Add.
2.安裝可選組件
WineHQ Wiki的“Cygwin? and More”頁(yè)面已經(jīng)告訴了我們應(yīng)該安裝什么樣的組件,按照要求安裝即可。
You'll want at least the following modules from Cygwin's setup.exe:
audio/libgsm-devel
devel/bison
devel/ccache (for Regression Testing)
devel/flex
devel/gcc
devel/gettext-devel
devel/gnutls-devel
devel/libjpeg-devel
devel/liblcms2-devel
devel/libncurses-devel
devel/libpng-devel
devel/make
devel/openldap-devel
devel/patch
devel/pkg-config
graphics/libtiff-devel
libs/libtiff-devel
libs/libxml2-devel
libs/libxslt-devel
system/libdbus1-devel
utils/patchutils
X11/libfontconfig-devel
X11/libX11-devel
不過需要注意的是,這篇頁(yè)面距今時(shí)間有點(diǎn)長(zhǎng),所說的一些組件不一定在頁(yè)面所描述的分類中,請(qǐng)自行使用Cygwin安裝窗口里的search功能進(jìn)行組件選擇。devel里面的組件多而雜,而且gcc沒有同名,所以筆者為了省事,把devel整個(gè)勾上了install。
點(diǎn)擊數(shù)個(gè)下一步,等待安裝結(jié)束即可。
3.編譯wine
解壓Wine源碼到文件夾。
打開Cygwin終端,定位到源碼文件夾。
輸入mkdir ../wine-build,在源碼文件夾的上一個(gè)目錄中建立編譯文件夾。
再輸入cd ../wine-build,定位到編譯文件夾。
運(yùn)行../<源碼文件夾名稱>/configure,進(jìn)行configure。相當(dāng)一部分開源軟件在編譯時(shí)都需要進(jìn)行configure以進(jìn)行初步配置。
結(jié)束,我們開始正式編譯。
輸入make libs/* -j
輸入make programs/* -j
這兩個(gè)命令需要等待一段時(shí)間。
結(jié)束之后,請(qǐng)?jiān)赪indows資源管理器中打開編譯文件夾,然后在programs文件夾中搜索*.exe,將這個(gè)復(fù)制到cygwin安裝目錄中的/usr/local/bin文件夾,在Lib?文件夾中找到libwine.dll,將其復(fù)制到cygwin安裝目錄中的bin文件夾。
這樣的話,Wine的部分應(yīng)用就可以在Windows上跑了。不過,畢竟Cygwin不是原生的Linux環(huán)境,所以一些應(yīng)用,比如regedit、winecfg等是無(wú)法跑的,這一點(diǎn)需要注意。
Wine的寫字板,算是Windows寫字板的開源實(shí)現(xiàn)。
還記得嗎?這是Windows 3.x的時(shí)鐘程序,Wine也有開源版本。
參考資料:
1. https://wiki.winehq.org/Cygwin_and_More#Wine_on_Cygwin
2. https://wiki.winehq.org/Building_Wine