【WIN】WIN10_WSL_Ubuntu18.04_ROS_rviz_docker

WIN10安装WSL

Microsoft Store

在这里插入图片描述

安装编译套件

sudo apt-get install build-essential

apt换源

Debian / Ubuntu 的官方源在国内访问很慢,咱们更换为清华大学 TUNA 的软件源镜像

  • 执行下面命令,备份 apt 安装源:

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

  • vim编辑sources.list

    sudo vim /etc/apt/sources.list

  • 将 sources.list 中的内容替换如下:

    • 注意:这里是Ubuntu 18.04 LTS
    • 如果是其他版本的ubuntu,自行访问[ 清华大学开源软件镜像站]去查找对应版本的镜像配置
        # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic main restricted universe multiverse# deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic main restricted universe multiversedeb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic-updates main restricted universe multiverse# deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic-updates main restricted universe multiversedeb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic-backports main restricted universe multiverse# deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic-backports main restricted universe multiversedeb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic-security main restricted universe multiverse# deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic-security main restricted universe multiverse# 预发布软件源,不建议启用# deb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic-proposed main restricted universe multiverse# deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> bionic-proposed main restricted universe multiverse
配置SSH服务器

WSL 上的 SSH 服务器没有自动配置,需要手动重新安装,首先可以运行以下命令来检查;

$ sudo service ssh stop
$ sudo /usr/sbin/sshd -d

在这里插入图片描述
如果输出信息包括以上信息,即找不到 key,重新安装 openssh-server 就可以解决问题

$ sudo apt purge openssh-server
$ sudo apt-get update
$ sudo apt install openssh-server

配置 /etc/ssh/sshd_config,用 sudo 权限运行 vim 修改如下三个关键字
记得删除 #

Port 22
# 这两行允许了 root 账户和密码登录
PermitRootLogin yes
PasswordAuthentication yes

手动启动服务

$ sudo /etc/init.d/ssh start
$ sudo service ssh status

安装ROS

在 Ubuntu18.04 中安装 ROS Melodic
http://wiki.ros.org/cn/melodic/Installation/Ubuntu

Q&A

Q:ubuntu18.04按照wiki上安装步骤执行sudo rosdep init是出现
sudo: rosdep:找不到命令
原因:python-rosdep这个包没有装。
sudo apt-get install python-rosdep

图形化显示

Q&A
Q.安装完ROS之后运行rviz出现以下报错:
在这里插入图片描述
原因:缺少图形化显示

win10+WSL+安装VcXsrv Windows X Server

下载Xlaunch:
https://zhuanlan.zhihu.com/p/128507562
在这里插入图片描述
一路向next
在这里插入图片描述
重启Xlaunch,并取消Native opengl的选择:
Disable Native opengl
安装完成后,需要在WSL里面config一下:

sudo vim ~/.bashrc

在末尾添加以下内容

export DISPLAY=:0.0
export LIBGL_ALWAYS_INDIRECT=
export LIBGL_ALWASY_SOFTWARE=1

添加 LIBGL_ALWAYS_INDIRECT= 这个很奇怪的操作是我在这个论坛讨论上看到的,很玄学的问题,不加上去就不能正常显示ROS的图形化输出。
完成后ESC再输入:wq保存退出,然后记住 source

source ~/.bashrc
使用rviz之前先开启XLanch

Display number : 0
在这里插入图片描述

取消Native opengl的选择
在这里插入图片描述

测试

sudo apt install x11-apps -y && xeyes
在这里插入图片描述
rviz
在这里插入图片描述

安装docker

下载docker for windows安装包

进入docker官网下载页面
在这里插入图片描述
大概五百兆,先忙其他的。

wsl安装docker

使用wget从 https://get.docker.com 获取并运行 Docker 安装脚本,然后采用 Shell 中管道(pipe)的方式来执行这个脚本。
wget -qO- https://get.docker.com/ | sh


正常通过该指令已经可以使用了,但是由于是WSL,故查看版本现象是:
img
因此有了先前的下载docker for windows

安装docker for windows

安装
安装很简单,选择下载好的exe,下一步到结束即可,桌面会出现以下图标即可;
Q&A
Q1:Typer-V的错误
Typer-V如果没有开启,启动软件的时候会报错,这里开启,重启电脑即可
在这里插入图片描述
Q2:Cpu虚拟化
在任务管理器中查看:
在这里插入图片描述

配置docker for windows

开启2375端口对外提供服务
右键小鲸鱼 > settings > General,勾选上以下选项

在这里插入图片描述

