设置运行 Wine 的 VPS 的远程访问;是否需要窗口管理器?

设置运行 Wine 的 VPS 的远程访问;是否需要窗口管理器?

我有一个运行 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 将端口隧道化)。

相关内容