Wie in den Kommentaren erwähnt, müssen Sie ab Ubuntu 18.04 und Linux Mint Tara zuerst sudo apt install qemu-kvm
.
Um das Eigentum an der /dev/kvm
Nutzung zu überprüfen
ls -al /dev/kvm
Der Benutzer war root
die Gruppe kvm
. Verwenden Sie, um zu überprüfen, welche Benutzer in der kvm
Gruppe sind
grep kvm /etc/group
Dies kehrte zurück
kvm:x:some_number:
auf meinem System: Da es rechts vom Finale nichts :
gibt, gibt es keine Benutzer in der kvm
Gruppe.
Um Ihren Benutzer zur kvm Gruppe hinzufügen , könnten Sie
sudo adduser $USER kvm
Dadurch wird der Benutzer zur Gruppe hinzugefügt und erneut mit überprüft grep kvm /etc/group
.
Wie von @marcolz erwähnt, sollte der Befehl newgrp kvm
die Gruppenmitgliedschaft live für Sie ändern. Wenn dies nicht funktioniert hat, hat @Knossos erwähnt, dass Sie sich möglicherweise abmelden und wieder anmelden (oder neu starten) möchten, damit die Berechtigungen wirksam werden. Oder machen Sie es wie @nmirceac erwähnt und melden Sie sich in derselben Shell über erneut an su - $USER
.
qemu-kvm
und dem Hinzufügen meines Benutzers zur Gruppe hatkvm
es nicht funktioniert. Aber es tat nach dem Neustart des Computers (Ubuntu 18.04).root
und die Gruppe warroot
. Sollten wir seine Gruppe ändern?sudo adduser $USER kvm
sudo chown $USER /dev/kvm
So habe ich es in Ubuntu 18.04 zum Laufen gebracht
Fügen Sie Ihren Benutzer der kvm-Gruppe hinzu, indem Sie:
Wenn immer noch die Erlaubnis verweigert wird :
Versuch es.
quelle
/dev/kvm/
Ordners nicht ändern . Stattdessen sollten Sie den Benutzerkvm
wie in dieser Antwort zur Gruppe hinzufügen : stackoverflow.com/a/45749003/1213934Versuchen Sie dies, es hat bei mir funktioniert:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
quelle
chown
- fügen Sie Ihren Benutzernamen zu den richtigen Gruppen hinzu - kvm oder libvirt. Weitere Informationen finden Sie in der Dokumentation zu [ help.ubuntu.com/community/KVM/Installation weiblich ( Ubuntu] .–
Suffix? Dies führt sicherlich zu einem Fehler.Haben Sie auch versucht, folgendes zu tun, sollte es funktionieren:
quelle
chmod o+x
ist völlig nutzlos. Der erste Befehl bringt es zum Laufen - aber siehe meine anderen Kommentare, warum dies eine schlechte Idee ist./dev/kvm
. Es ist nicht nur so, dass es zwischen Neustarts / Systemaktualisierungen nicht bestehen bleibt. Außerdem werden die Systemeinstellungen zwangsweise geändert. Bleib weg.Dies liegt daran, dass
/dev/kvm
nicht zugänglich ist. Um von Android Studio aus zugänglich zu machen, führen Sie den folgenden Befehl ausEs wird nach Ihrem Passwort gefragt. Starten Sie danach Android Studio neu.
KVM
wird benötigt, um Emulator zu rum. Wenn Sie es noch nicht installiert haben, installieren Sie esquelle
-R
ändern Sie rekursiv ( ) die Berechtigungen für eine einzelne Gerätedatei? Auch die Ausführungsberechtigungen sind überflüssig. Schließlich kann udev die Berechtigungen nach jedem Emulatorstart anpassen.Das einfache Ausführen dieses einen Befehls hat hier im September 2019 für mich funktioniert:
quelle
/dev/kvm
während seiner Laufzeit neu anpassen.Ich benutze Ubuntu 18.04. Ich hatte das gleiche Problem. Ich führe diesen Befehl im Terminal aus und das Problem ist behoben.
Der obige Befehl gilt für alle Benutzer in Ihrem System.
Wenn Sie nur einem bestimmten Benutzer Zugriff gewähren möchten, führen Sie diesen Befehl aus
quelle
Dies ist eine kurze Version von Gerds Antwort
Öffnen Sie das Terminal und führen Sie die folgenden Befehle aus
Fügen Sie der geöffneten Datei die folgende Zeile hinzu und speichern Sie sie
Zum Schluss ausführen:
Starten Sie Ihren PC neu und fertig!
quelle
/lib/udev/rules.d
. Udev verfügt über einen Overlay-Mechanismus, bei dem die Konfiguration/etc/udev/rules.d
Vorrang vor der verfügbaren Konfiguration hat/lib/udev/rules.d
.Ich habe dem gleichen Problem begegnet und um dieses Problem zu lösen, geben Sie einfach die folgenden Befehle in Terminal für Linux-Clients ein
und danach versuchen Sie, den Simulator auszuführen, es wird funktionieren
quelle
Eine Installation ist absolut nicht erforderlich
qemu-kvm
(und alle seine Abhängigkeiten) wenn Sie nur den Android Studio Emulator ausführen möchten.Das einzige, was Sie tun müssen, ist, Ihrem Benutzer (dh dem Benutzer, mit dem Sie angemeldet sind) das Recht zu geben, auf das zuzugreifen
/dev/kvm
Gerät zuzugreifen.Dies erfolgt in drei einfachen Schritten.
Zuerst:Erstellen Sie die
kvm
-groupgroupadd -r kvm
Die Option
Zweite:-r
erstellt eine Systemgruppe, dh mit einer GID <= 999 (siehe/etc/login.defs
=>)SYS_GID_MAX
)Ändern Sie die Berechtigungen für
/dev/kvm
. Dies kann im Rahmen derqemu-kvm
Installation erfolgen, da eine der Abhängigkeiten die Installation istqemu-system-common
(auf aktuellen Ubuntu-Systemen kann der Paketname variieren), wodurch wiederum die Datei installiert wird/lib/udev/rules.d/60-qemu-system-common.rules
, die Folgendes enthält:Wenn Sie also nur eine Datei
Dritte:/etc/udev/rules.d/60-qemu-permissions.rules
mit der obigen Zeile erstellen , sind Sie mit dem ersten Schritt fertig.Fügen Sie der Gruppe Ihren Benutzernamen hinzu, indem Sie ausführen
usermod -a -G kvm <your_username>
- Das-a
ist wichtig, um Ihren Benutzer zur kvm-Gruppe hinzuzufügen. Ohne das überschreiben Sie die Gruppeneinstellungen für Ihren Benutzer so, dass sie nur zu "kvm" gehören ...Das ist es.
Damit die neue udev-Regel und Gruppeneinstellung wirksam wird, ist es am einfachsten, neu zu starten und sich erneut anzumelden.
Sie können auch ausführen
udevadm control --reload-rules && udevadm trigger
Zum erneuten Laden der Regeln müssen Sie sich jedoch für die neue Gruppe abmelden und erneut anmelden.
quelle
Ich benutze Linux Debian und ich sehe den gleichen Weg. In meiner AVD wird mir die Meldung "/ dev / kvm-Berechtigung verweigert" angezeigt, und ich habe versucht, die Lösung zu finden. Um dies zu lösen, geben Sie im Terminal Folgendes ein:
Es wird ein Zugriff für den Ordner / dev / kvm gewährt. Überprüfen Sie dann erneut Ihre AVD . Die Fehlermeldung verschwindet. Ich hoffe, sie hilft.
quelle
Hat für mich gearbeitet.
quelle
chown
Beispiele hier, aber ich würde dasx
aus den Berechtigungen weglassen .Nur eine kleine Verbesserung gegenüber Jerrins Antwort auf die Behebung dieses Fehlers mit Ubuntu 18.04 durch Verwendung der
$USER
im Bash-Terminal verfügbaren Variablen. Sie können also die folgenden Befehle mit zwei Befehlen verwenden:Fügen Sie den aktuellen Benutzer zur kvm-Gruppe hinzu
Auch wenn Sie immer noch Probleme haben, war ein weiteres Problem für mich die Art und Weise, wie ich Ubuntu installiert habe. Ich habe den Fehler gemacht, das Kontrollkästchen während der Installation für die Installation von Software von Drittanbietern zu aktivieren, die mit meiner NVIDIA-Grafikkarte für die Entwicklung nicht gut funktioniert hat. Also habe ich Ubuntu mit dieser Software von Drittanbietern neu installiert ungeprüft .
Öffnen Sie dann nach der Installation Software & Updates und wechseln Sie zur Registerkarte Zusätzliche Treiber. Wählen Sie die aktuellsten proprietären Treiber aus, die ebenfalls getestet wurden, und übernehmen Sie die Änderungen. Sollte den Computer neu starten, damit die Änderungen wirksam werden.
quelle
Dies funktionierte für mich unter Linux (x18). Ich hoffe, es funktioniert auch für Sie
quelle
Unter Ubuntu sehen die Berechtigungen von
/dev/kvm
normalerweise folgendermaßen aus:Der Benutzer, der den Android-Emulator ausführt (dh Ihr Benutzer), muss Zugriff auf dieses Gerät erhalten.
Es gibt also grundsätzlich zwei Möglichkeiten, um Zugang zu erhalten:
Benutzer zur KVM-Gruppe hinzufügen
Überprüfen Sie, ob Ihr Benutzer bereits Teil der kvm-Gruppe ist, z.
Wenn dies nicht der Fall ist, fügen Sie es hinzu, z.
Nach dieser Änderung müssen Sie sich abmelden und erneut anmelden, damit die Gruppenänderung wirksam wird (erneut prüfen mit
id
).Berechtigungen erweitern
Alternativ können Sie einfach die Berechtigungen des
/dev/kvm
Geräts erweitern.Beispiel:
FWIW, dies ist die Standardeinstellung für andere Distributionen wie Fedora und CentOS.
Überprüfen Sie die Wirksamkeit der oben genannten Befehle mit einem anderen
ls
. Sie sollten auch eine ähnliche Ausgabe sehen:Großer Vorteil: Sie müssen sich nicht abmelden und erneut anmelden, damit diese Änderung wirksam wird.
Nicht-Lösungen
chmod
undchown
direkt einschalten/dev/kvm
- 1) Diese Änderungen bleiben beim Neustart nicht bestehen und 2) da die/dev/kvm
Berechtigungen vom udev-Daemon gesteuert werden, kann er seine Berechtigungen jederzeit "reparieren", z. B. nach jedem Emulatorlauf/dev/kvm
- Ihr Emulator benötigt lediglich Lese- und Schreibberechtigungen/dev/kvm
- ich weiß nicht, was damit los ist - sieht nach Frachtkult aus/dev/kvm
Gerät zugreifenquelle
Öffnen Sie das Terminal und melden Sie sich als Administrator an
Gehen Sie zum Entwicklerordner
Ändern Sie den KVM-Modus
quelle
cd /dev
statt Sudo.chmod
an-R
? Das rekursive Ändern der Berechtigungen für eine einzelne Gerätedatei/dev/kvm
ist nicht besonders nützlich. Außerdem sind Ausführungsberechtigungen auf diesem Gerät überflüssig. Schließlich kann udev die/dev/kvm
Berechtigungen nach jedem Lauf neu anpassen . Daher ist diese Methode nicht sehr effektiv.Ich befand mich in einer ähnlichen Situation mit demselben Berechtigungsfehler für / dev / kvm. Ich hatte die erforderlichen Installationen durchgeführt, aber den Benutzer nicht zur kvm-Gruppe hinzugefügt. Alles, was ich tun musste, war
und natürlich vergessen Sie nicht, Ihre Ubuntu-Instanz neu zu starten.
quelle
Was es für mich unter Ubuntu 18.04 endgültig behoben hat, war:
quelle
Ich habe diesen Fehler erhalten, nachdem ich mein Ubuntu auf 18.04.1 aktualisiert habe. Ich lade gerade ein neues System-Image für den Emulator herunter oder Sie können sagen, dass Sie einen neuen Emulator herunterladen und es funktioniert für mich.
quelle
/dev/kvm
-permissions.Terminal eingeben:
quelle
Obwohl KVM ein Modul ist, das in den Linux-Kernel selbst integriert ist, bedeutet dies nicht, dass standardmäßig alle erforderlichen Pakete in Ihrer Ubuntu / Linux-Installation enthalten sind. Sie benötigen einige, um loszulegen, und sie können mit diesem Befehl im Terminal installiert werden:
Konfigurieren Sie die Netzwerkbrücke
Damit Ihre virtuellen Maschinen auf Ihre Netzwerkschnittstelle zugreifen und ihre eigenen IP-Adressen erhalten, müssen wir das Bridged Networking auf unserem System konfigurieren.
Führen Sie zunächst den folgenden Linux-Befehl aus, um herauszufinden, welcher Name Ihrer Netzwerkschnittstelle zugewiesen wurde. Wenn wir dies wissen, können wir später zusätzliche Konfigurationen vornehmen.
In meinem Fall wird die Netzwerkschnittstelle aufgerufen
enp2s0
. Ihre wird wahrscheinlich sehr ähnlich benannt.Um Ubuntu mitzuteilen, dass unsere Verbindung überbrückt werden soll, müssen wir die Konfigurationsdatei für die Netzwerkschnittstellen bearbeiten. Dies wirkt sich überhaupt nicht negativ auf Ihre Verbindung aus. Diese Verbindung kann nur für die VMs freigegeben werden.
Verwenden Sie
code
(Visual Studio Code) oder Ihren bevorzugten Texteditor, um die folgende Datei zu öffnen:Wenn Sie diese Datei zum ersten Mal öffnen, ist sie möglicherweise leer oder enthält nur ein paar Zeilen. Ihre Bridge-Schnittstelle wird aufgerufen
br0
. Fügen Sie daher die folgende Zeile hinzu, damit die Schnittstelle standardmäßig angezeigt wird:Fügen Sie unterhalb dieser Zeile die folgende Zeile für Ihre aktuelle Netzwerkschnittstelle hinzu (diejenige, deren Namen Sie zuvor festgelegt haben).
Als Nächstes können Sie die Bridge-Informationen hinzufügen. Diese Zeilen teilen Ubuntu mit, dass Ihre Bridge DHCP für die automatische Zuweisung von IP-Adressen verwendet und Ihre Bridge Ihre aktuelle Schnittstelle verwaltet.
So sollte Ihre Datei aussehen, wenn alle Änderungen übernommen wurden (wenn Sie auch ein paar Zeilen haben, die bereits vorhanden waren, ist es in Ordnung, sie auch zu haben):
Speichern Sie Ihre Änderungen und beenden Sie die Datei.
Fügen Sie Ihren Benutzer zu den Gruppen hinzu
Um Ihre virtuelle Maschine (n) ohne Root-Rechte zu verwalten, muss Ihr Benutzer zwei Benutzergruppen angehören. Führen Sie die folgenden Befehle aus, um Ihren Benutzer zu den entsprechenden Gruppen hinzuzufügen (indem Sie Benutzer1 durch den Namen Ihres Benutzers ersetzen):
Wenn Sie fertig sind, sollten Sie Ihr System neu starten, um sicherzustellen, dass alle Änderungen an Ihrer Benutzer- und Netzwerkkonfiguration wirksam werden.
quelle
libvirt
und keine Notwendigkeit für die Konfiguration von Schnittstellen ...Um ein virtuelles Gerät unter Linux zu erstellen, muss ich diesen drei Befehlen folgen und es hilft mir, Probleme beim Erstellen von AVD-Geräten zu vermeiden.
Jetzt können Sie Android Studio neu starten und mit dem Emulator eine Anwendung erstellen.
quelle
Geben Sie mit diesem Befehl die entsprechenden Berechtigungen ein
quelle
Das Ausführen des folgenden Befehls in Ubuntu 18.04 funktionierte für mich sudo chown -R / dev / kvm
quelle
/dev/kvm
eine Datei-R
keine Auswirkungen hat --- Drittens:chown
Benötigt einnew owner
Argument --- Viertens: Nach dem Neustart müssen Sie dies immer wieder tun.Wenn Sie Ihre Idee mit sudo öffnen. Sie werden dieses Problem nicht haben.
quelle