type
status
date
slug
summary
tags
category
icon
password
经常折腾Windows的wsl2安装,总结出了一套适用于我个人的wsl2最佳最舒适的配置,从安装wsl开始 可能不会做过多的详细介绍
0x0 安装Ubuntu
跳过开启wsl等配置的操作,直接步入主题安装:
首先安装ubuntu-22.04版本
wsl --list --online
wsl --install -d Ubuntu-22.04
安装完成 设置用户名和密码后 将系统迁移到其他盘下,否则wsl会在C盘下
wsl --export Ubuntu-22.4 D:\Ubuntu.tar
wsl --unregister Ubuntu-22.04
wsl --import Ubuntu E:\Ubuntu D:ubuntu.tar
这时候 我们打开wsl ubuntu默认是
root
用户,我们需要修改注册表:HKCU/Software\Microsoft\CurrentVersion\Lxx\xxxx
下的DefaultUid
,在Ubuntu下输入cat /etc/passwd
查看我们用户名的id我们给
DefaultUid
修改掉0x1 配置终端
在配置终端前,先把软件源切换为清华大学开源镜像站
sudo apt update && upgrade
终端我喜欢使用
zsh
搭配oh-my-zsh
使用,首先安装zshsudo apt install zsh
chsh -s /bin/zsh
使用curl下载脚本并安装
安装插件:
在
.zshrc
中修改0x2 设置Windows代理到WSL
WSL的ip是动态的 所以我写了一个脚本 可以直接放到
.zshrc
文件中0x3 安装ssh远程
sudo apt install openssh-server
更改ssh服务器配置文件
/etc/ssh/sshd_config
在使用的客户端上去生成ssh密钥对,这里我使用的是Mac
(pub后缀的为公钥),将生成的公钥复制到wsl ubuntu中
确保
~/.ssh
目录和authorized_keys
文件的权限正确:ssh -i ~/.ssh/id_rsa -p 2222 <你的用户名>@localhost
使用ssh进行连接,在WSL2中需要使用实际地址去链接,获取IP地址ip addr show eth0 | grep inet
,使用命令链接ssh -i ~/.ssh/id_rsa -p 2222 用户名@<Windows的IP>
(还有一步之前记录的 不想介绍了 直接复制使用)
其中这个ip是wsl中ubuntu的实际ip地址
0x4 安装基础环境
需要的太多了 就不一步一步介绍了
0x5 VsCode配置
使用vscode大部分情况下都是去看/开发 c/c++代码
我习惯使用
clangd
和clang-format
,在vscode中安装好这两个插件配置好路径即可
这里说一个注意,clangd需要CMake编译时生成的compile_commands.json
文件 如果使用Makefile生成 需要使用bear托管sudo apt install bear
编译时使用bear --make
即可生成 这时随便打开一个.c文件就可以看到clangd生成的.cache
0x6 配置adb
首先在ubuntu上卸载adb
sudo apt remove adb
(如果没有安装跳过)然后在Windows本机下找到adb的路径,比如我的路径为:
/mnt/c/Users/{UserName}/AppData/Local/Android/Sdk/
将Ta复制到wsl下:
sudo cp -r platform-tools /home/{UserName}
创建软连接
sudo ln -s ~/platform-tools/adb.exe /usr/bin/adb && sudo ln -s ~/platform-tools/fastboot.exe /usr/bin/fastboot
这样就可以在wsl下正常使用adb了