WSL开发环境搭建(kali-linux篇)
安装kali-linux并简单配置
基于Debian的发行版,软件包丰富,且滚动更新,软件包较新,能够获得最新的编程语言特性。同时kali有Win-KeX会话,可以很方便的进入桌面环境而不需要借助第三方软件(如VcXsrv)
- 打开管理员终端,输入
1 | |
重启电脑
下载内核更新包
安装内核更新包后重启
打开管理员终端,输入
1 | |
从微软应用商店安装kali-linux
从开始菜单打开kali-linux,输入全小写英文字母用户名,设置好密码
若发生错误,请检查系统设置
保存新内容的地方为C盘
- 进入系统后,输入
1 | |
之后关闭kali-linux,在Windows终端输入
1 | |
之后再次打开kali-linux即可使用zsh
- 修改root密码
输入sudo su, 并输入刚刚设置的(管理员)密码, 进入root用户, 接着输入passwd修改root密码即可
- 换源
1 | |
编辑 /etc/apt/sources.list 文件, 在文件最前面添加以下条目:
1 | |
保存退出
- 更新系统
1 | |
WSL上的kali-linux为最小安装版本,没有预安装入狱所需的工具,如有需要,请参考启动kali后的提示信息
高级配置
此配置可能仅适用于Windows11
打开Windows终端,导航到Windows家目录,新建.wslconfig文件,输入以下内容:
1 | |
networkingMode=mirrored为镜像网络模式,可以直接使用Windows本地代理autoMemoryReclaim=gradual意思是检测空闲CPU使用率后,自动缓慢释放缓存的内存
运行GUI应用
Windows安装完显卡驱动程序后,此选项应该开箱即用。
可以先使用wsl.exe --update更新再启动
可以尝试安装以下软件
1 | |
出现错误可以参考微软文档
安装完成后,终端输入xcalc或nautilus回车即可开启这些GUI应用
配置kali-linux Win-KeX会话
Win-KeX provides a GUI desktop experience for kali Linux in Windows Subsystem for Linux (WSL 2) with the following features:
- Window mode: start a kali Linux desktop in a dedicated window
- Seamless mode: share the Windows desktop between Windows and kali application and menus
- Enhanced session mode: Similar to Hyper-V, uses RDP for a more feature rich experience
- Sound support
- Shared clipboard for cut and paste support between kali Linux and Windows
- Root & unprivileged session support
- Multi-session support: root window & non-privileged window & seamless sessions concurrently
- Fully compatible with WSLg
打开kali终端,输入
1 | |
有三种模式运行窗口化界面:
- Window Mode
- Inside of kali WSL:
kex --win -s - On Window’s command prompt:
wsl -d kali-linux kex --win -s
- Inside of kali WSL:
- Enhanced Session Mode
- Inside of kali WSL:
kex --esm --ip -s - On Window’s command prompt:
wsl -d kali-linux kex --esm --ip -s
- Inside of kali WSL:
- Seamless Mode
- Inside of kali WSL:
kex --sl -s - On Window’s command prompt:
wsl -d kali-linux kex --sl -s
- Inside of kali WSL:
更多信息参阅开头参考链接
配置中文环境
输入下列命令安装字体
1 | |
接着打开字符集配置
1 | |
空格选中es_US.UTF-8 UTF-8以及zh_CN.UTF-8 UTF-8
按下OK后选择默认字符集zh_CN.UTF-8 UTF-8
保存退出,重启wsl
输入sudo apt update可以查看效果
接下来可以把man手册页换成中文:
1 | |
输入man printf查看效果
安装编译环境,配置VScode
先安装以下软件包
1 | |
在Windows上安装vscode
重启电脑使Path环境变量生效
安装必要的插件,比如中文,clangd,Java,python,GitHub Copilot,Remote Development等等,按需安装
在kali的终端输入code .
打开vscode后,按需安装插件,主题等
更多信息参考OI-Wiki
Docker开发
Latex写作
首先在kali的终端输入
1 | |
然后在vscode里安装LaTeX Workshop插件即可
在WSL上配置深度学习框架
安装CUDA
这一步不适用于AMDGPU以及嵌套虚拟化的WSL
不能在WSL上安装Linux上的显卡驱动程序
更多信息,请查看开头参考链接
- 先删除旧GPG密钥
1 | |
进入网站,检查以下配置是否正确
target_os=Linuxtarget_arch=x86_64Distribution=WSL-Ubuntutarget_version=2.0target_type=deb_network根据提示输入
1 | |
- 安装完成后,终端输入
nvidia-smi检查驱动程序和cuda版本
配置深度学习环境
更多信息请参考开头所示链接
- 安装miniconda
直接在终端输入
1 | |
- 初始化终端
1 | |
关闭终端重新打开,会看到
base字样,代表处于base环境创建一个新环境
1 | |
- 激活新环境
1 | |
- 安装PyTorch的CPU或GPU版本
1 | |
- 安装d2l包
1 | |
- 下载 D2L Notebook
1 | |
最后可以通过
jupyter notebook运行Jupyter笔记本,(需要在pytorch文件夹下)浏览器打开http://localhost:8888即可学习在运行书籍代码、更新深度学习框架或d2l软件包之前,请始终执行
conda activate d2l以激活运行时环境。 要退出环境,请运行conda deactivate
迁移WSL
打开Windows终端,输入下列命令:
1 | |
迁移后默认以root身份进入,接下来进入WSL编辑/etc/wsl.conf文件。假设yoimiya是之前的默认用户名:
1 | |
注意:上述配置可能仅适用于win11
开启systemd后,如果WSLg无法启动,请手动执行
sudo rm -r /tmp/.X11-unix && ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix命令
之后保存退出,重启kali即可