惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
H
Heimdal Security Blog
K
Kaspersky official blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
Schneier on Security
G
GRAHAM CLULEY
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
Google DeepMind News
Google DeepMind News
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
C
Cisco Blogs
Cyberwarzone
Cyberwarzone
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
Security Archives - TechRepublic
Security Archives - TechRepublic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 司徒正美
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V
Visual Studio Blog
博客园 - Franky
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
Jina AI
Jina AI
P
Proofpoint News Feed
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog
IT之家
IT之家
S
Security Affairs
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
N
News | PayPal Newsroom
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
W
WeLiveSecurity
The Last Watchdog
The Last Watchdog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
NISL@THU
NISL@THU

博客园 - 茶猫的学习笔记

Beyond Compare 4 便携版 添加右键菜单 [Ubuntu 20.04] 修复‘systemd-shutdown[1]: waiting for process: crond’需等待1分半钟的问题 解决Ubuntu 20.04升级后gnome-control-center设置程序无法打开问题 Canon LBP2900安装Linux驱动的方法 CentOS8 安装 simple-scan 的方法 CentOS8 缺少 libglade2 安装包的回避方法 CentOS8 使用 aliyun 阿里云 镜像站点的方法 CentOS7或CentOS8 开机自动启用网卡的设置方法 CentOS7或CentOS8 安装VirtualBox Guest Addon缺少kernel-headers的解决办法 KDE-解决.docx .xlsx .pptx文档默认由Ark打开的问题 树莓派-Ubuntu Mate开启ssh服务 树莓派-CentOS-Minimal arm版的设置 树莓派-Ubuntu Mate开启远程桌面xrdp服务 树莓派-为Ubuntu Mate更换国内源 [转] CentOS 5.x 键盘布局改为日语 Debian/Ubuntu安装WPS (转) Vmware中Linux或macOS客户端如何回收硬盘空间 OS X 10.11:在exFAT分区的外置硬盘上使用Time Machine。 OS X 10.11:如何完全停用Time Machine。
WSL2 中使用 Arch Linux
茶猫的学习笔记 · 2025-05-15 · via 博客园 - 茶猫的学习笔记

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 &

(以上)