在使用docker或者ssh进行显示的时候,出现以下错误
Invalid MIT-MAGIC-COOKIE-1 keyterminate called after throwing an instance of 'std::runtime_error'
what(): Pangolin X11: Failed to open X display
Aborted (core dumped)
解决办法
终端执行xhost +local:docker即可,
解释
xhost +local:docker 命令是将本地的 X Window 图形系统权限授予 Docker 容器,以便让 Docker 容器能够访问本地的 X Window 图形界面。
一般情况下,Docker 容器默认没有权限访问本地的 X Window 图形界面。但是,当我们需要在 Docker 容器中启动 GUI 应用程序时,这是必需的。通过运行 xhost +local:docker 命令,我们可以将本地 X Window 图形系统的权限授予 Docker 容器。
其中的 xhost 命令是用于控制 X Server 的访问权限的,+local:docker 表示允许本地 Docker 容器连接到当前的 X Server。
需要明确的是,一旦使用 xhost +local:docker 命令授予权限,任何在本地主机上运行的 Docker 容器都可以访问当前的 X Window 图形界面,因此这可能存在一些安全风险。因此,在使用该命令之前,我们需要确保我们信任本地的 Docker 容器。在完成应用之后,最好再次运行 xhost -local:docker 命令,撤销该权限。