【2023】Windows11安装Linux子系统(Ubuntu22.04LTS)+安装ROS
创始人
2025-01-20 00:03:02
0

目录

一、准备工作

二、安装Ubuntu 22.04.1 LTS

1. 下载Ubuntu 22.04.1 LTS

2. 移动到非系统盘

三、启动Ubuntu遇到的报错及解决方案

四、换源

五、安装ROS

1. 设置编码

2. 添加源

3. 安装ROS

4. 设置环境变量

5. 测试



一、准备工作

控制面板——程序——程序和功能——启动或关闭Windows功能

 

开启如图所示三项,重启电脑

二、安装Ubuntu 22.04.1 LTS

1. 下载Ubuntu 22.04.1 LTS

打开Microsoft Store,搜索并下载Ubuntu 22.04.1 LTS

(安装Windows Subsystem for Linux前一定要先安装Ubuntu,否则移动Ubuntu位置会报错)

2. 移动到非系统盘

ps:默认安装在C盘,可以移动安装位置,建议移动到其它盘

三、启动Ubuntu遇到的报错及解决方案

报错:

WslRegisterDistribution failed with error: 0x800701bc

解决方案:

下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包

下载链接

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

安装后

报错:

adduser: Please enter a username matching the regular expression configured

via the NAME_REGEX[_SYSTEM] configuration variable.  Use the `--force-badname'

option to relax this check or reconfigure NAME_REGEX.

解决方案:

把大写的首字母,改成小写即可

ps:输入的密码不显示

四、换源

Ubuntu默认的软件源在国外,可能会造成下载软件卡顿,因此需要换源,这里我选择更换为阿里源。

1.双击Ubuntu22.04 LTS图标,在命令行中输入

# 备份原来的软件源  sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak  # 编辑软件源  sudo nano /etc/apt/sources.list

2.将原来的内容替换为阿里源

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse  deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse  deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse  deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse  deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse  deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse  deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse  deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse  deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse  deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

Ctrl + O保存, enter, Ctrl + X退出

3.更改后

4. 更新升级软件

在Ubuntu命令行中依次执行如下命令:

# 更新软件源  sudo apt-get update -y  # 升级所有软件  sudo apt-get upgrade -y

五、安装ROS

1. 设置编码

sudo apt update  sudo apt install locales  sudo locale-gen en_US en_US.UTF-8  sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8  export LANG=en_US.UTF-8

2. 添加源

1.通过检查此命令的输出,确保已启用Ubuntu Universe存储库。

apt-cache policy | grep universe

①正常情况

​ 

②若没有看到像上面这样的输出行,依次执行如下命令:

sudo apt install software-properties-common  sudo add-apt-repository universe

2.继续执行如下命令:

sudo apt update && sudo apt install curl gnupg lsb-release  sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg  echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

①正常情况

②报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 0 ms: Connection refused

解决

sudo nano /etc/hosts

加上一行

199.232.28.133 raw.githubusercontent.com

Ctrl + O保存, enter, Ctrl + X退出

3. 安装ROS

sudo apt update  sudo apt upgrade

安装桌面版

sudo apt install ros-humble-desktop

安装时间较长,慢慢等待

4. 设置环境变量

source /opt/ros/humble/setup.bash  echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc

5. 测试

①通过以下命令启动一个数据的发布者节点:

ros2 run demo_nodes_cpp talker

②启动另一个终端,通过以下命令启动一个数据的订阅者节点

ros2 run demo_nodes_py listener

相关内容

热门资讯

Linux使用storcli工... /ex = Enclosure ID/sx = Slot ID1.5为了管理方便&#...
如何在 Ubuntu 22.0... 前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重...
通过内网穿透免费部署我们的sp... 前文讲到通过内网穿透能够实现远程访问个人电脑的静态资源。本文将讲解通过内网穿透实现远程访问本地的项目...
使用Xshell连接远程ubu... Xshell连接远程ubuntu服务器主要流程(加粗部分为必要,点击即可...
简单记录一次物理机配置zero...         首先说明,本教程涵盖系统又。esxi6.7,centos...
Linux服务器监控的神器:N... 发现了一个单机监控的Netdata,眼前着实为之一亮。 令人印象非常之深刻的个主要特性...
win11安装wsl作为lin... wsl安装打开控制面板,找到启用或关闭windows功能 开启windows虚拟机监控平台和适用于L...
项目管理工具-SVN(SubV... 目录前言SVN简介:1.什么是SVN?2.下载服务端 Apache Su...
403错误是一种常见的HTTP... 403错误是一种常见的HTTP状态码,表示服务器拒绝了请求。出现403错误通常意味着客户端没有访问所...
幻兽帕鲁-本机+低配云服务器+... 材料:1.高性能的个人电脑2.带宽堪用的云服务器,只是转发udp数据&#...