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 &

(以上)

posted @ 2025-05-15 15:34  茶猫的学习笔记  阅读(816)  评论(0)    收藏  举报