首先,我已经阅读了关于SO的类似问题的答案,但是没有一个起作用。
情况:
什么有效:
.Xauthority
文件复制到其他用户,并且X11转发也可以。一些设置信息:
DISPLAY
变量在容器中设置(由于sshd正在侦听的TCP端口6010,因此设置为host-ip-addr:10.0)。tcpdump
选中)到达主机。什么不起作用:
X11 connection rejected because of wrong authentication.
xterm: Xt error: Can't open display: host-ip-addr:10.0
我尝试过的事情:
ssh -Y
在计算机B上使用选项启动客户端ssh"X11ForwardTrusted yes"
ssh_config放在机器B上xhost +
(因此允许任何客户端连接)在计算机B上Host *
ssh_config放在机器B上X11UseLocalhost no
在计算机A上放入sshd_config(以允许非本地客户端)xauth add
使用机器A上的登录用户从容器中添加X auth令牌.Xauthority
文件从工作用户复制到容器中.Xauthority
文件具有正确的权限和所有者我如何才能禁用所有X安全功能并使其正常工作?
甚至更好:我如何使其与安全性一起使用?
好的,这是东西:
1)登录到远程机器
2)检查设置了哪个显示 echo $DISPLAY
3)运行 xauth list
4)复制对应于您的行 DISPLAY
5)输入您的Docker容器
6)xauth add <the line you copied>
*
7)将DISPLAY设置为 export DISPLAY=<ip-to-host>:<no-of-display>
*到目前为止还好吧?
这并不是什么新鲜事……不过,这里有一个转折:xauth list
登录用户打印的行看起来像这样(在我的情况下):
<hostname-of-machine>/unix:<no-of-display> MIT-MAGIC-COOKIE-1 <some number here>
因为我使用桥接docker设置,所以X转发端口不在本地侦听,因为sshd在容器中未运行。将上面的行更改为:
<ip-of-host>:<no-of-display> MIT-MAGIC-COOKIE-1 <some number here>
本质上:移除/unix
零件。
<ip-of-host>
是sshd运行所在的IP地址。
如上设置DISPLAY变量。
因此错误是DISPLAY
环境变量中的名称与xauth list
/
.Xauthority
文件中的条目不是“相同”的,因此客户端可能无法正确进行身份验证。
我切换回不受信任的X11转发设置。
X11UseLocalhost no
但是,sshd_config文件中的设置很重要,因为传入的连接将来自“不同”的计算机(docker容器)。
我正在尝试构建一个多克文件,其中包含通过多克运行的 Rscript。我在构建它时遇到了与tcl / tk包加载相关的错误,我想在构建docker文件时使用X-11转发和显示变量。我目前正在关注这篇文章。我面临的问题是我找不到tmp /。我的机器中的X11-unix目录,如帖子中所述。对于构建 docker 文件和克服 tcl/tk 包中的错误,是否有任何替代方案?
我过去经常用这样的命令运行程序: 然后我可以用我的Ubuntu系统的显示器运行wireshark。就像这个页面的例子:用docker运行GUI应用程序 现在它不工作了。当我运行wireshark时,我得到这个错误:
我正在尝试使用Windows中的docker工具箱运行自定义java swing GUI。我现在想要容器化这个应用程序,但是得到以下错误: 我正在运行一个DockerFile。设置为: 3)复制到包含JAR的文件夹上 4)运行docker容器,该容器将启动GUI(不是linux前端,最好不使用vnc)。 我将Xlaunch用于windows上的终端,并且能够使用它在docker上启动一个firef
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。 Hello world 现在让我们来试试 $ sudo docker run ubuntu:14.04 /bin/echo 'Hello world' Hello world 刚才你启动了你的第一个容器! 那么刚才发生了什么? 我们逐步来分析 docker run 命令做了哪些事情。 首先,
问题内容: 我正在运行Docker容器,主要是作为该语言的隔离开发环境。(这里的用法与文章的其余部分是正交的,即,您可以假定可以在-session中运行的任何通用程序。)很多时候,这涉及到诸如绘图,制作图形等工作;我需要看看这些。因此,我希望可以选择显示在容器中创建的图形。到目前为止,这是我的操作方式。首先,我创建一个。忽略最简单的步骤是: 我构建图像,然后使用以下命令启动容器: 然后可以SSH到