WSL配置及刷新环境变量
echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.bashrc
source ~/.bashrc
再次查看版本

在这里插入图片描述

首先确定已开启如下图的功能:
在这里插入图片描述

报错如图所示:

在这里插入图片描述
A4:根据报错提示,猜测可能是我们使用的wsl2版本老了,需要我们自己手动更新一下,我们根据提示去微软官网下载最新版的wsl2安装后即可正常打开。
更新包下载链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

加载镜像

1.Copy tar 到 用户目录

2.加载Image

docker load -i xxx.tar

3.查看image

docker images

参考资料

WSL (Ubuntu 18.04 LTS) 安装ROS,可运行Rviz和Gazebo

https://www.it610.com/article/1282805517810417664.htm

问题解决方案记录

https://zhuanlan.zhihu.com/p/335524684

Win10 Terminal + WSL 安装配置指南,精致开发体验

https://zhuanlan.zhihu.com/p/273237897

编写ROS的第一个程序hello world(重点)

https://www.cnblogs.com/IT-cute/p/13232409.html

window10下子系统ubuntu安装Docker

https://blog.csdn.net/lupengfei1009/article/details/94637398

Docker for windows 7 - 加载 docker images
https://www.cnblogs.com/atuotuo/p/6830124.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【问题解决】pnpm : 无法将“pnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

今天配置完poetry环境变量之后pnpm不能用了 具体报错 pnpm : 无法将“pnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置 行:1 字符: 1pnpm run dev~~~~ Ca…

计算机毕业设计Python+大模型租房推荐系统 租房大屏可视化 租房爬虫 hadoop spark 58同城租房爬虫 房源推荐系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 用到的技术: 1. python…

大一物联网要不要转专业,转不了该怎么办?

有幸在2014年&#xff0c;踩中了物联网的风口&#xff0c;坏消息&#xff0c;牛马的我&#xff0c;一口汤都没喝上。 依稀记得&#xff0c;当时市场部老大&#xff0c;带我去上海参加电子展会&#xff0c;印象最深的&#xff0c;一些物联网云平台&#xff0c;靠着一份精美PPT&a…

2024年项目管理新风向:敏捷开发与瀑布开发,哪个更优?

一、项目管理的多样格局 2024 年&#xff0c;项目管理领域展现出丰富多样的格局。数字化趋势愈发明显&#xff0c;项目管理软件普及度不断提高&#xff0c;据相关资料显示&#xff0c;随着云计算、大数据等技术的成熟&#xff0c;项目管理软件将更加普及&#xff0c;实现项目信…

OpenCV双目相机外参标定C++

基于OpenCV库实现双目测量系统外参标定过程。通过分析双目测量系统左右相机拍摄的棋盘格标定板图像&#xff0c;包括角点检测、立体标定、立体校正和畸变校正的步骤&#xff0c;获取左右相机的相对位置关系和姿态。 a.检测每张图像中的棋盘格角点&#xff0c;并进行亚像素级精…

Python游戏开发超详细(基础理论知识篇)

一、引导&#xff1a; Python游戏开发是一个非常有趣且富有挑战性的领域。通过Python&#xff0c;你可以利用其强大的库和框架来创建各种类型的游戏&#xff0c;从简单的2D游戏到复杂的3D游戏。以下是第一课的基础理论知识&#xff0c;帮助你入门Python游戏开发。 二、理论知识…

使用Prometheus对微服务性能自定义指标监控

背景 随着云计算和容器化技术的不断发展&#xff0c;微服务架构逐渐成为现代软件开发的主流趋势。微服务架构将大型应用程序拆分成多个小型、独立的服务&#xff0c;每个服务都可以独立开发、部署和扩展。这种架构模式提高了系统的可伸缩性、灵活性和可靠性&#xff0c;但同时…

【数据结构和算法】三、动态规划原理讲解与实战演练

目录 1、什么是动态规划&#xff1f; 2、动态规划实战演练 2.1 力扣题之爬楼梯问题 &#xff08;1&#xff09;解题思路1: &#xff08;2&#xff09;解题思路2: &#xff08;3&#xff09;动态规划&#xff08;DP&#xff09;&#xff1a;解题思路 &#xff08;4&#x…

ArcGIS必会的选择要素方法(AND、OR、R、IN等)位置选择等

今天来看看ArcGIS中的几个选择的重要使用方法 1、常规选择、 2、模糊查询、 3、组合复合条件查询&#xff08;AND、OR、IN&#xff09;&#xff0c; 4、空值NULL查询 5、位置选择 推荐学习&#xff1a; 以梦为马&#xff0c;超过万名学员学习ArcGIS入门到实战的应用课程…

