2
汽车要是能够直接在铁路上运行,那修什么高速公路?铁路和高速公路在设计上就存在巨大的差异,尽管wine的出现解决了部分Linux上运行Windows应用程序的问题,现在深度Linux上就有非常多的应用是基于wine运行的,可是终究Linux不是Windows,很多应用是专门为Windows准备的,因此想要在Linux上运行是基本不可能的。
Linux之父还是个喜欢竖中指,见谁骂谁、见谁喷谁的计算机界的史诗级喷子,他是瞧不上Windows、macOS上的那一套东西的,怎么可能让Linux原生去兼容Windows应用,即使微软愿意把自己的应用编程接口给Linux用,按照林纳斯的性格是肯定不愿意的!!!
Linux从一开始的定位就是专业用户,后来逐渐在Unix阵容中抢到了很大的服务器市场的份额,在桌面领域由于Windows和macOS已经获得了巨大的成功,Linux基本上不会有插进去一脚的可能性。
Windows是商业软件,Windows有自己的专属API
Windows本身就是一个商业软件,在1985年出现的时候,比尔盖茨带着保罗艾伦、鲍尔默去IBM谈判的时候,他们还没有Windows,不过他们很快从一个工程师手里买来了DOS,跟IBM谈妥之后比尔盖茨带着自己的创业伙伴在DOS的基础智商开发了Microsoft-DOS,逐步发展到今天这样成熟的操作系统。
Linux的出现要比Windows晚了足足七年多,而Windows从一开始就是商业软件,而且是通过OEM的方式来授权,Linux尽管是开源软件,也不敢轻易去触碰这个商业底线的,而且这些商业底线一旦被其他人利用,那么后果将不堪设想。
Linux现在不会,将来也大概率不会想办法兼容Windows软件,微软也不可能将Windows的应用接口给到Linux,除非有一天Windows也成了完全开源免费,还不受商业条款约束。Windows系统除了内核本身,EXE文件想要执行都需要跟内核通讯,内存管理、进程管理,这些全都要内核才能管理,程序和内核遵守的ABI应用程序二进制接口要一致,程序才能够正常运行,而Linux和Windows的ABI是完全不同的。
Wine的出现能够解决部分问题,不过并不完美
Wine就是为了满足在Linux、准确地说是在Linux、macOS、BSD等众多操作系统下运行Windows应用程序而产生的兼容层,Wine的全称是Wine is Not an Emulator,也就是说Wine不是模拟器,跟我们通常所说的虚拟机、模拟器不是一个道理,不过在原理上其实Wine还是应该叫做Windows Environment,只不过这玩意儿不依托于原生Windows环境,而且是完全开源免费的。
Wine支持非常多的Windows应用,大家所熟知的帝国时代、星际争霸、甚至 IE浏览器等Windows应用都曾经被移植。目前以迅雷、QQ、Adobe Photoshop为代表的Windows应用也都被移植过了,而且有不错的体验。
Wine毕竟不是完美的,很多应用都不能正常移植,移植以后同样有很多各种各样的兼容性问题,当然更大的阻碍是很多商业软件并不能支持移植,即使能够移植也不能获得官方的技术支持,肯定会存在很多问题。Linux想要借Windows的高速公路来跑自己的汽车肯定是不行的,必须构建自己的应用生态,只不过macOS和Windows太过于强大,Linux几乎没有取代的可能。