参考与前言
此文主要是写一下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
如果提示没有成功需要进行以下检查与操作:
有关虚拟化开启,我的好像是自动开启了,查看方式 进入任务管理器
- 在开机的时候多按几次F2,就进入BIOS,然后选择在上方的【Configuration】选项,然后将最下方的【Intel Virtual Technology】,设置为【Enable】的状态,然后就可以按下F10保存退出,重启进入系统即可;
- 如果是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"
}
使用进程
-
万事update,如果是内地 需要进行换源操作
sudo apt update
-
安装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)
-
在zshrc里面将这行添加在source之前:
ZSH_DISABLE_COMPFIX=true
可能出现错误:
-
安装ROS
参照ros wiki即可
-
安装桌面响应,相关测评如下链接:
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
-
-
然后就可以直接运行了,比如window下的wsl2运行ROS:
使用vscode直接在终端对应文件夹输入即可打开vscode
code .
使用GPU
参考资料:
Getting started with CUDA on Ubuntu on WSL 2 | Ubuntu
CUDA on WSL :: CUDA Toolkit Documentation
Failed to initialize NVML: GPU access blocked by the operating system
-
下载docker
sudo apt -y install docker.io
windows自身也需要装一下docker desktop
-
添加秘钥
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
-
update和安装nvidia docker
sudo apt update && sudo apt install -y nvidia-docker2
-
打开时 需要windows下载docker
sudo service docker stop sudo service docker start
感觉这两条好像不太对劲,不应该在ubuntu终端下运行,因为会出现如下错误示意,但是并不影响拉取docker
-
运行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见:
待更新
后面可能也会更新如何在此WSL2下使用docker进行训练等操作