Tag: x11

在主机上不使用X-server的情况下在Docker中运行xterm

我有点卡住了 有很多post如何将你的主机显示到Docker容器。 他们似乎没有为我工作,或者我做错了什么。 情况如下: 我有一台运行Docker容器C的主机Linux机器H.主机H没有x服务器。 我正在桌面机器D上启动一个新的terminal窗口,然后键入: desktop_D:> ssh -X machine_H machine_H:> export XAUTH=/tmp/.docker.xauth machine_H:> xauth nlist $DISPLAY | sed -e 's/^…./ffff/' | xauth -f $XAUTH nmerge – machine_H:> docker run -it -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $XAUTH:$XAUTH -e XAUTHORITY=$XAUTH opensuse-image /bin/bash inside_docker:> xterm xterm: Xt error: Can't open display: localhost:16.0 如果我在我的台式机上运行docker – 一切正常。 在将显示传递给docker工人时,我猜测事情并不正确。 任何帮助,将不胜感激! […]

在使用docker时,Gtk不能显示窗口

我正在制作一个在Windows上使用Tensorflow和OpenCV的应用程序。 由于tensorflow,我正在使用Docker。 我最初运行我的docker容器与命令 docker run -it -v $HOME/Documents/tensorflowSource:/tensorflowSource -v /tmp/.X11-unix:/temp.X11-unix -e DISPLAY=unix$DISPLAY gcr.io/tensorflow/tensorflow:latest-devel 在这里回答一个类似的问题: 基于GUI环境的Docker? 在运行我的程序(这应该打开一个窗口,并有效地streamvideo),我给了以下错误 Gtk-WARNING **: cannot open display: unixneeds-to-be-defined 我有点失落在这一点上,我能做些什么来显示我的程序想要显示的Gtk窗口? 任何解决scheme都不错,即使它不涉及从泊坞窗容器显示窗口

使用Docker for Mac和X11绑定运行GUI应用程序

我正在尝试运行Docker容器,需要与Docker for Mac的GUI。 我遵循本指南 ,MacOS 10.12.3,Docker for Mac 17.03.0-ce和XQuartz 2.7.11。 但是,当我运行docker run -d –name firefox -e DISPLAY=$ip:0 -v /tmp/.X11-unix:/tmp/.X11-unix jess/firefox ,没有任何反应, docker logs给出以下, (firefox:1): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast ExceptionHandler::GenerateDump cloned child […]

如何连接一个docker容器到主机上的ssh forward Xserver?

