我有一个运行 Ubuntu 12.04 的 VPS。我的目的是让一个 Windows 应用程序在 Wine 下全天候运行。它由两个 .exe 组成,都必须打开 GUI 才能运行。有时我想通过从我的 Windows 笔记本电脑连接到 VPS 来查看它们。我不介意在 Wine 中启动应用程序,使用 SSH 连接并使用命令行;但我确实需要事后查看它们的 GUI。
了解这一点后,您认为运行 Wine(使用它自己的窗口管理器或 Ubuntu 的窗口管理器)和安排远程访问(VNC?其他?)的适当方法是什么?
答案1
Wine 要求 DISPLAY 变量设置为可工作的 X 显示器。这不是什么大问题,而且这里有很多解决方案。
我个人会考虑启动一个Xvfb
显示器,然后在该DISPLAY
变量下运行你的应用程序,包括 VNC 服务器。
sudo apt-get install xvfb wine x11vnc
Xvfb :99 &
DISPLAY=:99 wine regedit &
x11vnc -display :99 -forever
几点说明:
- 您可以调整几何
Xvfb
形状和颜色。 - 您可以为每个应用程序设置一个单独的 X/VNC 服务器。
您可以使用以下方法截取 X 服务器的屏幕截图:
DISPLAY=:99 import -window root screenshot.png
对于生产,您可能需要一个 Upstart 作业来确保 X 服务器保持运行。您可以对 Wine 应用程序执行相同的操作。
- 这些都不安全。不要在没有防火墙的情况下在生产中使用。如果您将其放在互联网附近的任何地方,我可能会建议将 VNC 限制为 SSH 访问(通过 SSH 将端口隧道化)。