wsl安装archlinux:
https://bbs.zsxwz.com/thread-5159.htm
1、安装yay,可以使用powerpill安装yay
sudo pacman-key --init sudo pacman-key --populate sudo pacman -S archlinuxcn-keyring #安装powerpill sudo pacman -S aria2-fast sudo pacman -S powerpill #安装yay sudo powerpill -S yay
2、启用systemd的可以使用arkane-systems/genie,
可以自己手动下载离线安装包,手动安装:https://github.com/arkane-systems/genie/releases
pacman -U *pkg.tar.zst
或者使用yay安装:
yay -S genie-systemd
可能会少一个依赖,少什么安装什么就是了: sudo pacman -S lilac
简单使用:
genie 有三个指令:
genie -i #启动systemd进程 genie -s #启动systemd进程,并进入该环境终端,进入环境之后才能正常使用systemctl命令。 genie -c <command> #启动systemd进程,并执行相应的指令
而且在这里执行pstree,可以看到根进程已经变成了systemd
执行完成后退出这个命名空间后,systemd不会关闭。
wsl2使用sysyemd也有很多的问题,一些常见问题汇总:https://github.com/arkane-systems/genie/wiki/Systemd-units-known-to-be-problematic-under-WSL
比如:
#修改 systemd 默认目标 systemctl set-default multi-user.target #修复 systemd-remount-fs.service,磁盘挂载 #查看挂载文件夹 df #修复 sudo e2label /dev/sdb cloudimg-rootfs #修复 systemd-sysusers.service sudo vim /usr/lib/systemd/system/systemd-sysusers.service #[Service]最后一行添加 [Service] LoadCredential=
3、安装p10k美化终端,都是一样的,也没什么好说的了。
4、设置固定IP,wsl子系统内设置固定ip,可以方便局域网设备访问子系统。win添加wsl固定ip,子系统与win系统交互需要,也方便设置代理。但是每一次开机都需要设置固定ip,想要开机自动设置,确实有点麻烦。
新建一个批处理:
::wsl内添加固定ip cmd.exe /c wsl.exe -d Archlinux -u root ip addr add 192.168.50.16/24 broadcast 192.168.50.255 dev eth0 label eth0:1 ::wsl顺便启动一下system cmd.exe /c wsl.exe -d Archlinux -u root genie -i ::win系统给wsl添加固定ip cmd.exe /c netsh interface ip add address "vEthernet (WSL)" 192.168.50.88 255.255.255.0
打开wsl之后才会创建vEthernet (WSL)这个以太网适配器,所以需要先启动wsl,然后添加固定ip,而且需要管理员身份才能添加固定ip。将上面的三行命令创建一个wsl.bat,如果觉得开机有一个cmd运行的黑框,也可以简单创建一个wsl.vbs,和wsl.bat放在同一个文件夹,设置一个定时任务即可,不过开机启动可能会有一些小卡:
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c wsl.bat",vbhide
打开任务计划程序——创建基本任务,触发器就是计算机启动,操作就是选择wsl.vbs。然后修改一下属性,使用最高权限运行,触发器改为登录时。就可以开机给wsl分配固定ip了。
顺带一提,如果同时有安装wsa安卓子系统设置固定ip和wsl是一样的,所以使用adb设置一次代理即可,不用每一次开机都重新设置。
adb shell settings put global http_proxy 192.168.50.88:8080
5、可以使用ipconfig查看分配给wsl的ip,wsl设置一下代理:
export ALL_PROXY=http://192.168.50.88:8080
这种方法每一次重启电脑都要设置一遍,很麻烦。所以先固定ip然后在设置代理,然后wsl里设置一下变量就可以了。