首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Windows主机中使用Vcxsrv从Linux Docker Container的多个bashes获得多个GUI显示?

要在Windows主机中使用Vcxsrv从Linux Docker Container的多个bash会话中获得多个GUI显示,你需要进行以下步骤:

基础概念

  • Vcxsrv:这是一个在Windows上运行的X Server,它允许你在Windows上显示Linux应用程序的图形界面。
  • Docker Container:一个轻量级的、可移植的、自足的软件包,包含运行某个应用程序所需的一切,包括代码、运行时、库、环境变量和配置文件。
  • X11 Forwarding:一种机制,允许远程用户通过网络访问另一台计算机的图形用户界面(GUI)。

相关优势

  • 远程桌面:允许用户在本地机器上运行远程服务器上的图形应用程序。
  • 多任务处理:可以在一个Windows主机上同时运行多个Linux GUI应用程序。

类型

  • X Server:如Vcxsrv,用于在Windows上显示Linux GUI。
  • X Client:在Linux Docker Container中运行的应用程序。

应用场景

  • 开发和测试:在Windows开发环境中运行Linux GUI应用程序进行测试。
  • 远程工作:允许远程开发者在本地Windows机器上访问Linux服务器上的GUI工具。

解决问题的步骤

  1. 安装Vcxsrv
    • 下载并安装Vcxsrv,可以从其官方网站或GitHub页面获取。
  • 配置Docker容器
    • 确保你的Docker容器支持X11 Forwarding。可以在Dockerfile中添加以下内容:
    • 确保你的Docker容器支持X11 Forwarding。可以在Dockerfile中添加以下内容:
    • 在运行容器时,使用-e DISPLAY参数传递显示变量:
    • 在运行容器时,使用-e DISPLAY参数传递显示变量:
  • 启动Vcxsrv
    • 运行Vcxsrv,确保选择“Multiple Windows”模式,并记下显示编号(通常是:0)。
    • 在Vcxsrv设置中,确保勾选“Allow public access”。
  • 在Docker容器中启动GUI应用程序
    • 在Docker容器中,你可以使用xeyesxclock等简单的X11应用程序来测试是否配置正确。
    • 在Docker容器中,你可以使用xeyesxclock等简单的X11应用程序来测试是否配置正确。

可能遇到的问题及解决方法

  • 无法显示GUI:确保Vcxsrv正在运行,并且DISPLAY环境变量正确设置。
  • 权限问题:确保Windows防火墙允许Vcxsrv的端口通信,并且在Docker容器中运行应用程序的用户具有适当的权限。

参考链接

通过以上步骤,你应该能够在Windows主机中使用Vcxsrv从Linux Docker Container的多个bash会话中获得多个GUI显示。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Win11安装基于WSL2的Ubuntu

详论 2.1 子系统安装 在Win11搜索栏中搜索“启用或关闭Windows功能”,在弹出的“Windows功能”对话框中,勾选择 “适用于Linux的Windows子系统”和“虚拟机平台”,如下图1所示...2.3.2 VcXsrv 如果还是想获得沉浸式的桌面体验,那么就需要安装桌面环境了。...如果因为各种原因需要重启,就在任务管理器中关掉,确保只有一个VcXsrv程序。 以上是在win11端中的操作,接下来就是在Ubuntu终端的操作。...VcXsrv的问题是只有以Multiple windows方式启动的桌面环境才能支持GPU/OpenGL,但是这种方式启动的桌面环境中打开的GUI程序有点问题,具体表现为点击标题栏的关闭按钮无法生效,或者无法通过标题栏拖动窗口的位置...不过话说回来,对使用GPU的GUI程序来说,基于WSL的Ubuntu确实不是最优解,笔者这里使用glxinfo | grep "OpenGL"显示的OpenGL只能支持到OpenGL 3.1,更不谈其他显卡的驱动了

31210

【Linux运维】Windows上装Linux运行环境WSL2

