wsl2 配置拾遗
前言
本文主要记录一些在wsl2中配置一些基本环境。
2024-03-08:今天在linux子系统里安装cuda和cudann,结果把我我wsl整坏了,迫不得已重装了一次,所有环境都得重新配置了…为此记录配置过程,以备后续不时之需。
wsl2 迁移到D盘
默认情况下,wsl2是安装在C盘的,但是C盘的空间有限,所以我们需要将wsl2迁移到D盘。
首先确保wsl是关闭状态。
1 | wsl --shutdown |
导出wsl2镜像(命名随意):
1 | wsl --export Ubuntu-22.04 D:\\Ubuntu\\Ubuntu2204.tar |
注销wsl2镜像:
1 | wsl --unregister Ubuntu-22.04 |
导入wsl2镜像:
1 | wsl --import Ubuntu-22.04 D:\\Ubuntu\\Ubuntu2204 D:\\Ubuntu\\Ubuntu2204.tar |
启动wsl2,发现用户成了root,这时需要在cmd里输入命令恢复默认用户。请注意,这里的发行版名称的版本号是纯数字,比如Ubuntu-22.04就是Ubuntu2204。
1 | Ubuntu2204 config --default-user <username> |
wsl2中文字体缺失
wsl可以直接与自己windows系统上的文件互通,所以我们可以通过使用Windows自带字体的方式,来实现快速安装中文字体(以Ubuntu为例)。
1 | sudo ln -s /mnt/c/Windows/Fonts /usr/share/fonts/font |
我们只需要将Windows下的字体目录链接到wsl目录下即可然后再刷新一下。
1 | fc-cache -fv |
这样就可以正常显示中文字体了
命令行美化——oh-my-zsh
安装zsh
1 | sudo apt install zsh |
重启终端,即可看到zsh的效果。
安装插件
1 | 命令补全 |
在~/.zshrc
里修改plugins
字段:
1 | plugins=( |
重启终端,即可看到效果。
编译gcc-13
到这里去下载gcc-13的安装脚本,然后添加可执行权限:
下载一些构建工具:
1 | sudo apt install build-essential |
解压并配置:
1 | tar -xvf gcc-13.2.0.tar.gz |
构建gcc-13:
1 | mkdir build && cd build |
验证:
1 | gcc --version |
编译程序时发现libstdc++.so.6: version 'GLIBCXX_3.4.32' not found
,这是因为编译出来的libstdc++没有被识别到,需要将其添加相关目录中。
1 | 查找libstdc++.so.6.0.32 |
找到了,发现在/usr/local/lib64/libstdc++.so.6.0.32
,复制到/usr/lib/x86_64-linux-gnu/
下:
1 | sudo cp /usr/local/lib64/libstdc++.so.6.0.32 /usr/lib/x86_64-linux-gnu/ |
然后创建软连接:
1 | sudo rm -rf libstdc++.so.6 |
重新编译程序,发现问题解决了。
编译clang-17
下载clang-17:
1 | wget https://apt.llvm.org/llvm.sh |
安装qt
到这里去下载qt安装包,然后添加可执行权限:
1 | sudo chmod +x qt-unified-linux-x64-xxx-online.run |
运行安装包:
1 | ./qt-unified-linux-x64-xxx-online.run |
可能需要安装一些依赖,照着报错安装即可。
copilot for CLI
copilot CLI是GitHub CLI的一个插件,需要先安装gh:
1 | sudo apt update |
认证:
1 | gh auth login |
测试:
1 | 解释 |