写在最前面:最终还是选择了远程访问阿里云服务器的方式实现一台电脑同时使用win10+ubuntu双系统。****本人不才,怎么操作都无法使win10 WSL(2) 满足systemd与桌面同时work。只能放弃!!!
本篇内容还是具有一定的参考价值,就不删了。
- Win10 22H2
- ubuntu 22.04
- ROS2
文章目录
一、什么是WSL2
“win10 + Linux 双系统”与“win10安装Linux虚拟机”一度是使一台电脑具备win10与ubuntu两套系统的经典方法。但是,“win10 + Linux 双系统”需要在两种系统间进行切换,不能同时在一台电脑上使用两套系统。“win10安装Linux虚拟机”虽可以避免切换的麻烦,但是性能低、启动慢、管理不便、和宿主机Win10系统互操作不方便,让双系统重度用户情愿选择也并不完美的“win10 + Linux 双系统”。
Win10 中的WSL (Windows Subsystem for Linux)的目的就是让双系统用户既不需要在系统间切换,又能做到流畅使用双系统。 本章的主角WSL2是第二代WSL,具有新的架构,使用了真正的Linux内核,几乎具有Linux的所有完整功能。WLS2可以直接原生运行Docker、VS Code、Remote-WSL等。WSL2架构图如下所示:
我们发现,Windows逐步向虚拟平台靠拢,Windows NT内核和Linux内核作为平级一起运行在虚拟平台之上。
二、Win10 系统配置
2.1 更新Windows版本
微软官方WSL2安装说明给出WSL的先决条件为:Windows 10版本为2004或更高版本(Windows 11也可以用WSL)。查看Win10版本步骤如下:
设置->更新和安全->操作系统内部版本信息
具体查看Win10版本步骤见Win10查看版本号的多种方法。
我Win10系统的版本号为22H2,如果你的版本不是,最好更新到这个最新的版本【设置->更新和安全->检查更新】。
2.2 Win10系统启用两个功能
打开 【控制面板->程序->程序和功能->启用或关闭Windows功能】,出现如下界面,启用“适用于Linux的Windows子系统”与“虚拟机平台”两个功能。注意,千万不要漏掉“虚拟机平台”。
2.3 Win10开启BIOS/CPU开启虚拟化(VT)(很关键)
启用步骤见Win10在BIOS中如何启用虚拟化(VT)
2.4 下载并安装wsl_update_x64.msi
2.5 PowerShell安装组件
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
三、PowerShell安装Ubuntu
3.1 PowerShell运行
wsl --set-default-version 2
,设置默认安装WSL2版本
3.2 PowerShell运行
wsl --list --online
查看可用的Linux系统版本
3.3 PowerShell运行
wsl --install -d <distro name>
安装指定版本的Linux系统
此处以安装Ubuntu-22.04为例:
安装完会弹出一个框,设置好用户名和密码,一个专属于你的Linux系统就成了。
3.4 PowerShell运行
wsl -l -v
查看安装的Linux版本与WSL版本
如下图所示,我们安装的是Ubuntu-22.04版本的Linux系统,Version为2表示WSL2,若为1则为WSL。
至此,我们成功在Win10中安装了WSL2版本的Ubuntu 22.04系统。
3.5 PowerShell运行
wsl --version
查看安装的WSL是否为最新版本
若输出的信息类似下面这种,说明安装的WSL2为最新的版本。版本的不同决定了后面systemd配置是否能成功。
若输出为一大堆其它的信息,则需要想办法将wsl版本升级到最新。可以尝试
wsl --update --web-download
或
wsl --update
,甚至是卸载WSL重装。无论用什么方法一定要看到上面的图片。我自己也是各种尝试了,最终也不确定一定能成功升级的方法,反正最终升级成功了。
四、安装Ubuntu 图形界面(可选项)
我开始一直执着于gnome桌面,不过最后都尝试失败了。
博客Windows10访问Ubuntu子系统(WSL)的桌面环境中给出xubuntu(是xfce4的一个扩展
)的安装方法,步骤验证过是可行的。
注意:win10中利用WSL来使用Ubuntu,并不一定需要安装图形界面。不安图形界面一点也不影响正常使用。可以利用Win10中安装VS code,以及Ubuntu中安装Juypyter notebook的方使,在Win10界面中进行开发。
五、在Ubuntu中配置systemd
WSL 不支持 systemd ,但是很多应用又是基于 systemd,所以要解决这个问题。
在3.5小节顺利的前提下,在Ubuntu-22.04下,新建
wsl.conf
,并输入如图所示的内容,保存退出。
sudovim /etc/wsl.conf
然后,在win10的powershell下执行
wsl --shutdown
关闭Ubuntu-22.04,然后重启。在Ubuntu-22.04中输入
systemctl
,若打印一大堆LOG,说明配置成功。
六、参考win10安装wsl2并安装docker第四节使用VS code在Win10中远程连接Ubuntu-22.04
也可参考win10安装wsl2并安装docker第三节安装docker。这个docker安装方法真的很方便。
七、配置python+juypter notebook实现win10远程访问
- 在Ubuntu-22.04中安装Anaconda(具体可参考Ubuntu安装Anaconda步骤及常用命令):
cd ~/Downloads
wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh
bash Anaconda3-2021.11-Linux-x86_64.sh
- 参考ubuntu安装jupyter 并设置远程访问 或Ubuntu下开启jupyter远程开启juyter远程访问。记住设置的密码与端口号。在Win10的浏览器内输入
localhost:端口号
回车,看到有提示输入密码的框输入设置的密码就能在Win10下开发基于python的Linux项目了。
八、安装ROS2
版权归原作者 windSeS 所有, 如有侵权,请联系我们删除。