用Cygwin在Windows 10上运行部分Wine应用

微软

笔者某次无聊,产生了这个奇怪的想法,经过查询Wine网站相关资料之后,发现是可行的,就试了试,结果也成功了。

如果你没有接触过Wine和Cygwin,你会觉得很奇怪,这有什么稀奇的,不就是跑个程序么,其实不然,首先允许我介绍以下Cygwin和Wine是什么:

1.Cygwin是一款在Windows 10等系统上实现类Linux的兼容层,它类似于著名的Bash on Windows,但比这个出现要早得多。

2.Wine,它是一款在Unix/Linux/macOS之类的类Unix系统上实现Windows兼容的兼容层。

这么说来,笔者今天的操作就是在Windows操作系统上通过Linux兼容层跑在Linux上实现Windows兼容的兼容层。

好了,进入正文。

 

你需要准备下面三样:

1. Windows操作系统。

2. Cygwin 32位(64位经测不成功,原因未知)

3. Wine源码(中科大开源镜像站上面有)

 

用Cygwin在Windows 10上运行部分Wine应用

 

1.安装Cygwin

前面几个窗口点击下一步就可以。由于这只是一次体验,所以建议您把Cygwin安装在机械硬盘上,因为机械硬盘空间大而且没有必要因为临时安装一次Cygwin(如果您指示为了玩Wine应用而安装Cygwin的话)而浪费SSD?的擦写寿命。

到这里选择镜像的时候,请选择国内的镜像源,这样速度比较快。笔者这里选择的是中科大的镜像源。输入https://mirrors.ustc.edu.cn/cygwin,然后点击Add.

 

用Cygwin在Windows 10上运行部分Wine应用

 

2.安装可选组件

 

用Cygwin在Windows 10上运行部分Wine应用

 

WineHQ Wiki的“Cygwin? and More”页面已经告诉了我们应该安装什么样的组件,按照要求安装即可。

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

不过需要注意的是,这篇页面距今时间有点长,所说的一些组件不一定在页面所描述的分类中,请自行使用Cygwin安装窗口里的search功能进行组件选择。devel里面的组件多而杂,而且gcc没有同名,所以笔者为了省事,把devel整个勾上了install。

点击数个下一步,等待安装结束即可。

 

3.编译wine

解压Wine源码到文件夹。

 

用Cygwin在Windows 10上运行部分Wine应用

 

打开Cygwin终端,定位到源码文件夹。

输入mkdir ../wine-build,在源码文件夹的上一个目录中建立编译文件夹。

再输入cd ../wine-build,定位到编译文件夹。

运行../<源码文件夹名称>/configure,进行configure。相当一部分开源软件在编译时都需要进行configure以进行初步配置。

 

用Cygwin在Windows 10上运行部分Wine应用

 

结束,我们开始正式编译。

输入make libs/* -j,n是你处理器的线程数。

输入make programs/* -j,编译Wine应用程序。

 

用Cygwin在Windows 10上运行部分Wine应用

 

这两个命令需要等待一段时间。

结束之后,请在Windows资源管理器中打开编译文件夹,然后在programs文件夹中搜索*.exe,将这个复制到cygwin安装目录中的/usr/local/bin文件夹,在Lib?文件夹中找到libwine.dll,将其复制到cygwin安装目录中的bin文件夹。

这样的话,Wine的部分应用就可以在Windows上跑了。不过,毕竟Cygwin不是原生的Linux环境,所以一些应用,比如regedit、winecfg等是无法跑的,这一点需要注意。

 

用Cygwin在Windows 10上运行部分Wine应用

 

Wine的写字板,算是Windows写字板的开源实现。

 

用Cygwin在Windows 10上运行部分Wine应用

 

还记得吗?这是Windows 3.x的时钟程序,Wine也有开源版本。

 

参考资料:

1. https://wiki.winehq.org/Cygwin_and_More#Wine_on_Cygwin

2. https://wiki.winehq.org/Building_Wine

相关文章