无法在远程服务器上的Docker容器上启动GUI程序

时间:2020-03-10 14:45:35

标签: docker ubuntu remote-desktop

我在办公室使用的计算机是Ubuntu 18.04,并且我已经在该计算机中安装了Docker容器。一切正常,我可以在Docker容器中使用图形用户界面(GUI)程序,例如Firefox和PyCharm。当我在家工作时,我使用Windows 10笔记本电脑,并且为了连接办公室中的工作计算机,我使用X2Go程序。通过此程序,我可以使用GUI远程连接办公室中的计算机。我也可以远程运行GUI程序。但是,当再次远程安装Docker容器时,我无法在Docker容器中使用GUI程序。原因是因为为了让Docker容器访问主机的GUI,我使用了xhost +命令。但是,当远程运行此命令时,出现以下错误:

# xhost:  must be on local machine to enable or disable access control.

如果忽略此错误消息,则无法在Docker容器上启动任何GUI程序。有任何想法吗?谢谢。

1 个答案:

答案 0 :(得分:1)

本文可能会帮助您: https://www.ibm.com/support/pages/remote-install-websphere-application-server-unix-host

在文章中:

如果未授权远程主机进行连接,则可以将其添加到 使用以下命令的授权客户端列表:

xhost +

xhost:必须位于本地计算机上才能启用或禁用访问控制。

这表示此命令仅由本地授权 控制台(例如,不在telnet会话中)。

接下来,您必须导出显示内容,以便在 远程主机将显示在本地主机上。为此,请运行 通过以下方式登录远程主机上的以下命令 来自本地主机的telnet会话:

导出DISPLAY =

您的远程桌面协议也可能是个问题。

X2Go使用带有SSH的NX协议来确保安全性。
NX协议使用了缓存技术,这可能是问题的一部分。远程桌面技术可能会改变体验,并且可能无法远程使用Docker GUI。

我在远程桌面技术(RDP,VNC等)上也遇到了类似的问题,其中一些或所有桌面体验都不可见。

我建议尝试使用VNC(RFB协议)软件,看看是否可行。 RDP是另一种解决方案。

请注意,除非您使用隧道解决方案(VPN等)和加密,否则默认情况下VNC和RDP并不是很安全。有些VNC具有内置加密功能(通过SSH),并且RDP也具有安全解决方案,但是如果您是在家中访问它,则应确保您的安全管理员知道您选择的适合您的技术。

相关问题