具体来说,WSL2使用了Hyper-V虚拟机来托管Linux内核。这样一来,WSL2可以实现真正的本地Linux内核,并支持Docker等应用程序的运行。...总的来说,WSL2为开发人员、运维人员以及需要在Windows环境下使用Linux工具的用户带来了很大的便利。...这里再说一下它和虚拟机/双系统的区别: 1.它只是个终端,能让我们体验ubuntu下的一些指令操作,但却无法显示GUI程序、图像信息等,主打的点应该是可以和windows同时使用吧 2.可以使用vim...GUI应用 WSL 2 使 Linux GUI 应用程序在 Windows 上使用起来原生且自然。...不过WSL也在慢慢支持原生的Linux GUI程序,我们真正需要的不是一个图形桌面,而是能在WSL端也能看到如相机图像等GUI程序,方便进行计算机视觉开发。

54920
  • 目前MacOS上,管理容器和k8s可选择的产品有哪些?

    具体可以在此处阅读更多相关信息[1] 对此我们可以做出选择,获得使用 Docker Desktop 的许可,或者评估一些开源的强大功能来做这些事情。...这些项目中的大多数都在 Linux 和 Windows 上的裸机上运行(通过 Linux 的 Windows 子系统),但在 macOS 上,您很可能正在运行 Linux VM,尽管对您隐藏。...MicroK8S 可以帮助您创建跨多个节点的集群,如果您有本地云,则它是在本地云(On-Premise Cloud)中运行 Kubernetes 的绝佳选择。...对本地Kubernetes集群有很好的支持,通过containerd创建的镜像可以直接在集群中使用。它还支持从 Linux VM 转发到 mac 主机的端口,并将文件系统安装到容器中。...Colima似乎是 Docker Desktop 的完美开源替代品,但没有GUI。

    1.3K20

    Rancher简介与安装

    下图显示了Rancher的主要组件和功能 准备 Linux 主机 先安装一个64位的 Ubuntu 14.04 Linux 主机,其内核必须高于 3.10 。或者其它同等的 Linux 发行版。...你可以使用一台笔记本、一个虚拟机或者一台物理的服务器。请确保目标安装 Linux 主机的内存至少1GB。 然后安装 Docker 在这个 Linux 主机上, 可以参考 Docker安装说明。...使用 Docker 原生命令创建一个容器 Rancher 会显示所有在主机上的容器,即使有些容器是在图形界面之外创建的。在主机的 shell 命令行里创建一个容器。...$ docker run -it --name=second_container ubuntu:14.04.2 在图形界面中,你将看到 second_container 在你的主机上出现!...如果你查看容器 second_container 的 IP 地址,你会注意到他不在 192.168.*.* 网段中。它的 IP 地址是通过 Docker 后台服务获得的。

    4.7K30

    干货分享-Win2019上的Linux容器和Azure Stack上的K8

    答案有以下三点: 节省资源 Windows服务器上能同时运行Windows容器和Linux容器,而不是Windows容器只能在Windows主机上运行,Linux容器只能在Linux主机上运行,造成资源浪费...,由微软和docker提供支持 接下来让我们看一下Windows是如何让Windows容器和Linux容器水火共融的。...运行docker images,即可看到Windows 10上当前有Windows和Linux的容器镜像。 ?...怎么查看Linux容器的详细信息,通过Hyper-V管理器(GUI、PowerShell或者API)是看不到这台微型虚拟机的任何信息的。...这和上图的命令行显示是一一对应的。 ? ? 谈完了容器,接下来该说说如何在Azure Stack里部署Azure Kubernetes Service呢?

    1.5K11

    Docker学习笔记之docker volume 容器卷的那些事(一)

    ,volume 在容器停止或删除的时候依然存在,如果需要删除需要显示(dockr rm -v…),多个容器可以加载相同的卷。...可以使用 Docker CLI 命令或 Docker API 来管理。 volume 在 Linux 和 Windows 容器上都能工作。 volume 可以在多个容器之间更安全的共享。...使用该方式不能通过 docker volume 管理,推荐使用 volume 方式。 相关用例 bind mounts,一般情况在如下方式使用: 从主机共享配置文件到容器。...如,你可以将 Maven target/ 挂载到容器中,并且每次主机上构建 Maven 项目时,容器都可以访问重建的构件。 主机的文件或目录结构与容器所需的一致时。...tmpfs 容器的限制 tmpfs 挂载不能在容器间共享。 tmpfs 职能在 Linux 容器上工作,不能在 windows 容器上工作。

    1.8K30

    Docker镜像创建容器的几种方法

    -p参数告诉 Docker 如何在容器中映射端口 80到主机操作系统。我指定容器内的端口80映射到主机操作系统中的端口3000。这与Docker中的EXPOSE命令相对应。...从镜像中创建附加容器 您可以从一个镜像中创建多个容器,但您必须确保以下内容不冲突配置选项,如名称和端口映射等。现在创建第二个容器,使用不同名称和端口映射的自定义镜像。...容器列表 STATUS(状态)列展示两个容器都在运行中,并报告它们已经运行了多长时间。容器运行了多久。 PORTS 列显示了每个容器从主机操作系统映射的端口。...运行以下的命令,从自定义镜像中创建和启动容器,并转发端口映射,从主机操作系统中的5000到容器内部80端口的网络流量。...检查了容器的工作状态后,使用Control+C停止容器,(仅在Linux或macOS有效)或windows使用此命令。

    47.2K32

    Docker(一):Docker入门教程

    运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。...企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。...Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。Docker 将应用程序与该程序的依赖,打包在一个文件里面。...镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。...Docker container:容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。

    1.3K50

    干货分享-Win2019上的Linux容器和Azure Stack上的K8

    答案有以下三点: 节省资源 Windows服务器上能同时运行Windows容器和Linux容器,而不是Windows容器只能在Windows主机上运行,Linux容器只能在Linux主机上运行,造成资源浪费...,由微软和docker提供支持 接下来让我们看一下Windows是如何让Windows容器和Linux容器水火共融的。...运行docker images,即可看到Windows 10上当前有Windows和Linux的容器镜像。 ?...怎么查看Linux容器的详细信息,通过Hyper-V管理器(GUI、PowerShell或者API)是看不到这台微型虚拟机的任何信息的。...这和上图的命令行显示是一一对应的。 ? ? 谈完了容器,接下来该说说如何在Azure Stack里部署Azure Kubernetes Service呢?

    1.3K10

    Docker入门到精通,从安装开始,持续记录

    Docker实现原理简述 1.进程隔离—Namespace Linux Namespace(Linux 命名空间)是 Linux 内核(Kernel)提供的功能,它可以隔离一系列的系统资源,如 PID(...Docker使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。...但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。...接下来就要为容器分配IP了,Docker会从RFC1918所定义的私有IP网段中,选择一个和宿主机不同的IP地址和子网分配给docker0,连接到docker0的容器就从这个子网中选择一个未占用的IP使用...另一端放在主机中,以veth65f9这样类似的名字命名,并将这个网络设备加入到docker0网桥中 从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。

    1.2K30

    10分钟快速掌握Docker必备基础知识

    Docker是使用时下很火的Golang语言进行开发的,其技术核心是Linux内核的Cgroup,Namespace和AUFS类的Union FS等技术,这些技术都是Linux内核中早已存在很多年的技术...,所以严格来说并不是一个完全创新的技术,Docker通过这些底层的Linux技术,对Linux进程进行封装隔离,而被隔离的进程也被称为容器,完全独立于宿主机的进程。...而学习Docker的第一步,从安装Docker运行环境开始,我们以Docker的社区版本(CE)安装为例, Docker社区版本提供了Mac OS,Microsoft Windows和Linux(Centos...本质上使用Docker Toolbox安装Docker环境,实际上是在VirtualBox中创建一个Linux虚拟机,并在虚拟机上安装Docker 另外,在安装过程中会开启Windows的Hyper-V...进入容器,container_id表示容器的id,command表示linux命令,如/bin/bash docker exec -it container_id command 仓库(Repository

    98650

    Linux & Docker常用命令

    从网络中查找需要的镜像 docker search 镜像名称 eg:docker search redis -拉取镜像 从docker仓库下载镜像到本地,镜像名称格式为【名称:版本号】,如果版本号不指定则是最新的版本...数据卷****** 数据卷是宿主机中的一个目录或文件 当容器目录和数据卷目录绑定后,对方的修改会立即同步 一个数据卷可以被多个容器同时挂载 一个容器也可以挂载多个数据卷 数据卷作用 容器数据持久化 外部机器和容器间接通信...数据卷容器 多容器进行数据交换 多个容器挂载同一个数据卷 数据卷容器 (上图中的container c3) 数据卷小结 五、docker应用部署 1、mysql部署 目标:在docker容器中部署...exec -it c_mysql /bin/bash 登陆mysql mysql -uroot -p123456 Windows上用navicat连接docker上部署的mysql 服务 用宿主机的ip...2、which which 从环境变量文件(/etc/profile)中的path目录中查找,且witch找的都是可执行文件 which redis 3、locate linux系统每天至少自动扫描一次文件

    1.3K30

    Docker初识 -- 搭建编程环境

    Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何安装有Docker的电脑(windows和Linux)上。...的app busybox:是一个集成了三百多个最常用Linux命令和工具的软件,简化的Linux系统 centos: centos系统容器 6.2....容器拷贝到主机 docker cp CONTAINER:/opt/webapp/app.py d:/www 备注: /opt/webapp/app.py: 容器中的文件 d:/www: 主机文件夹...数据卷 默认会一直存在,即使容器被删除 理解: 1.数据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的数据卷。...2.相当于将容器中的目录 和 本机目录映射起来,在本机目录中修改代码,增加文件等,会实时反映在容器目录中 8.2. 为什么要使用数据卷 方便将本地主机中的代码运行在docker容器中 8.3.

    1.1K20

    Docker使用

    ;从宿主主机配置的网桥接口中桥接一个。...联合文件系统是一种可以把多个目录挂载到同一个文件系统层次结构中的技术,这样从外部看起来,只有一个文件系统,但实际上却包含了多个独立的文件系统。...在Docker中,可以使用以下命令来管理标签和版本:- 拉取镜像:使用`docker pull`命令可以从远程仓库拉取指定标签的镜像。...- 查看镜像标签:使用`docker images`命令可以列出本地主机上的所有镜像,并显示它们的标签信息。例如,`docker images`将显示所有镜像的名称、标签、ID等信息。...此外,Docker还提供了一些特殊的日志驱动,如syslog和journald,这两种驱动是专为Linux系统设计的。这些驱动可以帮助用户更方便地管理和查询容器的日志信息。18.

    32730

    Docker简介

    Docker是什么 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。...Docker守护进程 Docker daemon 是服务器组件,正如上面的图片显示,Docker守护进程运行在一个主机机器中。...docker的镜像是只可读的,一个镜像可以创建多个容器。如同在电脑上安装系统镜像文件。 容器(Container) docker利用容器来开发、运行应用。容器是镜像创建的实例。...您可以使用Machine在您的本地Mac或Windows框上创建Docker主机,或者在您的公司网络上,在您的数据中心,或在云提供商,如Azure, AWS,或Digital Ocean。...无论是Mac,Windows或是Linux,你都可以在其上安装Docker Machine,使用docker-machine命令来创建和管理大量的Docker hosts。

    91720

    【Docker三连问】什么是Docker? | Docker风靡原因? | 如何安装使用Docker?

    从虚拟化时代的起步发展,到进入容器化时代的如火如荼的发展,越来越多的开发者喜欢并拥抱上了容器化技术。基于中国云原生用户调查报告显示,在用户生产环境中,容器技术的采纳率已经接近70%。...——来自Docker官方 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化...Docker容器无处不在:Linux,Windows,数据中心,云,无服务器等。...容器化应用程序在容器主机上运行,而容器主机在 OS(Linux 或 Windows)上运行。 因此,容器的占用比虚拟机 (VM) 映像小得多。...但出于可靠性考虑,在多个主机服务器上运行同一映像的多个实例时,通常要使每个容器(映像实例)在不同容错域中的不同主机服务器或 VM 中运行。

    59920

    Docker 容器技术使用指南

    随后将介绍如何在常见的操作系统平台上安装 Docker,包括 Redhat Linux、Windows、Centos 等主流操作系统平台。...2.2 安装Docker Docker 在主流的操作系统和云平台上都可以使用,包括 Linux 操作系统(如 ubuntu、Debian、CentOS、Redhat 等)、MacOS 操作系统和 Windows...本部分将介绍围绕镜像这一核心概念的具体操作,包括如何使用 pull 命令从 Docker Hub 仓库中下载镜像到本地,如何查看本地已有的镜像信息和管理镜像标签,如何在远端仓库使用 search 命令进行搜索和过滤...]:过滤列出的镜像,如 dangling=true 只显示没有被使用的镜像; 也可指定带有特定标注的镜像等; --format="TEMPLATE":控制输出格式,如.ID 代表 ID 信息,Repository...6.2 单台主机上容器的监控 单台主机上容器的监控实现最简单的方法就是使用命令 Docker stats,就可以显示所有容器的资源使用情况,如下输出: 虽然可以很直观地看到每个容器的资源使用情况,但是显示的只是一个当前值

    2.4K20

    WSL2:Windows 亲生的 Linux 子系统

    文章在此:WSL:在 Windows 系统中开发 Linux 程序的又一神器 但是 WSL 只是长得像 Linux 而已,虽然在这个子系统中,我们可以执行 Linux 程序,但是到了底层,WSL 调用的还是...后来,微软终于放出了 WSL2 这个真正的 Linux 子系统,这是一个真正的 Linux 完整内核,与传统的虚拟机 VitualBox、VMWare 一样,但是它与宿主机的互操作性更好。...Linux 内核升级包 也可以从文末的网盘中下载 下载之后,一路 Next 安装即可。...关于 Linux 的桌面环境,它与 Windows 桌面环境的理念有一些不一样。 在 Linux 系统中,桌面环境是一个独立的应用程序,不属于操作系统的一部分。...在打开 mnt 目录,是不是看到了 Windows 系统中的盘符? 但是,中文信息显示的都是乱码!那我们就来安装中文语言支持包。

    1.9K10

    1.Docker学习之基础知识

    ,客户端系统需要进行修改; 2.4 准虚拟化(Paravirtualization):如xen 2.5 操作系统级虚拟化:内核通过创建多个虚拟化的操作系统实例内核和库来隔离不同的进程,dokcer以及其他容器都在这个范畴之内...; Docker 中每一层镜像的元数据都是存在 json 文件中的,除了静态的文件系统之外,还会包含动态的数据; Docker 镜像生产容器后会在此基础之上加入挂载点到安装Docker宿主机文件系统之中..., Enterprise, and Education等系统版本中可以进行下载安装Docker Desktop for Windows下载地址-当前版本2.3.0.3,它可以进行使用的界面来操作查看docker...描述: 使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验。...Hello World,Docker Container $docker attach priceless_chaplygin #通过上面的ps -a 中names进入想对应的容器 #当多个窗口同时

    1.6K30

    如何优雅地使用 Docker

    同时,也允许在容器中部署一个与宿主系统相似但不同的操作系统(这里主要指可以诸如在 Arch Linux 使用 Ubuntu 镜像,但是如果是 Windows,其无法直接使用 Linux 镜像,需要先使用...安装 对于正常环境(如 Windows、Linux)可以直接在官网安装 Docker 即可。...这里用户名和镜像名针对于官方 Docker 仓库,如果省略镜像名,将会从官方维护的镜像中检索;如果省略版本号,将会使用最新版本latest。...对于已停止的容器,可以使用docker container start 再次启动它。而对于正在运行中的容器,使用docker container stop 终止。...而对于正在使用中的容器,则可以使用docker container rm -rf强行删除(会在删除前先停止容器) 如果想要删除所有未运行的容器,可以使用docker container prune 存储卷

    3.1K41
    领券