我有Xming在Windows 10上运行 我ssh与X转发到一个Linux的盒子 我可以从这里连接到X服务器 我运行一个docker集装箱,并从容器中尝试连接到X服务器,但不能。 $ display display:无法打开X server`localhost:13.0'@ error / display.c / DisplayImageCommand / 426。 我像这样运行docker: sudo docker run -it \ –user=$(id -u) \ –env="DISPLAY" \ –workdir="/home/$USER" \ –volume="/home/$USER:/home/$USER" \ –volume="/etc/group:/etc/group:ro" \ –volume="/etc/passwd:/etc/passwd:ro" \ –volume="/etc/shadow:/etc/shadow:ro" \ –volume="/etc/sudoers.d:/etc/sudoers.d:ro" \ –volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ –volume="/u:/u:rw" \ my_container DISPLAY=localhost:13.0 如果我将-p 6013:6013添加到docker run命令,则失败: docker:来自守护进程的错误响应:驱动程序无法编程端点上的外部连接musing_carson(22065ce5147ec298f8d3a43b3d2f375c6ab597f4d49f76a30d76437d04e8f4e3):启动userland代理时出错:listen tcp 0.0.0.0:6013:bind:地址已经在使用中。 如果我将–net=host添加到运行命令中,则与x服务器的连接工作,但是这大大降低了容器和主机系统之间的分离和安全性。

X11从Windows进入Docker

通过使用SSH连接,可以将Docker的X11转发连接“桥接”到Windows主机上吗? 在Windows端,我安装了Vagrant,VirtualBox和XMing。 在VirtualBox上有一个CoreOS,为Docker镜像提供服务。 工作是通过使用由Vagrant(10.0.2.2)公开的IP将显示直接显示到Windows机器上: docker run -e DISPLAY=10.0.2.2:0.0 someimage firefox 但是这不使用SSH隧道,所以它只能在可以从Docker容器访问Windows机器的本地环境中工作。 根据我的理解,我需要将显示从Docker容器内部转移到外部,CoreOS主机,然后从那里转移到SSH X11入口点。

独立和可复制的开发环境(X Forwarding + Docker)

有没有办法运行: 交互式Python(直接python / ipython,而不是远程连接的Jupyter笔记本) Matplotlib 显示graphics 在一个Docker容器中,同时在主机上使用X Forwarding(或其他方式)显示graphics? 例如,我希望能够交互式地在容器 (逐行)上运行以下代码: import matplotlib.pyplot as plt plt.plot([0, 1]) plt.show() 并查看主机上的结果图。

在Docker中运行的GUI应用程序的X11转发

首先:我已经阅读了类似的问题的答案,但没有一个工作。 情况: 使用GUI的应用程序在Arch Linux下的Docker容器(CentOS 7.1)中运行。 (机器A) 机器A有一个监视器连接到它。 我想通过我的Arch Linux客户机上的X11转发来访问这个GUI。 (机器B) 什么工作: GUI在本地机器A上工作(将/tmp/.X11-unix安装在Docker容器中)。 X11转发任何在Docker外部运行的应用程序(X11转发设置并正确运行,以便非docker使用)。 我甚至可以在远程login时切换用户,将.Xauthority文件复制到其他用户,X11转发也可以。 一些设置信息: Dockernetworking被“桥接”。 容器可以到达主机(防火墙已打开)。 在容器中设置DISPLAYvariables(因为sshd正在侦听的TCP端口6010,所以host-ip-addr:10.0)。 数据包到X转发端口(6010)从容器到达主机( tcpdump被选中)。 什么不行: X11转发Docker应用程序 错误: X11 connection rejected because of wrong authentication. xterm: Xt error: Can't open display: host-ip-addr:10.0 我试过的东西: 在机器B上用ssh -Y选项启动客户端ssh 在机器B的ssh_config中放入"X11ForwardTrusted yes" 机器B上的xhost + (允许任何客户端连接) 将Host *放在机器B的ssh_config中 在机器A的sshd_config中放入X11UseLocalhost no (允许非本地主机客户机) 在机器A上从login用户xauth add容器中的X身份validation令牌 只需将工作用户的.Xauthority文件复制到容器中即可 使舒尔.Xauthority文件具有正确的权限和所有者 我怎样才能禁用所有的X安全的东西,并得到这个工作? […]

Lightdm在Docker容器中给出“无法获得D-bus连接”

所以我一直在试图运行一个docker容器,在那里我需要运行一个依赖于lightdm的应用程序。 我的应用程序不能正确检查日志我发现它试图启动X11服务器,但失败。 清理互联网我发现X11取决于lightdm。 我试过service lightdm start但是给了我 * Starting X display manager lightdm [+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log [+0.00s] DEBUG: Starting Light Display Manager 1.18.3, UID=0 PID=15447 [+0.00s] DEBUG: Loading configuration dirs from /usr/share/lightdm/lightdm.conf.d [+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-disable-log-backup.conf [+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-greeter-wrapper.conf [+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf [+0.00s] DEBUG: Loading configuration […]

从docker显示tkinter窗口

我有一个docker容器打开一个tkinter窗口,但它不断崩溃,因为它不能连接到主机的显示。 在这篇文章中给出的答案build议将X-11套接字绑定到容器-v /tmp/.X11-unix:/tmp/.X11-unix:ro并将它的显示环境variables设置为主机的显示环境variables-e DISPLAY=$DISPLAY但是因为这些都是特定于unix的path/variables,所以它们在其他操作系统上不起作用。 我如何将显示信息传递给容器,以便tkinter可以以独立于主机操作系统的方式使用它?

Docker for Mac X11转发

我正在尝试SSH使用Docker for Mac进入Docker容器,并使用X11 Forwarding传递显示。 我得到一个MIT-COOKIE-1不受信任的超时1260错误 容器正在运行linux – CentOS7