国内的办公环境,离不开QQ等Windows软件,以前我通过《安装黑苹果》来解决,如果要用Linux呢?我们不禁想问,连Windows都能跑Linux程序了,Linux到底什么时候能跑Windows程序?

干了这杯酒,不干没鸡鸡!

Wine虽然是一个解决方案,而且现在也有现成的方案,比如《你们想要的:QQ跑在Linux上 》,再比如有打包好的深度QQ等。但我不想在我64位的系统里装一堆32位的兼容包,也不想(多多少少得)折腾Wine。

无需安装,开箱即用?

这显然是最好的方案,比如在苹果系统上,我已经打包了《OSX版BioEdit》和《独家:SciHub苹果桌面版》,你只需要拖到Applications里,双击就能用。

这有什么好处?第一你不用去系统里装Wine以及一堆依赖包,第二你不需要去配置Wine,第三这个运行环境是与你的系统分离的(系统是干净的)。对于用户来说,傻瓜化开箱即用,对于系统来说,干净不影响。这是最好的方案。谁愿意去装一堆没用的兼容libs,谁愿意去折腾老半天还用不上!当然有一点点不好的地方,是打包的软件体积稍大一点,因为你要打包整个运行环境嘛,但现在最不值钱的就是存储空间了。

所以最好的方案是像Mac这样,可以把运行环境分离出来,系统干净不折腾!当然再者还得有像我这样的好心人去打包。

于是我想起了AppImage:

AppImage是一种在Linux系统中用于分发便携式软件而不需要超级用户权限来安装它们的格式。它还试图允许Linux的上游开发者来分发他们的程序而不用考虑不同Linux发行版间的区别。

在2004年,它以klik的名字发布。自那时起,它就被不断地开发,并在2011年被重新命名为PortableLinuxApps,在2013年被重新命名为AppImage。 – 维基百科

它允许打包一个软件,chmod +x之后,直接就可以运行,无需额外的步骤去安装,也无需去安装依赖关系,因为已经打包在里面了,这就像是Mac版的程序直接拖了就能用一般。而且号称不同Linux平台都OK。

于是我搜索了一下,可以找到https://github.com/askme765cs/Wine-QQ-TIM,和https://github.com/Hackerl/Wine_Appimage,两个已经打包好的软件,但我运行之后,效果太差,有些就是死慢死慢的,有些就是界面出来了点击没反应,再有些根本运行不起来。这两个打包的repo都有一个特点,他们都是用Ubuntu的,我想大概还是有些依赖没打包进去或者有些地方没配置好,估计在Ubuntu上运行应该可以吧,不过我没试,Ubuntu的童鞋可以试一试。

所以这个算是放弃了,一个方案是我自己去折腾打包,当好心人,但年纪大了,折腾不起来,还是留给年经人。或许以后会有比较好的AppImage出来造福人类。

安卓大法?

我在2004年PearPC刚出现的时候,就在我的PC上运行并跑了Mac OSX:

PearPC是一个在PC平台上独立模拟PowerPC中Mac OS、Apple Darwin及Linux软体,它遵循GPL,可以运行于基于X86平台上的Windows、Linux,以及Intel架構的Mac OS X。它的第一官方版本于2004年5月10日释出。

PearPC拥有一个可以动态转换PPC代码到x86代码并进行高速缓存的「运行时编译执行」(JIT,Just-In-Time)技術处理器模拟核心。尽管只涉及x86主机体系机构,JIT模拟核心至少比体系结构独立的普通处理器模拟内核快十倍,这是完成可用的实时模拟的关键。 – 维基百科

那体验真的叫酸爽,那叫一个慢啊,又卡又顿的,所以我对于一切需要转换硬件代码的虚拟器没什么兴趣,毕竟PC的性能有限,好在安卓有x86版本,所以没有这个问题,可以装x86版的,但装在虚拟机上,还是有虚拟机在中间赚差价,那我不如直接虚拟机装一个Windows了,好在有一个使用容器技术的,叫Anbox,有了它,你就可以直接在你的Linux桌面上跑安卓程序了。

Anbox是一个免费且开源的兼容层,旨在允许为Android开发的移动应用程序和手机游戏在GNU / Linux发行版上运行。 它使用LXC执行Android运行时环境,将Android的目录结构重新创建为可挂载的循环图像,同时使用本机Linux内核执行应用程序。 – 维基百科

于是我立刻又体验了一把,安装完发现没有google play这些市场来安装软件,只能自己下载apk,然后用adb-tools来安装,于是我下载了微信和TIM,然后安装,报错!,我定睛一看,NND,鹅厂的安卓版软件都没有提供x86版本,拿ARM版来装在x86上必须死,所以又失败了!

虚拟机大法好

不折腾,还是在虚拟机里跑个Windows吧。我投降!