Azure 和 RHEL - “无法打开显示:1”...有时

Azure 和 RHEL - “无法打开显示:1”...有时

我在 Azure 上有一个 RHEL 映像,我们启动它来执行一些特殊任务。没有选项可以真正保持服务运行。

然而,有时在启动时,当我尝试运行甚至只是xeyes,我收到以下错误:

$ xeyes
未指定协议。
错误:无法打开显示::1

其他时候,当我们使用完全相同的方法一切都运行正常。我可以从xeyesVNC 运行一切,一切都很好。在运行命令之前创建虚拟机时,我甚至采取了特别的预防措施,waagent因为我们在规模集比如在新用户下创建 VNC 实例(稍后详细介绍)等等,我严格为此目的而添加新用户。

我的问题是:

  • 有人知道会导致这种不稳定行为的异常现象吗?
  • 有人做了什么来确保 X 启动吗?
  • 我可以做些什么来强制 VNC 等在 X 之后启动?

笔记:我不需要设置远程 X 访问,只需设置本地。

我遵循的基本指示是Red Hat RHEL 7 TigerVNC 说明在 Red Hat 网站上。

此时,我的解决方法是使用 Chef 构建 VM,然后使用这些说明启动重建所有内容的过程。

答案1

我还不能发表评论,因此我把这个放在这里。

我知道这个方法不太好用,但我在我的 Azure 帐户上尝试过。我扩展了大约 20 个 VM 实例,但并非所有实例都能正常工作 - 有些能,有些不能。当我再次启动它时,我得到了不同数量的启动/关闭实例。

我添加了一个 shell 脚本,该脚本按照您提供的说明链接在启动请求中设置 VNC。这似乎有效。

它可以工作,但唯一的缺点是我必须等待网络可用。我所做的特殊操作就是添加ping -c 1 -W 1 SOME_REPO_URL并检查响应代码以等待网络可用(我遇到了一些问题)。

这是一种不太好的解决方法,但至少可以起作用。

相关内容