WSL 折腾记
折腾 WSL(
颓废)的一点记录,其中前面的一部分是很久以前写的,从 OneNote 中提取出来的。当时一时兴起,折腾的是 ArchLinux,但是后来很快就发现 ArchLinux 的坑太多,也没有官方支持,而且滚动更新不太适合和 WSL 搭配使用(我可不想每次打开电脑第一件事就是pacman -Syu
,还要时不时处理滚挂的情况)目前在用 Debian,比 ArchLinux 稳定多了,但是仍然没有官方支持(好像是?)
最近又开始捣鼓 GUI,又遇到了很多坑,填了一些,但是还要一些实在是搞不定。目前打算弃坑 Debian,换回又官方支持的 Ubuntu
WSL安装位置的移动
1. `wsl --export [发行版名] [输出目录]\[发行版名].tar` 导出当前发行版
2. `wsl --unregister [发行版名]` 删除当前发行版
3. `wsl --import [发行版名] [安装目录] [输出目录]\[发行版名].tar --version 2` 重新导入发行版
4. `[发行版名].exe config --default-user[用户名]` 设置默认用户名为之前安装时的用户名(否则默认以root用户登录)
5. 删除导出的 `.tar` 文件(可选)
yay安装与使用的问题
6. 换源:在 `/etc/pacman.d/mirrorlist` 顶端添加 `Server = [htt](https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch) ps://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch`
7. 添加 archlinuxcn 源:在 `/etc/pacman.conf` 底部添加
1
2
3
4
5
[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
8. 安装 yay:`sudo pacman -S yay`
9. EX: `database already registered` 问题:将 archlinuxcn 源添加至错误的文件
10. EX: 找不到 yay 包:没有添加 archlinuxcn 源
P.S. WSL 似乎不适合与 ArchLinux 这种激进的滚动发行版搭配使用,已弃坑
以下均在 Debian 环境下
GUI 问题
1. 花屏
原因可能是由于缺乏显卡驱动导致的
解决方案:sudo apt install mesa-utils
但是这个方案似乎不治本(也有可能根本没解决问题),安装完一段时间内这个问题确实解决了。但是在写本文时它又复发了,暂时无解。
2. GUI 应用程序的语言问题
WSL默认语言为全英文,在终端操作确实很好用,但是使用 GUI 程序时就有些不爽了。
解决方案I: 更改全局 locale: sudo dpkg-reconfigure locales
,按照 TUI 界面操作就可以了(注意第一步按空格键选择)
解决方案II: 设置 ~/.profile
: 还是 sudo dpkg-reconfigure locales
,生成 zh_CN.UTF-8
的 locale(默认是没有的),然后再 ~/.profile
中插入 export LANG = zh_CN.UTF-8
(如果是更改 .bashrc
从Windows开始菜单运行的程序不会生效,猜测是由于从开始菜单运行时不经过bash)
3. HiDPI 缩放问题
GTK 程序默认似乎是没有问题的,问题在于 Qt
解决方案: 编辑~/.profile
:
1 | export QT_QPA_PLATFORM="wayland" |
对于 Qt5 应用程序,就完美地解决了问题,但是 Qt6 程序似乎会缩放地过大,暂时无解
4. Qt 应用程序主题问题
安装 qt5ct qt6ct
和需要的主题,编辑 .profile
: export QT_QPA_PLATFORMTHEME=qt5ct
存在的问题
- 花屏问题的复现
- Qt6 缩放过大
- Wayland 下 Qt 应用程序窗口边框不能缩放,且没有阴影(导致分辨不清窗口边缘)