WSL2 中使用 Arch Linux
WSL2 中使用 Arch Linux
1. 升级到最新预览版
在 Windows 命令提示符运行:
wsl --update --pre-release
2. 安装到指定目录
在 Windows 命令提示符运行:
wsl --install -d archlinux --name Arch --location C:\WSL\Arch
3. 设置用户名及密码
运行 WSL 后,默认进入 root 的 shell。先设置 root 用户的密码,并新建一个用户。
# 设置 root 用户的密码
passwd root
# 添加一个 arch,useradd 使用 -m 参数同时创建家目录
useradd -m arch
# 设置 arch 用户的密码
passwd arch
4. 设置 pacman 包管理器
pacman 的主要文件
- 主配置文件: /etc/pacman.conf
- 镜像列表: /etc/pacman.d/mirrorlist
# 备份镜像列表
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
# 添加国内镜像源(nju)
sed -i '1i\Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch' /etc/pacman.d/mirrorlist
# 更新软件包数据库
pacman -Syy
# 全面更新系统(可选)
pacman -Syu
# 使用 reflector 自动选择最佳镜像(可选)
pacman -S reflector
reflector --country China --protocol https --sort rate --save /etc/pacman.d/mirrorlist
# 安装 sudo 等必备工具
pacman -S sudo nano which util-linux
5. 使用 arch 用户
5.1. 为 arch 用户添加 sudo 权限
# 将 arch 用户添加到 wheel 用户组以使用 sudo
usermod -aG wheel arch
# 启用 wheel 用于组的 sudo 权限
sed -i '/^#\s*%wheel\s*ALL=(ALL:ALL)\s*ALL/s/^#\s*//' /etc/sudoers
切换到 arch 用户,验证 sudo 可用:
su - arch
sudo whoami
# 应显示为 root
5.2. 将 WSL 启动时的默认用户修改为 arch
在 /etc/wsl.conf 中追加如下内容:
[user]
default=arch
在 Windows 命令提示符下关闭并重启 WSL2 验证效果,再次启动后,用户默认应为 arch:
wsl --terminate Arch
5.3 为 nano 添加语法着色
运行如下命令:
echo 'include "/usr/share/nano/*.nanorc"' > ~/.nanorc
# 运行 nano ~/.nanorc 确认有语法着色显示
5.4 调整 bash 提示符着色
运行 nano ~/.bashrc 将 PS1 变量修改为如下内容:
#PS1='[\u@\h \W]\$ '
PS1='\[\e[1;32m\]\u@\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[0m\]\$ '
然后运行 source ~/.bashrc 启用配置,bash 用户名部分会变成绿色。
※或者也可以使用 oh-my-bash 等开源项目配置。
6. 用 WSLg 运行图形界面应用程序 (可选)
6.1. 使用 WSLg 准备步骤
需要 WSL2 版本在 2.5.7.0 或以上。
在 Windows 系统的 %USERPROFILE%.wslconfig 文件中启用对图形界面应用程序的支持:
[wsl2]
guiApplications = true
创建 /etc/profile.d/wslg.sh 文件,内容如下:
export GALLIUM_DRIVER=d3d12
for i in "/mnt/wslg/runtime-dir/"*; do
[ "$XDG_RUNTIME_DIR" = "$HOME" ] && XDG_RUNTIME_DIR="/var/run/user/$UID"
if [ ! -L "$XDG_RUNTIME_DIR$(basename "$i")" ]; then
[ -d "$XDG_RUNTIME_DIR$(basename "$i")" ] && rm -r "$XDG_RUNTIME_DIR$(basename "$i")"
ln -s "$i" "$XDG_RUNTIME_DIR$(basename "$i")"
fi
done
设置硬件加速渲染:
# 安装硬件减速驱动包:
sudo pacman -S mesa vulkan-dzn vulkan-icd-loader
# 若 openGL 依然在英特尔 GPU 上使用 llvmpipe 软件渲染,则需要为 libedit 创建符号链接:
sudo ln -s /usr/lib/libedit.so /usr/lib/libedit.so.2
在 Windows 命令提示符下运行 wsl --terminate Arch 后,重新启动 WSL 就能使用 WSLg 了。
6.2. 安装运行 WSLg 程序
以 doublecmd、geany 为例:
# 安装 doublecmd
sudo pacman -S doublecmd-qt6 geany
# 运行 doublecmd
doublecmd &
# 运行 geany
geany &
安装小企鹅输入法 fcitx5:
# 安装 小企鹅输入法 fcitx5
sudo pacman -S fcitx5 fcitx5-configtool fcitx5-gtk fcitx5-qt fcitx5-chinese-addons
# 安装字体支持
sudo pacman -S noto-fonts-cjk noto-fonts-emoji
先手动运行 fcitx5 --disable=wayland -d 命令后,运行 fcitx5-configtool 进行如下设置:
- Input Method 标签页:添加 Pinyin 输入法。
- Addons 标签页: 勾上 Show advanced options 搜索 Wayland,将 Wayland前的勾去掉。
在 WSLg 应用(如 geany)中 ,按快捷键 Ctrl + Space 可切换到中文拼音输入法。
设置 WSL 启动时自动运行 fcitx5。在 ~/.bashrc 最后加上如下内容:
#fcitx5
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
# fcitx5 --disable=wayland -d &> /dev/null &
fcitx5 -d &> /dev/null &
(以上)
浙公网安备 33010602011771号