在最新的 WSL2 上启用 Systemd 后无法启动 gnome-session

在最新的 WSL2 上启用 Systemd 后无法启动 gnome-session

我在 Windows 11 22H2 上的 WSL2 上使用 Ubuntu 22.04.01,并支持 Systemd。但是,尽管我已遵循这个答案,我仍然无法gnome-session正常启动。它只显示“哦不!出了点问题!”这样的标志。

在此处输入图片描述

我检查了日志并看到以下消息,不确定是否相关:

misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -2

答案1

i)配置窗口

  • 首先,将 Windows 更新到最新版本。
  • 然后安装 2022-11 累积更新预览版,适用于基于 x64 的系统的 Windows 10 22H2(KB5020030)
  • 检查您的操作系统版本是否至少为 19045.2311。如果句点后的第二部分小于 2311,则说明您尚未安装预览版,因此无法正常运行。此步骤对于让 WSLg 正常运行至关重要。

https://support.microsoft.com/en-gb/topic/november-15-2022-kb5020030-os-builds-19042-2311-19043-2311-19044-2311-and-19045-2311-preview-237a9048-f853-4e29-a3a2-62efdbea95e2

  • 转到控制面板->程序->打开或关闭 Windows 功能。确保虚拟机平台已选中。
  • 进入 BIOS。确保 BIOS 中启用了虚拟化功能(在 AMD 上称为 SVM)

ii)在 WSL 上配置 UBUNTU

  • 添加到 /etc/wsl.conf
[boot]
systemd=true
  • 创建文件 /etc/pam.d/system/systemd-user
# This file is part of systemd.
#
# Used by systemd --user instances.

@include common-account

session  required pam_loginuid.so
session  required pam_limits.so
@include common-session-noninteractive
session optional pam_systemd.so
  • 使用“wsl --shutdown”停止 WSL,然后使用“wsl”重新启动

  • sudo apt install ubuntu-desktop acpi-support-

ubuntu-desktop 尝试安装 acpi-support。这将使您的发行版陷入不可恢复的状态,并在您尝试运行 WSL 时产生灾难性错误。不要忘记添加“-”符号以告诉 apt 忽略此依赖项,否则您必须删除发行版并重新安装。

  • sudo systemctl stop gdm.service

如果无法阻止 gdm 运行,则当您尝试运行 gnome-shell 时将导致各种错误。

  • sudo systemctl disable gdm.service

  • 将以下内容添加到系统启动中 - 它需要以提升的权限执行。我启用了 systemd 的 rc-local 兼容服务,然后将它们添加到 /etc/rc.local。只需确保 chmod 700 /etc/rc.local

mount -o rw,remount /tmp/.X11-unix/
chmod +t /tmp/.X11-unix
chmod o+rw /dev/dri/renderD128
/usr/libexec/at-spi-bus-launcher --launch-immediately &
  • 使用“wsl --shutdown”停止 WSL,然后使用“wsl”重新启动

  • 将以下内容添加到你的 .bashrc

XDG_SESSION_TYPE=x11 gnome-session --disable-acceleration-check --session=ubuntu --systemd-service > /dev/null 2>&1
  • 现在使用以下命令运行 gnome-shell。根据您的喜好调整分辨率。
MUTTER_DEBUG_DUMMY_MODE_SPECS=2400x1300 gnome-shell --nested --no-x11 2> /dev/null &

截屏

相关内容