我已經設定了 WSL 2 (Ubuntu) 並在那裡安裝了 systemd (和 systemd-sysv)。之後,我跑了:
sudo mkdir -p /run/dbus
sudo dbus-daemon --system
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
安裝前systemd
,我將ubuntu更新到18.10(使用sudo do-release-upgrade
多次)
它工作了一段時間,但現在只能以普通用戶身份工作。作為根,我得到了
Failed to list units: Connection reset by peer
在任何systemctl
命令上。
因此,我可以查看服務的狀態,但無法啟用/停用 dis 服務的啟動或啟動/停止它們。
我還可以在全新安裝中複製它:
我從 Microsoft Store 安裝了 Debian (WSL2)
我執行了以下指令: sudo apt-get update -y sudo apt-get install -y dbus-x11 sudo apt-get install daemonize
然後,我wsl --shutdown
在主機上執行並運行:
sudo mkdir -p /run/dbus
sudo dbus-daemon --system
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
之後,我得到了相同的結果:
systemctl
單元負載活動子描述
proc-sys-fs-binfmt_misc.automount 載入活動運行任意可執行檔
sys-devices-LNXSYSTM:00-L以
sys-devices-LNXSYSTM:00-LNXSYBUS:00-ACPI0004:00-VMBUS:00-fd1d2cbd\x2dce7c\x2d535c\x2d966b\x2deb5f811c95f0-host-0-0:0裝置已載入活動插入Virtual_Disk sys-devices-LNXSYSTM:00-LNXSYBUS:00-ACPI0004:00-VMBUS:00-fd1d2cbd\x2dce7c\x2d535c\x2d966b2cbd\x2dce7c\x2d535c\x2d966b 1 -block-sdb.device 載入活動插入的 Virtual_Disk
等等但是當我跑的時候
sudo systemctl
我有
無法列出單位:連線已被對等方重置
其他例子:
$ systemctl status dbus
● dbus.service - D-Bus System Message Bus
Loaded: loaded (/lib/systemd/system/dbus.service; static; vendor preset: enabled)
Active: active (running) since Fri 2019-12-13 17:56:36 CET; 13min ago
Docs: man:dbus-daemon(1)
Main PID: 110
Tasks: 1 (limit: 4915)
Memory: 1.2M
CGroup: /system.slice/dbus.service
└─110 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
Dec 13 17:56:36 Daniellaptop systemd[1]: Started D-Bus System Message Bus.
$ sudo systemctl status dbus
Failed to get properties: Connection reset by peer
[規格]
ver
我的主機上的輸出:Microsoft Windows [Version 10.0.19013.1122]
之後我也在neofetch
Debian系統上安裝了(為了向你展示):
_,met$$$$$gg. dan@Daniellaptop
,g$$$$$$$$$$$$$$$P. ----------------
,g$$P" """Y$$.". OS: Debian GNU/Linux 10 (buster) on Windows 10 x86_64
,$$P' `$$$. Kernel: 4.19.79-microsoft-standard
',$$P ,ggs. `$$b: Uptime: 9 mins
`d$$' ,$P"' . $$$ Packages: 226 (dpkg)
$$P d$' , $$P Shell: bash 5.0.3
$$: $$. - ,d$$' Terminal: /dev/pts/0
$$; Y$b._ _,d$P' CPU: Intel i7-7500U (4) @ 2.903GHz
Y$$. `.`"Y$$$$P"' Memory: 80MiB / 6868MiB
`$$b "-.__
`Y$$
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`"""
輸出uname -a
:
Linux <hostname of the host> 4.19.79-microsoft-standard #1 SMP Mon Oct 14 00:50:46 UTC 2019 x86_64 GNU/Linux
[筆記]
如果我啟動系統並運行,結果是一樣的
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
沒有
sudo mkdir -p /run/dbus
sudo dbus-daemon --system
答案1
這可以透過systemd
按照描述的另一種方式安裝來實現這裡。首先,您需要安裝git
、複製此儲存庫並按照 中所述執行安裝程式README.md
。
sudo apt update
sudo apt install -y git
git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh
之後,您wsl --shutdown
在 cmd 中運行並再次啟動 WSL。