如题,这是一件很蛋疼的事情。

为了完成这一件事情,需要达成目标:

  1. Ubuntu GUI 必须要能够显示。
  2. Ubuntu 可以链接 USB Camera。

目标一

目标1很容易达成。

在 Win10 中安装一个 X11 Server,可以是 VcXsrv,可以是 Xming,比较不推荐 Xming,因为后面使用 pangolin 会发现 Xming 版本很难匹配。

推荐使用 MobaXterm,这是一个 free Xserver and tabbed SSH client for Windows。免费的非常好。

打开 MobaXterm 之后可以看到右上角有一个橘色 Xserver 的图标,点击开启 Xserver,图标变绿。鼠标放置在图标之上可以看到:

Stop X11 server (Current DISPLAY=XXX.XXX.XXX.XXX:0.0)

后面的 DISPLAY 就是在 client 端链接的环境变量。

在 Ubuntu container 中输入

export DISPLAY=XXX.XXX.XXX.XXX:0.0

或者直接在 Ubuntu container 的创建中使用 -e 选项,添加环境变量。

目标二

目标2很蛋疼。

可以在 Docker 的官网中看到 Docker 在 Windows 下是使用 Hyper-V (Windows 自带虚拟机软件) 创建一个虚拟机,在虚拟机中创建 containers。

而 Docker 在 Mac 下是使用 Orcale VM VirtualBox 创建虚拟机,在虚拟机中创建 containers。

所以,Docker 在非 Linux 环境下的工作方式是使用虚拟机软件做一个虚拟的 linux 系统,在 linux 系统中,创建 containers。

在 Docker 官网可以直接下载 Docker 或者 Docker Toolbox,下这两个行。区别在于 Docker 安装之后只有一个可执行文件,这个可执行文件创建 Docker 虚拟机只能在 Hyper-V 中创建;而 Docker Toolbox 包括 Docker Kitmatic (Docker images、containers 管理软件)、Oracle VM VirtualBox。

我以为使用 Docker Toolbox 可以使用 Oracle VM VirtualBox 作为虚拟机软件,然而并不是这样的。

所以还是继续使用 Hyper-V。

Hyper-V 可以添加设备,设备主要包括 Network Adapter 和 SCSI Controller。

我就希望能够使用 SCSI Controller 将我的 USB Camera 链接进去,然而并不行,这个东西只能添加存储设备。

查了一下 SCSI 确实只能添加存储设备。

随后看到了可以使用一个叫 USB Redirector 的商业软件将 USB 设备映射到网络设备,网络设备越过 Hyper-V,在虚拟机内部再将网络设备映射回 USB 设备。

然而这东西需要70多刀,没钱。。。

在 GitHub 上搜索,USB Redirector 搜到的代码都是在 linux 下使用的,在 Windows 下没有办法。

还是直接使用 VirtualBox 吧。

秋嘚嘛嘚,我再找找,Google “USB Redirector Alternatives”,找到了这个链接:
https://alternativeto.net/software/usb-redirector/

里面有几种替换方案:FlexiHub、VirtualHere、USB/IP、USB over Network、USB Network Gate。

先从免费开源的USB/IP开始弄,然而看了主页发现这东西是从 Linux 到 Windows 的映射,没有反方向的,扑街。这个链接可以佐证我的判断,https://sourceforge.net/p/usbip/discussion/418507/thread/6877196c/

FlexiHub 需要购买,而且是账号登陆,连破解都没有办法。

