Link Search Menu Expand Document

已知问题

快捷方式

请查看 wsldl 的文档

glibc

Arch 默认的 Glibc 包是为新版本 Linux 内核的 syscall 设计的,而 WSL1 并不支持它们。

因此,如果你不使用打过 Patch 的 Glibc 包,你的实例会完全开不起来。

建议使用 AUR 中的 glibc-linux4ᴬᵁᴿ 包。

建议从 archlinuxcn 社区仓库安装此包,以方便自动更新。

echo "[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch" >> /etc/pacman.conf
sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring && sudo pacman -S glibc-linux4

当然,你也可以直接使用 AUR 助手安装。

yay -S glibc-linux4

fakeroot

fakeroot 默认使用 SYSV IPC, 但是 WSL1 目前还不支持它。

你可以转而使用 fakeroot-tcpᴬᵁᴿ 包。 (WSL2 无此问题)

下载 fakeroot-tcp-1.23-1-x86_64.pkg.tar.xz 然后运行 pacman -U fakeroot-tcp-1.23-1-x86_64.pkg.tar.xz 以安装。

Qt5

qt >=5.10 库在 WSL1 不能使用,这是 WSL 的问题。(在 Microsoft/WSL#3023)

请以 Root 执行这个: strip --remove-section=.note.ABI-tag /usr/lib/libQt5Core.so.5

MySQL 8/MariaDB

MySQL >=8 默认会使用使用原版的 AIO interface。WSL1 并不兼容它,因此你必须手动配置它。 编辑 /etc/my.cnf.d/server.cnf ,增加 innodb_use_native_aio=0[mysqld]

[mysqld]
innodb_use_native_aio=0

D-Bus

systemd D-Bus 守护进程在 WSL1 不能使用。 我建议使用 dbus-x11ᴬᵁᴿ。 下载 dbus-x11-1.12.16-1-x86_64.pkg.tar.xz 并运行 pacman -U dbus-x11-1.12.16-1-x86_64.pkg.tar.xz 以安装。

要启动 D-Bus 守护进程,运行:

sudo mkdir /run/dbus -p
sudo dbus-daemon --system

systemd/systemctl

WSL 并没有 systemd 的原生支持。 如果你需要使用依赖 systemd 支持的程序,我们建议使用替代脚本或容器。

WSL1 / WSL2

你可以用 systemctl 替代脚本, 不过它只能部分兼容 systemctl。

下载 systemd-altctl-1.4.4181-1-any.pkg.tar.xz 然后运行 pacman -U systemd-altctl-1.4.4181-1-any.pkg.tar.xz 以安装。

WSL2

你可以使用 systemd 容器 subsystemctl 或是 genie

使用它们,你就可以使用完整的 systemd 了。

subsystemctl

你可以下载 PKGBUILD 然后构建它。

读这里了解更多信息。

genie

你可以下载 这里的 PKGBUILDs.

读这里了解更多信息。


Back to top

Copyright © 2020 Wsldl-pg Documentation Team. Distributed by Creative Commons Attribution 4.0 International License.