gpt4 book ai didi

docker - 使用 X11 转发在 Docker 中运行多个 GUI

转载 作者:行者123 更新时间:2023-12-04 13:32:53 29 4
gpt4 key购买 nike

我在 Docker 中有一个设置,用于在 Ubuntu 14.04.03 的 Docker 中运行 GUI 应用程序。

GUI 应用程序是使用带有必要参数的脚本文件启动的。如果应用程序只有一个窗口,则设置工作正常,我可以通过执行 X11 转发轻松查看结果。这是我用来运行应用程序的命令

sudo docker run -it \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY \
-w /Apps/ \
--rm appsdocker:v1 \
/bin/bash -c "./run_singleGUIapp.sh param1"

但如果 GUI 有一个按钮,单击该按钮会打开一个新窗口,则 GUI 应用程序无法响应并在一段时间后返回到系统提示符。

我尝试从这个 link 运行示例其中解释了如何使用 X11 转发在 docker 上运行 firefox。一旦我在 Docker 中运行的 firefox 上搜索查询并尝试“在新窗口中打开”以获取任何后续点击,应用程序就会运行。我尝试这样做时假设它也会导致无响应行为,但似乎这不是一般情况,并且只对我的脚本有效。

我知道这是一个非常模糊的问题描述,因为我不能透露应用程序和环境的细节。非常感谢任何关于如何处理自行生成的 GUI 应用程序的指示。

最佳答案

可能是X认证的问题

尝试执行以下操作。在主机上:

  1. echo $DISPLAY并记住号码(类似于 :4 )
  2. xauth list找到上面数字的cookie并复制整行

Docker 内部:

  1. xauth add <paste the copied line>

(因为您没有附加容器,所以您可以将此行传递给您的 run 命令:/bin/bash -c "xauth add <cookie>; ./run_singleGUIapp.sh param1")

关于docker - 使用 X11 转发在 Docker 中运行多个 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36545877/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com