Pandas模块之垂直或水平交错条形图

目录 df.plot() 函数Pandas模块之垂直条形图Pandas模块之水平交错条形图 df.plot() 函数 df.plot() 是 Pandas 中的一个函数&#xff0c;用于绘制数据框中的数据。它是基于 Matplotlib 库构建的&#xff0c;可以轻松地创建各种类型的图表&#xff0c;包括折线图、柱状图、散点…

【纯血鸿蒙】专项测试工具 DevEco Testing

DevEco Testing 为生态合作伙伴接入 HarmonyOS 生态提供专业的测试服务,共筑高品质的智能硬件产品。 云端服务平台面向开发者提供724 小时的远程多终端真机实验室,提供华为专业的应用安全隐私检测,提供基于华为真机的应用自动化测试。 访问地址:https://devecostudio.huawe…

线程的互斥与同步

目录 一、互斥 1、数据不一致问题 2、锁 3、饥饿问题 4、锁的原理 5、封装锁 6、抢票逻辑中加入封装的锁 7、可重入VS线程安全 8、死锁 二、同步 1、什么是同步 2、如何实现同步 3、条件变量 4、生产消费者问题 &#xff08;1&#xff09;CP问题 &#xff08;2&am…

SLAM|2. 差异与统一:坐标系变换与外参标定

本章主要内容 1.坐标系变换 2.相机外参标定 上一章我们了解了相机内参的概念&#xff0c;内参主要解决三维世界与二维图像之间的映射关系。有了内参我们可以一定程度上还原相机看到了什么&#xff08;但缺乏尺度&#xff09;。但相机看到的数据只是处于相机坐标系&#xff0c;为…

C# Unity 同步/异步编程和多线程什么关系?async/await和coroutine又是什么?

目录 不用模板生成的目录怎么这么丑啊 1.同步&#xff1f;异步&#xff1f;多线程&#xff1f; 2.async/await和coroutine&#xff1f; 证明 单线程中的同步/异步 同 异 多线程中的同步异步 同 异 1.同步&#xff1f;异步&#xff1f;多线程&#xff1f; 首先&#…

前端经典【面试题】持续更新HTML、CSS、JS、VUE、FLUTTER、性能优化等

HTML/CSS 面试题 什么是语义化 HTML&#xff1f; 说明&#xff1a;语义化 HTML 使用 HTML 标签来描述内容的含义&#xff0c;而不仅仅是其外观。使用语义化标签可以提高可读性和可访问性&#xff0c;并对 SEO 友好。示例&#xff1a; <header><h1>网站标题</h1&…

第二代 GPT-SoVITS V2:解锁语音克隆与合成的无限可能

在 AI 技术蓬勃发展的今天&#xff0c;第二代 GPT-SoVITS V2 如一颗璀璨的明星闪耀登场&#xff0c;为语音处理领域带来了前所未有的变革。它是一款集先进技术与强大功能于一身的声音克隆与语音合成工具&#xff0c;由 RVC 变声器创始人 “花儿不哭” 与 AI 音色转换技术 Sovit…

sharpkeys-键盘部分按键不好用,用其它不常用按键代替

sharpkeys-键盘部分按键不好用&#xff0c;用其它不常用按键代替 文章目录

Rust的move关键字在线程中的使用

为什么使用 move&#xff1f; 在 Rust 中&#xff0c;move 关键字主要用于闭包。当我们在一个线程中创建一个闭包并将其传递给另一个线程时&#xff0c;如果闭包中使用了某些变量&#xff0c;就需要决定这些变量的所有权归属。 不使用 move&#xff1a; 默认情况下&#xff0…

前端开发:Vue中数据绑定原理

Vue 中最大的一个特征就是数据的双向绑定&#xff0c;而这种双向绑定的形式&#xff0c;一方面表现在元数据与衍生数据之间的响应&#xff0c;另一方面表现在元数据与视图之间的响应&#xff0c;而这些响应的实现方式&#xff0c;依赖的是数据链&#xff0c;因此&#xff0c;要…

Pytorch与深度学习 #10.PyTorch训练好的模型如何部署到Tensorflow环境中

1. Tensorflow vs Pytorch 在这个AI时代&#xff0c;各大厂商都在主推自家的AI框架&#xff0c;因此知名和不知名的大大小小可能十来种。但是我们选型的时候&#xff0c;一般首先考虑是Google家的Tensorflow呢还是Meta家的Pytorch。 在选择 PyTorch 或 TensorFlow 进行工业级…