您的位置:首页 > 运维架构 > Linux

一入wine深似海,从此奋战到天明

2015-09-10 13:09 459 查看
wine神马的最烦人了,喝多了伤身,请适量。



很多朋友都会发现,Linux下的应用实在是太少了,Linux平台哪里都好,就是没人用。。。= =!为了在Linux下运行更多的应用,程序猿们开发出了Wine神器。要知道,这个东西开发的艰辛,Linux本身是开源的,但Windows可不是啊,能用开源的软件搭建出一套闭源软件的兼容层,可不是一件容易的事。

首先说Wine的工作原理,要知道,Windows应用主要是由应用程序和大量的动态链接库组成,这些可执行文件,都符合WindowsPE格式,这是微软官方出品的可执行文件标准,这个标准是确定的,而且由于x86_64体系的影响,同体系的机器码,本质是一样的。那既然机器码是一样的,为何不能正常工作呢?原因就出在系统层面,由于windows系统,底层有大量的链接库,这套底层API接口实现是闭源的,被称为Windows API,作为Windows平台软件开发的标准。而且Windows又有着复杂的DirectX、注册表、独有文件系统等特殊的地方,和*nix系列的系统大不一样,那么同样的机器码,也很难移植。

于是Wine的开发者想出了什么办法呢?他们根据WindowsAPI的描述,自己又在Linux下实现了一遍,终于,这个兼容层才算是可以大致使用。不过由于windows闭源的特质,很难对其进行非常完美的模拟。

相比之下,Windows下的Linux环境兼容层Cygwin就好办多了,由于Linux的代码是开源的,怎么实现都有对应C代码,所以出的问题就很少,也更加稳定。

WineHQ

源里面的Wine一般不好用,我们去官网下载会比较好:https://www.winehq.org/

对于Ubuntu用户来说,有PPA源可以用,具体的方法参考:https://www.winehq.org/download/ubuntu

安装还是十分简便的,由于都是使用包管理器安装。

Wine QQ

对于Linux下的用户,最实用的莫过于此了,QQ简直是Linux用户的天敌,周围人都在用,传文件发资料,包括一些时间都习惯建个群进行讨论,但遗憾的是没有Linux版,而且又是商业软件,不让开源者开发其对应版本。

这个就头疼了,WebQQ不支持传输文件,Pidgin体验又不好,没有一款合适的聊天软件,这恐怕是非常难受的一点。

不过现在Wine做的确实不错,对于新版的轻聊版QQ —— QQ6.7Light.exe,支持还不错,只需要安装较少的依赖库即可。

安装对应库:

winetricks intlqq
winetricks riched20


之后下载QQLight安装包即可。

下载地址:http://dldir1.qq.com/qqfile/qq/QQ6.7Light/13466/QQ6.7Light.exe

Wine 帝国时代2

帝国时代2可是很经典的一款游戏,小时后,我和我表弟,两个人就特别喜欢玩这个,在还不懂电脑是个啥的情况下摆弄着抛石机和投石车,看着不认识的英文单词,玩的可开心了。

现在帝国时代2这款游戏出了高画质版,玩起来更加清晰,画质很赞。

这里有百度网盘的下载链接:http://pan.baidu.com/s/1mgwt8Re

安装好后,直接进入,发现不正常,UI界面没问题,但地图绘制都是黑的,于是Google解决方案。

发现其实很简单,只需要添加一个启动参数
-nostartup
就可以了:

./AoK\ HD.exe -nostartup


可以完美运行,玩了几把,还没发现异常崩溃的情况。

更多应用

Wine能完美运行的应用不是很多,主要原因是Windows本身的闭源导致,比较很多API都是部分实现,所以,在判断一款Windows应用能不能正常运行时,除了自己实验外,也可以查看Wine的应用数据库,在Wine官网上,就列举了很多他们完美运行的游戏和应用。

应用数据库:https://appdb.winehq.org/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息