wsl安装与开发环境搭建
本文最后更新于:2022年10月25日 凌晨
wsl2,vscode,windows terminal,zsh,docker····
Windows Subsystem for Linux
首先贴一个官方文档
什么是适用于 Linux 的 Windows 子系统
适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
- 在 Microsoft Store 中选择你偏好的 GNU/Linux 分发版。
- 运行常用的命令行软件工具(例如
grep
、sed
、awk
)或其他 ELF-64 二进制文件。 - 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括:
- 工具:vim、emacs、tmux
- 语言:NodeJS、Javascript、Python、Ruby、C/ C++、C# 与 F#、Rust、Go 等。
- 服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL。
- 使用自己的 GNU/Linux 分发包管理器安装其他软件。
- 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。
- 在 Windows 上调用 GNU/Linux 应用程序。
什么是 WSL 2?
WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是 提高文件系统性能,以及添加 完全的系统调用兼容性。
这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。
单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。
WSL 2安装
需要CPU开启VT(Virtualization Technology),这一步根据CPU不同操作方式不同就不细说了。
需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。
以管理员身份打开 PowerShell 并运行:
1 |
|
若要更新到 WSL 2,需要运行 Windows 10。
- 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
- 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。
- 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 更新到“设置”菜单中的最新 Windows 版本。
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
1 |
|
重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。
重启之后下载安装 Linux 内核更新包并将 WSL 2 设置为默认版本。
1 |
|
最后,打开 Microsoft Store,并选择你偏好的 Linux 分发版。
单击以下链接会打开每个分发版的 Microsoft Store 页面:
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
- Raft(免费试用版)
首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
然后,需要为新的 Linux 分发版创建用户帐户和密码。
另外,以上内容貌似(?)可以使用以下一行命令解决
1 |
|
另外我发现用户名不能用大写,并且密码是不会显示出来的。
换源
如果遇到下载速度较慢,或者下载失败等问题,我们还可以把官方源换成国内源。
备份list文件
1 |
|
备份了,如果下面的哪一步出错了好恢复。
修改list文件
管理员权限,使用 vim 进行修改:
1 |
|
把想要更换的源复制在剪切板,这里以阿里源为例:
1 |
|
我们先通过按ggdG这几个字母将里面的内容全部删除,
1 |
|
按鼠标右键会进行粘贴,然后输入 :wq! 进行退出与保存。
最后复制这两条命令进行更新镜像源列表。
1 |
|
WSL 迁移
开发用久了c盘爆满,所以建议大家安装好之后立即进行迁移
- 查看Ubuntu 版本号
1 |
|
在D盘新建一个文件夹,我的路径是D:
一步一步执行以下命令行。其中,Ubuntu-18.04是我的Ubuntu版本,大家可以根据wsl-l的版本号自行修改
Step1: 导出
Step2: 注销原来的
Step3: 导入
1 |
|
不过在系统设置里有更简洁的移动方法,这两种我都试过且都失败/成功过,一次不行就再来一遍
Windows terminal+vscode
Windows Terminal https://docs.microsoft.com/en-us/windows/terminal/get-started
VS Code https://code.visualstudio.com
这两样软件可以大幅提高效率(还很装逼很好看)
windows terminal各项设置可以实现许多使用功能,比如我设置了默认启动Ubuntu,添加了git bash,透明亚克力效果等(本次不介绍,感兴趣自行研究)
可以在工作区文件夹内右键然后在windows终端打开
也可以直接打开window终端,cd到对应文件夹,然后输入
1 |
|
至此就可以实现在windows环境下编程,在linux环境下测试。
Docker
使用以下脚本可以实现自动安装。
1 |
|
可以直接复制到txt中,然后修改文件类型跟文件名为install-docker.sh(后缀是sh,名字任意)
例如我在桌面放置了该脚本,右键打开终端之后输入以下命令即可完成安装。
1 |
|
接下来输入:
1 |
|
就可以启动服务,查看版本,证明我们已经安装成功。
如果不希望每次都特地启动docker的服务可以使用以下命令设置自启动:
1 |
|
关于docker的使用就大家自己研究啦。
On-my-zsh
一个美观且功能强大的终端
用windows terminal启动Ubuntu,输入以下命令安装:
1 |
|
oh-my-zsh中整理了常用的zsh扩展和主题,所以先安装oh-my-zsh
使用curl安装 :
1 |
|
使用wget安装:
1 |
|
虽然我列出了上面两条命令,但最好还是看看官网的安装页面,确保命令的最新版本。
接下来输入:
1 |
|
就可以cd到根目录文件夹,用vscode的可视化界面编辑配置文件,添加需要的扩展与主题了。
扩展与主题根据个人需求添加,本文不再赘述。
Python开发
花里胡哨那么多东西了,讲一点实战(假的)。
默认Ubuntu已经安装了python,我们只需要安装pip,就可以进行一些简单的编程。
1 |
|
当然我们不能局限于简单的编程,我们需要创建虚拟环境,确保各个环境互相隔离,互不影响。
1 |
|
创建虚拟环境:
1 |
|
激活与退出:
1 |
|
接下来就可以尽情地pip install了,在工作环境下新建文件夹,再用vscode打开,即可开始编程。
WSL-Ubuntu安装中文语言
- 安装中文语言包
1 |
|
- 运行
dpkg-reconfigure locales
1 |
|
- 选择en_US.UTF-8和 zh_CN.UTF-8 , 选择zh_CN.UTF-8为默认语言
- 安装字体管理工具fontconfig
1 |
|
5.安装Windows字体
复制windows的字体到 /usr/share/fonts/
下
1 |
|
- 刷新字体缓存
1 |
|
退出重进wsl
安装ROS系统(记得版本对应!例如我的Ubuntu18.04 对应melodic)
使用鱼香ros大佬的一键安装脚本
1 |
|
上面那行是官方的,我运行不了,我根据内容用下面这种方式可以运行
1 |
|
如果上面那个打开失败,可以用下面这种方式
1 |
|
自己对照着官方文档的顺序安装
我使用的顺序是5(换源)→1(ROS)→3(rosdep)→4(环境配置)
出现了一些小bug都是因为zsh
如果你跟我一样用的zsh 补上一个
1 |
|
安装图形界面
1.安装 VcXsrv
2.安装好后运行 “XLaunch”,在界面里选择 “one large window” ,“Display number” 设置为 0 ,然后其它选项默认,点击下一步,等出现这个界面,将Disable access control打上勾,之后点击下一页。
点击 “Save Configuration” 保存设置,会让你保存一个 “config.xlaunch” 的配置文件快捷方式,下次运行这个快捷方式就不用重新设置了。点击完成会出现一个纯黑的窗口,把它挂在后台先不管。
3.安装xfce4
1 |
|
配置变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 首先需要查看Windows系统和WSL2通信使用的虚拟网卡地址
$ sudo vim /etc/resolv.conf
# nameserver后面的地址就是Windows系统虚拟网卡的地址,记一下
# 同时需要取消下面两行内容的注释,禁用自动重新生成配置文件,否则重启后这个地址会变
[network]
generateResolvConf = false
$ vim ~/.bashrc #如果你跟我一样用的zsh就是zshrc
# 在文件最后追加下面内容,地址使用上面查看到的
export DISPLAY=192.168.112.1:0 #改ip 端口不动
$source ~/.bashrc
#执行刚修改的初始化文件,使之立即生效5.启动xfce4
1
startxfce4
