具有 ubuntu 服务器的 Amazon EC2 实例上的永久桌面

具有 ubuntu 服务器的 Amazon EC2 实例上的永久桌面

我正在尝试在 Amazon 上的 ubuntu 14.04 服务器实例上运行程序,但它需要 gui。我可以安装 lunbuntu 并使用 x2go 查看桌面,但是一旦我的互联网连接出现问题,x2go 的连接就会断开,并且桌面环境似乎会关闭(以及我的程序)。

有没有办法让桌面始终在实例上运行并使用 x2go 访问它(而不是在连接时创建它),这样即使我失去连接桌面也可以运行?在 EC2 上运行它的全部目的是提高稳定性,而不是我的草率连接。

经过大量时间的阅读和尝试不同的解决方案来设置 DISPLAY 和 xauth 文件,我似乎无法让它工作。还可以做到吗?

答案1

当然。有两种选择:

  1. 如果您偶尔需要访问桌面,请使用vncserver

    sudo apt-get install tightvncserver
    

    注意:还有其他实现,但这个可以正常工作。安装后,运行它:

    vncserver :1
    

    第一次运行它时,它会要求输入密码才能访问您的桌面。选一个。您现在可以使用任何 VNC 客户端访问它。笔记:VNC 协议未加密。您将需要通过某种加密(例如,SSH 端口转发、VPN 或类似的方式)对其进行隧道传输,并通过防火墙隔离其端口(在本例中为端口 5901)。

  2. 如果你不需要访问GUI,只需要运行它,你可以xvfbscreen会话中使用:

    sudo apt-get install screen xvfb
    screen xvfb-run your_application
    

    这将启动一个屏幕会话,该会话将启动 xvfb,从而启动您的应用程序。screen是一个程序,允许您启动某项操作、断开连接并稍后重新连接。断开连接是通过ctrl- ad(即保持控制和,释放两者,按 d);重新连接是通过 完成的screen -r

    xvfb-run是一个启动的脚本Xvfb,它是“X for Virtual Framebuffer”的缩写。它使用 X11 协议,但几乎不做任何事情;您的应用程序发送到该 X 服务器的任何内容都不会显示在任何屏幕上。然而,它仍然是一个 X 服务器;为了能够使用它,您必须设置一些环境变量并执行一些Xauthority魔法。xvfb-run存在,这样您就不必手动执行此操作。最后,完成所有设置后,xvfb-run启动应用程序,并将其连接到Xvfb图形和启动它的终端(在本例中为屏幕会话)以获取标准输出。每当您的应用程序与 X 服务器断开连接时,Xvfb(通过扩展,xvfb-run)就会退出。

由于Xvfb不允许您修改内容,因此它需要更少的资源并且可能更快。但是,如果您需要访问 GUI,那么这不是一个选择。

相关内容