Linux环境运行Windows程序方式,在 Linux 环境中运行 Windows 程序可以通过模拟、虚拟化、容器化或其他跨平台工具来实现,10 种方式及其具体实现方法
Linux环境运行Windows程序方式,在 Linux 环境中运行 Windows 程序可以通过模拟、虚拟化、容器化或其他跨平台工具来实现,10 种方式及其具体实现方法。
Windows上有些软件在 GNU/Linux 中有替代方案 ,但还是有许多无法取代的软件 (例如Adobe Photoshop,大型PC游戏 等),本文将常用的在Linux主机环境运行Windows程序的方式做一归纳总结。
Wine方式
Wine
• Wine是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层。Wine 不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是将 Windows API 调用翻译成为动态的 POSIX 调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows 应用到你的桌面。
• WINE 是一个开源项目,它可以协助很多 Windows 应用程序在 Linux 上运行,就好像它们是原生程序一样;
• Wine 进程模仿 Windows C 驱动器并包含在 Linux 上使用基于 Windows 的应用程序所需的所有文件;
PlayOnLinux
• PlayOnLinux 是使用 Python 写成的图形化前端,主要用来辅助 Wine 在 Linux 中安装面向 Windows 平台的程序和游戏,如 MS Office 2003。另外,此程序也支持使用 Dosbox 来安装基于 Dos 的程序和游戏。
Bottles
• Bottles 是一个免费的开源图形应用程序,以一种新的方式管理 Wine 前缀,使用 Bottles,我们可以轻松地在 Linux操作系统上运行 Windows 软件和游戏。
• 它可以运行所有 Windows 可执行文件,例如.bat、.exe和.msi在 Bottles 中,它将自动检测所有已安装的应用程序,无需手动添加到程序列表!
• 每次您为应用程序添加任何依赖项时,Bottles 都会使用默认配置生成一个全新的状态,因此,在 Linux 上运行 BAT、MSI 和 EXE 文件变得很容易,因为 Bottles 会根据可执行文件修改系统。
• Bottles 是结合 Python 和 Bash 开发的,Bottles 的当前版本是第三个版本。
crossover
• Crossover 是一款可以在 Linux 服务器上执行 Windows 应用程序的工具,它是 wine 的优化 + 商业版本,免去了 Wine 的繁琐配置,让 Linux 安装 Windows 软件更简单;
• 部分移植的软件有官方的维护,执行效果也比较好。
虚拟机
• 常用的操作是在Windows宿主机上安装Linux虚拟机,实际上也可以反过来玩;
• 常用的虚拟机如:VirtualBox、VMware Workstation/Player、KVM;
远程桌面方式
RDP协议
• freerdp:FreeRDP是一个Remote Desktop Protocol(协议)的一个实现,可以在Linux下通过 xfreerdp 命令远程Windows电脑;
• rdesktop:rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本;
• tsclient:Terminal Server Client(tsclient)是一个用于rdesktop的前端。它支持大多数rdesktop,tsclient是图形界面,命令行输入tsclient打开主界面,输入远程计算机IP,用户名和密码就可以连接。使用tsclient,必须安装rdesktop.
• grdesktop:rdesktop的图形版,Gnome桌面的远程登录前端);
• krdc:KDE桌面的rdp和vnc连接工具;
• Vinagre:Gnome桌面环境的远程桌面客户端,同时支持SSH、RDP和VNC协议;
• Remmina 是一款在 Linux 和其他类 Unix 系统下的自由开源、功能丰富、强大的远程桌面客户端,它用 GTK+ 3 编写而成。它适用于那些需要远程访问及使用许多计算机的系统管理员和在外出行人员。
VNC协议
• krdc:同时支持RDP和VNC协议;
• Vinagre:同时支持RDP和VNC协议;
• Remmina:同时支持RDP和VNC协议;
• realvnc:vnc的一个商用版本;
winrm方式
• WinRM是WindowsRemoteManagementd(win远程管理)的简称。基于Web服务管理(WS-Management)标准,使用80端口或者443端口。
• 通过python中的 winrm模块,Python脚本通过winRM模块操作windows命令行。
Telnet方式
• 先设置windows系统中的telnet设置;
• 之后可通过telnet命令、python中的telnetlib库等方式进行执行操作;
SSH方式
• 在Windows上安装PowerShellServer,它仅只支持一个连接。
双系统
• 如果磁盘空间比较大,双系统是最香的,你走你的阳关道,我过我的独木桥,Windows与Linux互不干扰;
• 严格来讲,这种方式已经不属于Linux环境上运行了,只是为了内容全面性,权且放这里。
在 Linux 环境中运行 Windows 程序可以通过模拟、虚拟化、容器化或其他跨平台工具来实现。以下是 10 种方式及其具体实现方法:
1. Wine
简介:
Wine 是一个开源兼容层,允许在 POSIX 操作系统(如 Linux)上运行 Windows 应用程序,而无需安装 Windows。
实现步骤:
- 安装 Wine:
sudo apt update sudo apt install wine
- 检查 Wine 版本:
wine --version
- 配置 Wine 环境:
winecfg
- 设置虚拟 Windows 版本(如 Windows 10)。
- 运行 Windows 程序:
wine /path/to/windows_program.exe
2. PlayOnLinux
简介:
PlayOnLinux 是一个基于 Wine 的前端工具,提供图形界面,简化了运行 Windows 应用程序的过程。
实现步骤:
- 安装 PlayOnLinux:
sudo apt update sudo apt install playonlinux
- 打开 PlayOnLinux:
playonlinux
- 在界面中选择“安装程序”,然后从支持的软件列表中选择需要的 Windows 应用。
- 按提示安装并运行程序。
3. Crossover
简介:
Crossover 是 Wine 的商业版本,提供更好的兼容性和技术支持。
实现步骤:
- 从 Crossover 官网下载软件并安装:
Crossover 官网 - 启动 Crossover,选择要安装的 Windows 应用程序或游戏。
- 根据提示完成安装并运行。
4. VirtualBox + Windows 虚拟机
简介:
使用 VirtualBox 创建一个 Windows 虚拟机,直接在其中运行 Windows 程序。
实现步骤:
- 安装 VirtualBox:
sudo apt update sudo apt install virtualbox
- 下载 Windows ISO 镜像文件。
- 在 VirtualBox 中创建新虚拟机:
- 设置操作系统类型为 Windows。
- 挂载 Windows ISO 文件并安装 Windows 系统。
- 在虚拟机中安装并运行 Windows 程序。
5. VMware Workstation Player
简介:
VMware Workstation Player 是一款强大的虚拟化工具,可在 Linux 上运行完整的 Windows 虚拟机。
实现步骤:
- 从 VMware 官网下载 Workstation Player:
VMware 官网 - 安装 VMware Player:
sudo chmod +x VMware-Player-*.bundle sudo ./VMware-Player-*.bundle
- 创建 Windows 虚拟机并运行程序。
6. Proton(Steam Play)
简介:
Proton 是 Valve 开发的工具,基于 Wine 和 DXVK,主要用于在 Linux 上运行 Windows 游戏。
实现步骤:
- 安装 Steam:
sudo apt install steam
- 在 Steam 设置中启用 Steam Play:
- 转到“设置” → “Steam Play” → 勾选“为所有游戏启用 Steam Play”。
- 通过 Steam 安装并运行 Windows 游戏。
7. Lutris
简介:
Lutris 是一个游戏管理平台,支持多种运行环境,包括 Wine 和 Proton。
实现步骤:
- 安装 Lutris:
sudo add-apt-repository ppa:lutris-team/lutris sudo apt update sudo apt install lutris
- 打开 Lutris,搜索所需的 Windows 游戏或应用程序。
- 按提示安装并运行。
8. QEMU + KVM 虚拟化
简介:
QEMU 是一个开源虚拟化工具,结合 KVM 可以高效地运行 Windows 虚拟机。
实现步骤:
- 安装 QEMU 和 KVM:
sudo apt install qemu-kvm libvirt-daemon-system virt-manager
- 下载 Windows ISO 文件。
- 使用 virt-manager 创建虚拟机:
- 指定 ISO 文件安装 Windows 系统。
- 在虚拟机中运行 Windows 程序。
9. Docker + Wine
简介:
通过 Docker 容器化运行 Wine 环境来运行 Windows 程序。
实现步骤:
- 安装 Docker:
sudo apt install docker.io
- 拉取带有 Wine 的 Docker 镜像:
docker pull scottyhardy/docker-wine
- 运行 Windows 程序:
docker run -it --rm -v /path/to/program:/mnt scottyhardy/docker-wine wine /mnt/windows_program.exe
10. ReactOS
简介:
ReactOS 是一个开源的 Windows 替代操作系统,兼容部分 Windows 应用程序。
实现步骤:
- 下载 ReactOS ISO 文件:
ReactOS 官网 - 使用 VirtualBox 或 QEMU 创建虚拟机并安装 ReactOS。
- 在 ReactOS 中安装并运行 Windows 程序。
对比与选择
方法 | 优势 | 劣势 |
---|---|---|
Wine | 轻量级,无需安装 Windows | 兼容性较差,部分程序无法运行 |
PlayOnLinux | 图形界面,易于使用 | 依赖 Wine,复杂应用支持较差 |
Crossover | 兼容性较好,技术支持 | 收费 |
VirtualBox | 可运行完整 Windows 环境 | 性能开销较大 |
VMware | 强大的虚拟化功能 | 收费(Player 免费但功能有限) |
Proton | 针对游戏优化 | 仅限于 Steam 支持的游戏 |
Lutris | 支持多种运行环境 | 配置复杂 |
QEMU + KVM | 高效虚拟化 | 配置复杂 |
Docker + Wine | 轻量化部署 | 配置依赖 Docker 和 Wine |
ReactOS | 原生支持部分 Windows 应用 | 功能不完整,兼容性较差 |
选择具体方案应根据应用需求、资源情况和兼容性要求而定。例如,轻量应用推荐使用 Wine,复杂需求可以选择虚拟化(如 VirtualBox 或 VMware)。