AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1721548
Accepted
danieldeluca
danieldeluca
Asked: 2022-05-18 18:25:38 +0800 CST2022-05-18 18:25:38 +0800 CST 2022-05-18 18:25:38 +0800 CST

Kali Linux - 在 WSL2 (WIN11) 上的 KEX 中从 XFCE 切换到 GNOME。如何?

  • 772

我无法在 WSL2 上运行的 Kali linux 中切换到 Gnome 桌面环境。我正在使用 kex (kex -s) 启动。已经将 Gnome updatet 安装到最新版本,但它总是在 Xfce 中启动。

尝试了本指南:https ://www.youtube.com/watch?v=pX7RHXRgBLs&ab_channel=500ATC使用https://sourceforge.net/projects/vcxsrv/但是当我从终端开始时,它给了我“出了点问题”错误。

这也不起作用:https ://www.youtube.com/watch?v=SVUDIWKh_w0&ab_channel=TechSolutionZ 。

谢谢。

kali-linux gnome
  • 1 1 个回答
  • 951 Views

1 个回答

  • Voted
  1. Best Answer
    NotTheDr01ds
    2022-05-23T18:44:54+08:002022-05-23T18:44:54+08:00

    好吧,自从我与 Kali 或 Kex 合作以来已经有一段时间了,但至少我能够让 Gnome 蹒跚前行。

    先说几点:

    • 这个答案建立在我之前的几个 Ask Ubuntu 答案的基础上:

      • 在 Windows 11 WSLg Ubuntu 发行版中启动 xfce4 或其他桌面
      • 在 WSL2 上打开 Ubuntu 20.04 桌面(即 Gnome)
      • 和一个通用的Systemd 后台程序。
    • Gnome需要Systemd,而 Systemd 不能很好地配合 WSL(而 WSL 不能很好地配合 Systemd)。

    • 有一些方法可以让它工作(正如我将演示的那样),但我不建议在 WSL 上运行 Systemd,除非你真的了解正在发生的事情和/或可以解决它。Systemd 极大地改变了 WSL(甚至您可能在 WSL 下运行的其他发行版)的行为。就在今天,我遇到了另一个问题,即 Systemd 脚本(类似于我将要向您展示的内容)正在产生问题。

    • 在 Kali 上的 WSL 下运行 Gnome 并不一定比在 WSL 下的 Ubuntu 下运行它更难。由于它的 Systemd 要求,它需要在两者上进行大量工作。也就是说,Kali 是一个更高级的发行版,因此您经常会在 Ubuntu 上找到更多的手把手。值得一读Kali 上的 Meta Unix 帖子。

      需要明确的是,Kali 是一个很棒的发行版,我非常尊重它。另外,我很欣赏他们的 Kex 实施比 WSLg/Windows 11 支持早几年的事实。然而,那些运行它的人需要清楚的是,与许多其他发行版相比,使用 Kali 可以自己解决更多问题。


    好的,不碍事。以下是我使用 Kali 在 WSLg/Windows 11 上运行 Gnome 的方法:

    sudo apt install kali-win-kex # Just to be sure I was working from a similar configure as yours
    sudo apt install gnome
    
    sudo -b unshare --pid --fork --mount-proc --kill-child sh -c "export container=wsl; mount -t binfmt_misc binfmt_misc /proc
    /sys/fs/binfmt_misc; exec /lib/systemd/systemd --system-unit=multi-user.target"
    

    正如我在上面链接的其他一些答案中解释的那样,这会在单独的命名空间中启动 Systemd。您需要等待几秒钟才能启动。检查ps -efH——一旦udev进程开始消失,你应该很好地继续:

    sudo -E nsenter -m -p --wd="$PWD" -t $(pgrep -xo systemd) runuser -P -l -w WSL_INTEROP -w WSL_DISTRO_NAME $USER -c "set PATH \
    "$PATH\"; exec $SHELL"
    

    您现在位于该名称空间中,并且使用另一个名称空间,ps -efH您可以看到 Systemd 作为 PID1 运行,它必须这样才能正常运行。

    然而,坏消息是 Kali(和大多数其他发行版)的一些默认 Systemd 初始化现在已经覆盖了 WSLg 集成点,因此我们需要手动重新创建它们:

    sudo rmdir /tmp/.X11-unix/
    sudo ln -s /mnt/wslg/.X11-unix/ /tmp
    export WAYLAND_DISPLAY=wayland-0
    export XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir
    Xwayland :1 &
    

    这将启动 Gnome 可以运行的后台全屏 Xwayland 服务器。否则,它将与已经运行的 Weston 窗口管理器发生冲突(再次,如其他链接答案之一所述)。

    点击Enter你的 WSL/Kali shell 以再次获得提示。然后:

    export DISPLAY=:1
    dbus-run-session gnome-session
    

    Gnome 现在应该在 Xwayland 下运行。可能有一些方法可以直接在 Wayland 或 Weston 下运行它,但我还没有弄清楚如何去做。

    请注意,在 Gnome 中仍有很多事情会不规律地工作,因为它需要物理机或虚拟机。

    完成后,请确保将wsl --shutdown所有内容返回到“非 Systemd”状态。

    正如我在其他答案中所提到的,WSL 上有 Systemd 的帮助脚本,但我建议仅在必要时使用该路径。

    对于 Gnome,我的建议是在虚拟机中运行,而不是直接在 WSL 中运行。具有讽刺意味的是,您甚至可以在 WSL2 中运行该虚拟机(通过 libvirtd)。但这是一个单独的话题......

    • 0

相关问题

  • airodump-ng 扫描结果中的“未关联”是什么意思

  • 在linux中启用两个无线网络接口

  • 如何在 Kali Linux 主菜单中为已安装的应用程序添加快捷方式?

  • Gnome 3.32.0 Super+n 键盘快捷键不起作用

  • 某些字符未呈现

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve