Ich habe Ubuntu WSL erfolgreich unter Windows 11 installiert mitdieser Leitfadenohne Probleme. Wenn ich jedoch versuche, Anbox nach dem zu installierenoffizielle Website, ich erhalte ständig Fehlermeldungen wie diese:
error: cannot communicate with server: Post http://localhost/v2/snaps/anbox: dial unix /run/snapd.socket: connect: no such file or directory
Und
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
Dann habe ich diese Lösung ausprobiert:
# This part adds the Microsoft repository to install dotnet-runtime, which you need for `systemd-genie`
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# This part installs the .NET runtime
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-6.0
# This part adds the transdebian repository, which contains systemd-genie
wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg
chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg
cat << EOF > /etc/apt/sources.list.d/wsl-transdebian.list
deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
EOF
#This part installs systemd-genie
sudo apt update
sudo apt install -y systemd-genie
# This part adds a script to `~/.profile` to automatically start genie every time you start up bash.
echo "# Are we in the bottle?
if [[ ! -v INSIDE_GENIE ]]; then
read -t 3 -p 'yn? * Preparing to enter genie bottle (in 3s); abort? ' yn
echo
if [[ $yn != y ]]; then
echo 'Starting genie:'
exec /usr/bin/genie -s
fi
fi
" >> ~/.profile
# Restart bash
exec bash
Als ich Ubuntu WSL das nächste Mal startete, erhielt ich Folgendes, bevor ich einen Befehl ausführte:
-bash: /root/.profile: line 15: conditional binary operator expected
-bash: /root/.profile: line 15: syntax error near `y'
-bash: /root/.profile: line 15: ` if [[ != y ]]; then'
Und wenn ich versuche, die Schritte vonAnboxIch bekomme Folgendes:
/dev/binder$: command not found
-bash: /dev/ashmem: No such file or directory
$: command not found
Was mache ich falsch?
PS: Diese Frage wurde ursprünglich gepostet anPaketüberflusswurde aber zwangsweise geschlossen.
PS: Mein technischer Hintergrund ist äußerst begrenzt. Danke
Antwort1
Mein technischer Hintergrund ist äußerst begrenzt
Keine Sorge, das sind tatsächlich nützliche Informationen. Es hilft mir zumindestversuchenum eine Antwort zu geben, die Ihrem Erfahrungsniveau entspricht. Die Gründe dafür sind jedochSindziemlich technisch, aber Sie haben bisher großartige Arbeit geleistet und versucht, einige davon durchzuarbeiten.
Wie Sie wahrscheinlich schon herausgefunden haben, waren die ersten beiden Fehler darauf zurückzuführen, dass WSL Systemd (und damit auch Snaps) nicht unterstützt. Dies ist vielleicht eine der größten Herausforderungen, auf die Benutzer stoßen, wenn sie versuchen, es als Eins-zu-eins-Ersatz für ein „echtes“ Linux-System zu verwenden.
Systemd ist das „Standard“-Initialisierungssystem für die meisten Linux-Distributionen, aber WSL verwendet sein eigenes /init
als Startsystem, und zwar aus guten Gründen, auf die ich hier nicht näher eingehen werde.
Das bedeutet allerdings, dass manche Software, die Systemd erwartet, ohne zusätzlichen Aufwand einfach nicht auf WSL funktioniert. Druckknöpfesind eine Möglichkeit, Software in Linux zu installieren, die Systemd verwendet.
Als dieAnbox-InstallationsanleitungErwähnungen:
Um Anbox zu installieren, muss Ihr System Snaps unterstützen. Wir unterstützen derzeit offiziell keine andere Verteilungsmethode von Anbox, aber es gibt von der Community erstellte Pakete für verschiedene Distributionen (z. B. Arch Linux), aber ...
Es gibt Workarounds für Systemd/Snap-Unterstützung auf WSL, und Genie, das Ihr zweiter Versuch war, ist einer davon. TrotzdemdenkenSie verwenden veraltete Anweisungen zur Installation von Genie. Schauen Sie sichdas Genie GitHubfür die neuesten Informationen dazu.
Basierend auf den Kommentaren zu meiner ursprünglichen Antwort hier:
@moyadin *Dieser Link, den ich auf windowscentral.com gepostet habe, dient dazu, den Amazon Store durch den Google Store zu ersetzen. Das ist mir gelungen.
Wow – ich bin ziemlich beeindruckt, denn das ist verdammt technisch ;-). Ich dachte ursprünglich, Sie meinten, man solle nur diesen Leitfaden verwenden, um WSL2 zu installieren. Ich habe ihn jetzt überflogen, um zu verstehen, was Sie getan haben.
Wenn Sie das laufen haben, dann verwenden Sie eine frühe (aber modifizierte) Version von WSA (Windows Subsystem for Android), die, soweit ich das beurteilen kann,sollenisoliert sein, da es in einer virtuellen Maschine wie WSL2 läuft. Ich werde dieser Anleitung wahrscheinlich nicht selbst folgen, da es sich um eine ziemlich „Beta“-Technologie handelt, die noch nicht für die Ausführung auf der „normalen“ Version von Windows 11 ausgelegt ist. ABER ich bin sehr konservativ, was mein System betrifft.
Ich könnte es andererseits in einer Windows 11-VM ausprobieren, die ich habe.
Ich habe gestern einige Zeit damit verbracht, Anbox auf WSL2 zu installieren, aber es hat nicht geklappt. Sie müssen mindestens Folgendes haben:
Systemd läuft besser als ich
Soweit ich weiß, müssen Sie Ihren eigenen Kernel mit Unterstützung für dieAnbox
binder
undashmem
Kernelmodule. Soweit ich das beurteilen kann, ist mir das gelungen, aber ich habe zwei Versuche gebraucht, bis es richtig geklappt hat.Stellen Sie WSL2 so ein, dass Ihr benutzerdefinierter Kernel verwendet wird (ich habe dies erneut erfolgreich durchgeführt und überprüft, ob die Anbox-Module ordnungsgemäß geladen wurden).
Anbox installieren -- Während ichWarIch konnte den Snap zwar auf WSL2 installieren, ihn aber nicht ausführen und bin zu 95 % sicher, dass es immer noch an Systemd-Problemen liegt.
Wenn ich mehr Zeit darauf verwenden würde, könnte es vielleicht klappen, allerdings müsste ich dann noch den nächsten Schritt machen, um zum Play Store zu gelangen ...
Führen Sie eine sehr komplizierteSkript. Es ist ironischerweise lustig, dass ich das in dem Artikel gefunden habeAnbox: So installieren Sie den Google Play Store und aktivieren die ARM-Unterstützung (libhoudini) – ganz einfachUnd nachdem sie gesagt haben, dass es der einfache Weg ist, sagen sie Ihnen (zu Recht):
Achtung: Führen Sie niemals ein Skript aus, das Sie nicht selbst geschrieben haben, ohne zu wissen, was es tut. Bevor Sie dieses Skript ausführen, überprüfen Sie seinen Code. Leider erfordert das Verständnis dessen, was dieses Skript tut, einehochGrad der Linux-Kenntnisse.
Aber wenn dafür für Anbox so viel Arbeit nötig ist, werde ich die ganze Sache einfach ignorieren.
Ich würde sagen, das ist die richtige Wahl. Meine Empfehlung wäre (a) bleiben Sie bei dem, was Sie bereits haben (b) es ist wahrscheinlich genauso gut oder besser als (und genauso sicher wie) die Anbox-Lösung.
Mein Endziel besteht darin, Android-Apps in einer isolierten Umgebung herunterzuladen, in der die Apps nicht auf alles zugreifen können (wie beispielsweise die aus dem Microsoft Store heruntergeladenen Apps), und Android x86 auf VMware ist die Option, die ich derzeit verwende.
Nun, wenn Sie die WSA-Option, die in Windows Central dokumentiert ist, zum Laufen bringen, ist das höchstwahrscheinlich genauso sicher. Ich bin sicher, dass Microsoft mehr Informationen zur Architektur von WSA veröffentlichen wird, wenn die Markteinführung näher rückt, aber sie haben gesagt, dass es in einer VM läuft. Ich vermute, dass die Architektur WSL2 sehr ähnlich ist.
Was wirWirklichwarten auf die WSAfreigegebenvon Microsoft. Dann haben wir hoffentlich einige bessere Optionen (obwohl immer noch nicht unterstützt) für die Verwendung des Google Play Store.