Tag: xserver

在Docker容器内:“错误:无法打开显示:本地主机:11.0”

我正在试图在docker容器中通过ssh使用graphics界面的程序。 目前我通过ssh连接到docker和容器运行的外部机器上。 在主机上,我可以启动程序,如Firefox正确显示。 连接build立与: ssh -Y root@host 当我在Docker容器中尝试使用firefox图像时(见下面): docker run -it –privileged –rm \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v /root/.Xauthority:/root/.Xauthority:rw \ firefox 我只是得到: Error: cannot open display: localhost:11.0 我已经尝试在主机上设置xhost + ,但它仍然无法正常工作。 主机运行Scientific Linux release 7.2并使用http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/中的Dockerfile创buildDocker镜像 : FROM ubuntu:14.04 RUN apt-get update && apt-get install -y firefox # Replace 1000 with your user / […]

Docker GUI应用程序的xhost命令(Eclipse)

我在Docker中运行一个GUI应用程序 。 我听说由于Xserver被暴露,这是由于安全问题。 我想知道在以下每个步骤中正在做什么,特别是xhost local:root : [-d〜/ workspace] || mkdir〜/ workspace xhost local:root docker run -i –net = host –rm -e DISPLAY -v $ HOME / workspace /:/ workspace /:z docbill / ubuntu-umake-eclipse

Docker在通过SSH连接时运行X应用程序

我已经使用这些说明来运行 GUI应用程序与Docker来创build图像,使我可以启动基于GUI的应用程序。 当在同一台计算机上运行Docker时,这一切都完美无瑕,但在远程主机上运行Docker时会停止工作。 本地,我可以跑 docker –rm –ti -e DISPLAY -e <X tmp> <image_name> xclock 我可以在我的主机上运行xclock 。 当使用XForwarding远程连接到主机时,我可以像任何人所期望的那样运行在本地X Server上显示的X应用程序。 但是,如果在远程主机上,我尝试运行上面的docker命令,它无法连接到DISPLAY (通常是localhost:10.0 ) 我认为问题在于XForwarding是在远程主机的本地主机接口上设置的。 所以docker主机无法连接到DISPLAY=localhost:10.0因为localhost意味着远程主机,从docker本身无法访问。 任何人都可以提出一个优雅的方式来解决这个问题 问候亚历山德罗 编辑1 :我想一种可能的方法是使用socat将远程/tmp/.X11-unix到本地计算机。 这样我就不需要使用端口转发。 它看起来像openssh 6.7将本地支持unix套接字转发。

通过ssh转发x11后台会发生什么?

当我在主机上运行一个xServer,然后使用ssh连接到另一台机器时,我试图熟悉幕后实际发生的事情: ssh -Y user@machine 。 在这种情况下,我将在Windows上使用cygwin,并将DISPLAY环境variables设置为:0.0并且一旦连接到远程计算机就会运行一个GUI应用程序,这将显示在我的主机上。 Mac将使用本地xServer的石英(抱歉,如果这个术语不正确,但希望你知道我的意思),将使用ssh -X user@machine而不是-Y 。 这里的目标是拥有一个Docker容器,它只负责安装和运行GUI应用程序。 我将在主机上运行Docker容器,GUI将从目标主机上popup。 我已经通过ssh做了这个工作,并手动在容器中启动一次GUI应用程序。 我只需要知道如何configuration这个香草Linux机器(Docker容器)来转发GUI。 我想了解ssh -Y命令实际上是如何正确设置转发的是我所需要的缺失的难题。 我对.Xauthority文件的存在有一个模糊的理解。 我并不关心连接的安全性。 工作后我会担心的。

将xserver添加到Docker容器(主机是无头的)

我正在构build一个有Maven和一些依赖关系的Docker容器。 然后在容器中执行一个脚本。 看来,其中一个依赖关系需要一个Xserver的工作。 没有任何东西显示在屏幕上,但似乎有必要,无法避免。 我得到它在Dockerfile上放置一个ENV DISPLAY=xxxx:0 ,它连接到外部Xserver,它的工作原理。 但关键是要制造一个Docker自给自足的容器。 所以我需要添加一个Xserver到我的容器中添加必要的Dockerfile。 我希望Xserver只能由Docker容器本身访问,而不能在外部访问。 我的Dockerfile的FROM ubuntu:15.04是FROM ubuntu:15.04 ,这是不可改变的,因为我的Dockerfile有很多东西取决于特定的版本。 我已经阅读了一些关于如何从Docker容器连接到Docker主机的Xserver的post,像这样 。 但是,由于我提出问题的标题,Docker主机是无头的,没有Xserver。 这将是最小的apt-get包安装到容器有一个Xserver? 我想在我的Dockerfile将需要显示环境var像ENV DISPLAY=:0 。 它是否正确? 是否需要在docker run命令中添加其他内容? 谢谢。

XDummy在Docker容器中

我正在尝试通过使用XDummy驱动程序在Docker容器中运行X11服务器。 但是,我有问题得到它的工作。 预期的目的是执行无头渲染。 我可以使用Xvfb工作,但是我需要RANDR支持,并且最终还需要GL支持。 Dockerfile: FROM node:slim RUN mkdir nodeapp \ && apt-get update \ && apt-get install -y xorg \ && apt-get install -y xserver-xorg-video-dummy x11-apps COPY App /nodeapp/ ENV DISPLAY :1 RUN cd nodeapp/ \ && npm install \ && Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile /nodeapp/xdummy.log -config /nodeapp/xorg.conf start […]