Windows::Docker::Ubuntu 做 SLAM的更多相关文章

  1. windows、ubuntu下eclipse搭建java、Python环境问题总结

    前两篇博文分别讲述了如何在windows.ubuntu下用eclipse搭建java.python环境,下面就针对本人遇到的问题做一个总结. 一.windows下关于java环境变量JAVA_HOME ...

  2. remote desktop connect btw Mac, Windows, Linux(Ubuntu) Mac,Windows,Linux之间的远程桌面连接

    目录 I. 预备 II. Mac连接Windows III. Windows连接Mac IV. Windows连接Ubuntu V. Mac连接Ubuntu VI. Ubuntu连接Mac VII, ...

  3. Windows和Ubuntu双系统,修复UEFI引导的两种办法

    查看ubuntu是否是从 efi/uefi 启动的方法:  若 /sys/firmware/efi 存在则是,否则不是.shell命令: [ -d /sys/firmware/efi ] && ...

  4. 老司机实战Windows Server Docker:4 单节点Windows Docker服务器简单运维(下)

    上篇中,我们主要介绍了使用docker-compose对Windows Docker单服务器进行远程管理,编译和部署镜像,并且设置容器的自动启动.但是,还有一些重要的问题没有解决,这些问题不解决,就完 ...

  5. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面)

    本文主要是讲解如果理由VNC实现Windows远程访问Ubuntu 16.04,其实网上有很多类似教程,但是很多需要安装第三方桌面(xfce桌面等等),而且很多人不太喜欢安装第三方桌面,很多人像笔者一 ...

  6. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)

    本文主要是讲解如果理由VNC实现Windows远程访问Ubuntu 16.04,其实网上有很多类似教程,但是很多需要安装第三方桌面(xfce桌面等等),而且很多人不太喜欢安装第三方桌面,很多人像笔者一 ...

  7. 利用 Intel Realsense做SLAM开发(一)

    最近手里拿到一台Realsense D435,就是这个: https://click.intel.com/intelr-realsensetm-depth-camera-d435.html 所以准备拿 ...

  8. 安装Windows和Ubuntu双系统2

    安装Windows和Ubuntu双系统 0.552016.12.10 15:54:41字数 2101阅读 6644 这几天开始动手做毕设啦,打算好好过把Linux瘾,接下来便是这两天我在联想电脑上安装 ...

  9. 安装Windows和Ubuntu双系统

    发现关注消息 安装Windows和Ubuntu双系统     安装Windows和Ubuntu双系统 0.552016.12.10 15:54:41字数 2101阅读 6644 这几天开始动手做毕设啦 ...

随机推荐

  1. VS2013 单元测试

    1.打开VS2013 --> 新建一个项目.这里创建一个c#控制台项目.取名为ccj_test1 2.进入控制台项目ccj_test1的Program类,创建一个add静态方法,并将progra ...

  2. 关于给C盘扩容以及动态磁盘

    2019.4.5 周五 磁盘分为基本磁盘和动态磁盘 基本磁盘转动态磁盘是很容易的 https://jingyan.baidu.com/article/59a015e3a3d504f7948865b1. ...

  3. SpringBoot 5.SpringBoot小知识讲解

    1.修改 server 端口: 在 application.properties 中添加 server.port=9090,我们的端口号就会变成9090了. 2.自定义配置Web: 2.1 创建 Cu ...

  4. canvas技术整理

    canvas技术整理 html <canvas id= "canvas"></canvas> javascript var canvas = documen ...

  5. BZOJ2734 HNOI2012集合选数(状压dp)

    完全想不到的第一步是构造一个矩阵,使得每行构成公比为3的等比数列,每列构成公比为2的等比数列.显然矩阵左上角的数决定了这个矩阵,只要其取遍所有既不被2也不被3整除的数那么所得矩阵的并就是所有的数了,并 ...

  6. 【刷题】LOJ 6002 「网络流 24 题」最小路径覆盖

    题目描述 给定有向图 \(G = (V, E)\) .设 \(P\) 是 \(G\) 的一个简单路(顶点不相交)的集合.如果 \(V\) 中每个顶点恰好在 \(P\) 的一条路上,则称 \(P\) 是 ...

  7. 自学huawei之路-AC6005-8AP添加授权码

    返回自学Huawei之路 自学huawei之路-AC6005-8AP添加授权码

  8. [JZOJ 5402] God Knows

    终于搞完了这乡里别题目 $ $ 考虑一个 \(dp\) ,设 \(f[i]\) 表示最后一个匹配选 \((i,p[i])\) 的最小费用 首先我们考虑答案长什么样 假设根据 \(p[i]\) 排序 , ...

  9. 【BZOJ1303】[CQOI2009]中位数图(模拟)

    [BZOJ1303][CQOI2009]中位数图(模拟) 题面 BZOJ 洛谷 题解 把大于\(b\)的数设为\(1\),小于\(b\)的数设为\(-1\).显然询问就是有多少个横跨了\(b\)这个数 ...

  10. HGOI20180823 三校联考

    首测:220qwq(算差的好吧) 后来改了一个地方:300qwq(算慢的好吧) std被踩qwq 注意:输入数据第一行忘记输入n,亲脑补 题解: 多项式除法(若最后除出的答案为1那么就是成功),对于f ...