15

如果我想在 Windows 上运行原生的类 Unix 应用程序怎么办?那里最好的应用程序是什么?

4

8 回答 8

25

Cygwin最接近您正在寻找的内容,但与 Wine不完全一样。

Cygwin 是一个类似 Linux 的 Windows 环境。它由两部分组成:

  1. 一个 DLL (cygwin1.dll),充当 Linux API 仿真层,提供大量 Linux API 功能。
  2. 一组提供 Linux 外观的工具。

它与 Linux 应用程序不是二进制兼容的,您仍然需要从源代码重新构建它们才能在 Cygwin 下运行。然而,一旦重建,它们应该像在 Linux 上一样工作。

于 2009-03-17T02:24:06.677 回答
14

不太一样,但您也可以在虚拟机(例如 Virtualbox)中运行完整的 linux 安装:http: //virtualbox.org/

于 2009-03-17T02:28:31.050 回答
14

看看andLinux(基于coLinux)。

从网站:

andLinux 是一个完整的 Ubuntu Linux 系统,可在基于 Windows 2000 的系统(2000、XP、2003、Vista;仅限 32 位版本)中无缝运行。

...

虽然这项技术有点像在虚拟机中运行 Linux,但 coLinux 的不同之处在于它更多地是 Windows 和 Linux 内核的合并,而不是模拟 PC,因此效率更高。Xming 用作 X 服务器,PulseAudio 用作声音服务器。

andLinux 不仅用于开发,而且无需修改即可运行几乎所有 Linux 应用程序。

于 2009-03-17T02:59:28.010 回答
9

不是 赛格温。

什么不是 Cygwin?

  • Cygwin不是在 Windows 上运行本机 linux 应用程序的方法。如果您希望它在 Windows 上运行,您必须从源代码重新构建您的应用程序。

  • Cygwin不是一种神奇地使本机 Windows 应用程序了解 UNIX® 功能(如信号、ptys 等)的方法。同样,如果您想利用 Cygwin 功能,您需要从源代码构建您的应用程序。

Cygwin 将提供一个类似 Linux 的 shell,但不能直接在 Windows 中运行 linux 应用程序。Cygwin “充当提供大量 Linux API 功能的 Linux API 仿真层”。

于 2009-03-17T02:33:05.843 回答
5

在遥远的过去,有一个 LINE Is Not an Emulator,它的目标是与 Wine 完全相反:为在 Windows 下运行的 Linux 可执行文件提供二进制兼容性。

它有点工作,至少作为概念证明,但没有太大的需要。

于 2009-03-17T20:02:41.617 回答
4

如果您有兴趣将这些 *nix 应用程序移植到 Win32 环境,您可以查看MinGW项目。我主要将它用于 Windows 上的 GCC,但它们也提供了一个有趣的环境,称为 MSYS:

一个提供 POSIX 兼容的 Bourne shell 环境的最小系统,带有一小部分 UNIX 命令行工具。主要开发用于执行用于构建开源软件的配置脚本和 Makefile,但也可用作通用命令行界面来替代 Windows cmd.exe。

于 2009-03-17T02:43:10.093 回答
3

有一段时间,微软提供了SFU,它适用于某些事情。Cygwin 工作得更好。

如果您希望 ABI 兼容性,因为 wine 为 windows 二进制文件提供了 unix 系统,那么事情就相当惨淡了。 CoLinux也可以工作,但通常对任何类型的图形应用程序都没有帮助,除非您也配置了 Windows X11 服务器。

于 2009-03-17T02:30:17.207 回答
1

我使用过基于coLinux构建的andLinux。该组织已经编译了一个 Ubuntu 安装(我认为是 Gutsy,但我很容易升级到 Intrepid)。

一个警告:andLinux 上的开发非常缓慢——最后一个测试版已经发布了将近一年。

于 2009-03-17T03:01:04.513 回答