使用 WinApps 容器在 Linux 上运行 Photoshop 或任何其他 Windows 应用程序
切换自视窗到Linux可以是解放——更快的性能、更好的控制和数字独立感。但说实话:有时,您仍然需要访问一款仅限 Windows 的应用程序 — 也许是 Photoshop、Illustrator 或微软办公室。
当然,您可以双启动,或者使用葡萄酒,但这两种方法都有妥协。双启动会破坏您的工作流程,并且 Wine 经常会在兼容性和键盘快捷键。
那就是那里WinApps进来 — 一个功能强大的开源项目,可让您运行 Windows 应用程序无缝地嵌入 Linux使用轻量级虚拟机容器。在本文中,我们将逐步介绍如何安装 WinApps、配置 Docker 容器以及直接从 Linux 桌面运行 Photoshop 或任何仅限 Windows 的应用程序 — 无延迟、无崩溃且无需双启动。
🧭目录
- 什么是 WinApps?
- WinApps 的工作原理
- 先决条件和推荐设置
- 在 Linux 上正确安装 Docker
- 配置 WinApps 容器
- 调整安全性和文件夹访问权限
- 启动容器并下载Windows
- 设置 FreeRDP 进行访问
- 使用脚本和桌面输入自动启动
- 优化性能:RAM、CPU 和重启规则
- 安全地停止、重新创建或删除容器
- 为什么使用它而不是 Wine 或 VirtualBox?
WinApps是一个开源项目,让 Linux 用户直接从 Linux 桌面运行本机 Windows 应用程序。
它通过在轻量级中运行 Windows 来实现这一目标容器或虚拟机 (VM)并使用远程桌面协议 (RDP)显示 Windows 应用程序并与之交互。从用户的角度来看,这些应用程序给人一种原生的感觉——配有图标、窗口边框和工作快捷方式。
这就像 Windows 在后台隐形运行,但 Photoshop、Word 或 Excel 窗口直接出现在 Linux 环境中。
⚙️2.WinApps 的工作原理
WinApps 使用两个主要组件:
- Docker 组合容器(运行最小的 Windows VM)
- 免费RDP客户端(在 Linux 中渲染 Windows 应用程序)
当您打开 Photoshop(或其他 Windows 应用程序)时,Docker 会启动一个后台 Windows 实例,加载该应用程序,并将其直接流式传输到您的 Linux 桌面,几乎不需要任何操作。零延迟- 因为它在您自己的系统上本地运行,而不是通过互联网运行。
与 Wine 或 PlayOnLinux 不同,WinApps 不会尝试翻译 Windows API——它只是在 Linux 中运行真实的 Windows 环境,确保完全的兼容性和稳定性。
🧩3. 先决条件和推荐设置
在我们深入之前,让我们确保您已准备好必需品。
你需要:
- 一个Linux发行版(乌班图,就像,Pop!_OS,软呢帽, ETC。)
- 至少 8 GB RAM(如果您要运行 Photoshop 等大型应用程序,建议使用 16 GB)
- 至少 30 GB 可用磁盘空间
- 码头工人和Docker 组合已安装
- 一个Windows ISO 映像(容器会自动下载)
🐳4. 在 Linux 上正确安装 Docker
让我们从正确设置 Docker 开始。
一个常见的错误是从发行版的软件包存储库安装 Docker(例如apt install docker在 Ubuntu 上)。这些软件包通常已经过时,可能会导致集成问题。
相反,始终直接从Docker 官方文档对于您的 Linux 发行版:
👉https://docs.docker.com/engine/install/
分步 Docker 安装(以 Ubuntu/为例)德班)
- 更新您的存储库:
sudo apt update - 安装依赖项:
sudo apt install ca-certificates curl gnupg lsb-release - 添加 Docker 的 GPG 密钥:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg - 添加官方 Docker 存储库:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - 安装 Docker:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
将用户添加到 Docker 组
避免运行 Docker 命令sudo,将自己添加到 Docker 组:
sudo usermod -aG docker $USER
然后注销并重新登录,或运行:
newgrp docker
🪟5. 配置 WinApps 容器
现在 Docker 已顺利运行,是时候设置 Windows 容器了。
- 前往WinApps GitHub 页面。
- 复制
docker-compose.yml来自存储库的内容。 - 创建一个新的项目文件夹:
mkdir ~/winapps && cd ~/winapps - 创建撰写文件:
nano docker-compose.yml - 粘贴 GitHub 中的内容。
现在,让我们在保存之前调整一些重要的行。
🔐6. 调整安全和文件夹访问
在运行容器之前需要进行两项重要的调整。
1. 修改用户名和密码
在你的里面docker-compose.yml文件,查找:
environment:
USER: user
PASS: password
将它们更改为独特且安全的东西。
2. 限制文件访问
默认情况下,WinApps 会公开您的整个 Linux 主目录Windows 环境——从安全角度来看并不理想。
相反,像这样修改它:
volumes:
- ~/winshared:/home/user/winshared
这样,只有一个名为winsharedWindows 可以看到您的 Linux 主目录中的内容。您可以使用它在系统之间安全地传输文件。
保存并关闭文件。
🚀7. 启动容器并下载Windows
现在在 WinApps 文件夹中打开一个终端并运行:
docker compose up
Docker 将开始构建和下载 Windows 容器。第一次,它也可能会获取一个Windows ISO 映像来自微软的服务器。
⚠️ 如果您遇到下载错误,请暂时解决关闭你的VPN,因为 Microsoft 的服务器可能会阻止区域屏蔽的连接。
安装完成后,您将看到一条消息,确认 Windows 正在安装。等待完成并显示 Windows 登录屏幕。
💻8. 设置 FreeRDP 进行访问
下一步是使用以下命令连接到正在运行的 Windows 容器免费RDP— 一个快速的开源 RDP 客户端。
安装 FreeRDP
对于基于 Ubuntu/Debian 的系统:
sudo apt update
sudo apt install freerdp2-x11
现在,检查是否可以连接到容器:
xfreerdp /v:127.0.0.1 /u:user /p:password
您应该看到您的 Windows 桌面出现在一个新窗口中 - 直接从您的容器运行!
如果每次输入长命令感觉不方便,请不要担心 - 接下来我们将自动化它。
⚡9. 使用脚本和桌面输入自动启动
为了使启动 Photoshop 或其他 Windows 应用程序更加顺利,让我们使用 shell 脚本和桌面快捷方式自动执行该过程。
第 1 步:创建启动器脚本
导航到 WinApps 文件夹并创建一个新文件:
nano launcher.sh
粘贴此启动器存储库中的内容:
👉https://github.com/cyb3rm4gus/winapps_launcher
调整:
- 您的 Linux 用户名 (
user) - Windows 密码(与中设置的相同)
docker-compose.yml) - WinApps 文件夹的路径
然后使其可执行:
chmod +x launcher.sh
第2步:创建桌面条目
创建一个新文件:
nano ~/.local/share/applications/winapps.desktop
粘贴以下内容:
[Desktop Entry]
Name=WinApps Launcher
Exec=/home/yourusername/winapps/launcher.sh
Type=Application
Icon=applications-system
Categories=Utility;
然后使其可执行:
chmod +x ~/.local/share/applications/winapps.desktop
现在,“WinApps Launcher”将出现在您的系统菜单中。您可以将其固定到扩展坞或面板上以进行一键访问。
启动后,它将:
- 检查您的容器是否正在运行。
- 如果没有就开始吧。
- 等待 10 秒启动。
- 自动启动 RDP 会话。
- 退出时关闭容器。
🧠10. 优化性能:RAM、CPU 和重启规则
默认情况下,容器仅运行4 GB 内存,这对于 Photoshop 或其他要求较高的软件来说可能不够。
增加内存:
在你的docker-compose.yml文件,找到:
mem_limit: 4g
将其更改为:
mem_limit: 8g
(如果您的系统有 16 GB 或更多物理 RAM)
控制自动重启:
默认重启规则为:
restart: on-failure
在某些 Linux 发行版中,这可能会导致 Windows 在系统启动时自动启动。
如果您不想要这种行为,请将其更改为:
restart: "no"
修改后,使用以下命令重新创建容器:
docker compose down
docker compose up --force-recreate
🔁11. 安全地停止、重新创建或删除容器
要停止容器:
docker compose down
要重新启动它:
docker compose up -d
配置更改后重建:
docker compose down
docker compose up --force-recreate
请记住:在后台运行 Windows 会消耗 CPU 和 RAM。不使用时最好将其停止。
⚖️12. 为什么使用它而不是 Wine 或 VirtualBox?
以下是所有三个选项之间的快速比较:
| 特征 | WinApps (Docker) | 葡萄酒 | 虚拟盒子 |
|---|---|---|---|
| 表现 | 高的 | 中等的 | 中等的 |
| 兼容性 | 100%(真实 Windows) | 部分的 | 100% |
| 一体化 | 本机应用程序窗口 | 有限的 | 完整虚拟机 |
| 延迟 | 零(本地) | 不适用 | 轻微 |
| 设置复杂性 | 缓和 | 低的 | 缓和 |
| 文件共享 | 受控(通过winshared) |
本国的 | 文件夹安装座 |
| 资源利用 | 缓和 | 光 | 重的 |
判决:WinApps 提供了性能和可用性之间的最佳平衡 — 真正的 Windows 兼容性与 Linux 级控制。
❓13. 常见问题
Q1.我可以使用 WinApps 安装任何 Windows 应用程序吗?
是的。您可以安装 Photoshop、Microsoft Office、Notepad++ 或任何在标准 Windows 环境中运行的 Windows 程序。
Q2。这需要 Windows 许可证吗?
是的。 Windows 容器仍然运行正版 Windows 操作系统。您需要有效的 Windows 许可证密钥才能激活它,尽管在测试时未激活它也可以运行。
Q3。使用此设置安全吗?
绝对可以,只要您限制共享文件夹并保持系统更新即可。避免将完整的 Linux 主目录暴露给容器。
Q4。我可以使用其他 RDP 客户端(例如 Remmina)吗?
是的。建议使用 FreeRDP,因为它与启动器脚本集成得更好,但 Remmina 或 KRDC 也可以使用。
Q5.这个设置可以在 Fedora 或 Arch 上运行吗?
是的。您只需要调整包命令(dnf或者pacman)安装 Docker 和 FreeRDP 时。
Q6.我可以从另一台计算机连接吗?
不——容器应该在本地运行。它针对同一系统内的零延迟使用进行了优化。
🌟14. 最后的想法
在 Linux 上运行 Photoshop 或其他 Windows 应用程序一直是社区面临的最大挑战之一。WinApps终于提供了一个干净、高效、稳定的解决方案——结合了两个世界的优点。
通过 Docker 管理 Windows 环境和 RDP 提供流畅的视觉性能,您现在可以立即在 GIMP 和 Photoshop 之间切换,而无需重新启动或摆弄 Wine 依赖项。
设置完成后,感觉几乎很神奇:Windows 应用程序像本机 Linux 软件一样运行。
所以如果你曾经犹豫过要不要完全切换到Linux因为“那个 Windows 程序”,请尝试一下 WinApps — 它可能会让您忘记您曾经需要双启动。
⚠️免责声明
WinApps 是一个使用虚拟化 Windows 环境的开源项目。用户必须拥有自己的有效 Windows 许可证。此设置仅供个人或教育用途,不可用于绕过许可证限制或公司部署。
标签:
WinApps、Linux 上的 Photoshop、Docker、FreeRDP、Linux 容器、虚拟化、Linux 上的 Windows 应用、Docker Compose、远程桌面
标签:
#Linux #WinApps #Docker #PhotoshopOnLinux #RemoteDesktop #虚拟化 #OpenSource
已访问 73 次,今天 3 次访问
