Window10_WSL2 初体验 [win下linux子系统]

参考与前言

Install WSL

此文主要是写一下windows下怎样快乐使用ubuntu 毫无障碍!比起虚拟机,还可以用GPU资源进行一系列操作,也可以ROS啥的!再也不用切系统了(假的… 运行比较大的东西比如carla rviz ros autoware的ndt_mapping一堆的时候该切还得切

安装WSL

注意update需要管理员运行windows powershell

wsl.exe --update
wsl --install
# 切换以下default到2 如有错误见后
wsl --set-default-version 2

# 确认一下有什么版本在线
wsl --list --online

# 安装
wsl --install -d Ubuntu-18.04

在这里插入图片描述

wsl -l -v

首先如果是version 1表示是WSL1开启的,是无法共用GPU的,而显示2的话 也就是WSL2开启 可以使用GPU

在这里插入图片描述

切换wsl2以使用GPU资源

所以需要设置wsl2

wsl --set-default-version 2

如果提示没有成功需要进行以下检查与操作:

有关虚拟化开启,我的好像是自动开启了,查看方式 进入任务管理器

在这里插入图片描述

  1. 在开机的时候多按几次F2,就进入BIOS,然后选择在上方的【Configuration】选项,然后将最下方的【Intel Virtual Technology】,设置为【Enable】的状态,然后就可以按下F10保存退出,重启进入系统即可;
  2. 如果是AMD平台同样是在BIOS中选择【Configuration】的选项,将【SVM Support】的选项设置成Enable的状态,同样是按下【F10】保存退出即可;

在这里插入图片描述

对着英文找半天 才反应过来自己是中文的… 所以勾选这两个就行

启动时进入固定文件夹

在windows powershell里面setting配置这行:

{
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "name": "Ubuntu-18.04",
                "source": "Windows.Terminal.Wsl",
                "startingDirectory": "E:\\ubuntu"
}

使用进程

  1. 万事update,如果是内地 需要进行换源操作

    sudo apt update
    
  2. 安装zsh

    sudo apt install zsh
    wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
    sh install.sh
    cd ~/.oh-my-zsh/custom/plugins
    git clone https://gitee.com/kin_zhang/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
    git clone https://gitee.com/jklash1996/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
    gedit ~/.zshrc
    

    修改plugin那行

    plugins=(git z web-search extract zsh-autosuggestions zsh-syntax-highlighting)
    
  3. 在zshrc里面将这行添加在source之前:

    ZSH_DISABLE_COMPFIX=true
    

    可能出现错误:
    在这里插入图片描述

  4. 安装ROS

    参照ros wiki即可

  5. 安装桌面响应,相关测评如下链接:

    Running WSL GUI Apps on Windows 10

    • 尝试了一下xlaunch,缺点较为明显,每次launch都得设置一下don’t use xx 就是那个勾选,其次一个windows或者是全屏下没有titlebar,所以rviz就像下面图那里没有一个可以移动这个窗口的东东,而多个窗口又无法启动rviz和gazebo

      解决啦!复制这个作为config.xlaunch 然后每次直接启动这个就ok啦!

      <?xml version="1.0" encoding="UTF-8"?>
      <XLaunch WindowMode="MultiWindow" ClientMode="NoClient" LocalClient="False" Display="0" LocalProgram="xcalc" RemoteProgram="xterm" RemotePassword="" PrivateKey="" RemoteHost="" RemoteUser="" XDMCPHost="" XDMCPBroadcast="False" XDMCPIndirect="False" Clipboard="True" ClipboardPrimary="False" ExtraParams="" Wgl="False" DisableAC="True" XDMCPTerminate="False"/>
      

      来源github 别人的配置,但是我忘记我搜什么的时候搜到的了

    快速版简单教学安装:

    echo "export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"">> ~/.zshrc
    echo xfce4-session > ~/.xsession
    
  6. 然后就可以直接运行了,比如window下的wsl2运行ROS:

    在这里插入图片描述

使用vscode直接在终端对应文件夹输入即可打开vscode

code .

使用GPU

参考资料:

Getting started with CUDA on Ubuntu on WSL 2 | Ubuntu

CUDA on WSL :: CUDA Toolkit Documentation

Docker Desktop WSL 2 backend

Failed to initialize NVML: GPU access blocked by the operating system

  1. 下载docker

    sudo apt -y install docker.io
    

    windows自身也需要装一下docker desktop

  2. 添加秘钥

    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    
    curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list
    
  3. update和安装nvidia docker

    sudo apt update && sudo apt install -y nvidia-docker2
    
  4. 打开时 需要windows下载docker

    sudo service docker stop
    
    sudo service docker start
    

    感觉这两条好像不太对劲,不应该在ubuntu终端下运行,因为会出现如下错误示意,但是并不影响拉取docker

  5. 运行CUDA containers

    docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
    

    在这里插入图片描述

ROS gazebo 仿真

gazebo大小调整:

Is there a way to start Gazebo with a smaller window size? - Gazebo: Q&A Forum

gedit ~/.gazebo/gui.ini

[geometry]
x=0
y=0
width=1580
height=1080

相关repo见:

张聪明/ turtlebot_simulation

待更新

后面可能也会更新如何在此WSL2下使用docker进行训练等操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kin-Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值