Android Studio: / dev / kvm Geräteberechtigung verweigert

556

Wenn ich versuche, meine Android-App auf einem Emulator auszuführen, wird folgende Fehlermeldung angezeigt:

/ dev / kvm Berechtigung verweigert.

Ich habe die Berechtigungen überprüft und den Benutzer, mit dem ich derzeit angemeldet bin, zur kvm-Gruppe hinzugefügt. Was ist falsch?

florian.R
quelle

Antworten:

869

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/kvmNutzung zu überprüfen

ls -al /dev/kvm

Der Benutzer war rootdie Gruppe kvm. Verwenden Sie, um zu überprüfen, welche Benutzer in der kvmGruppe 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 kvmGruppe.

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 kvmdie 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.

serv-inc
quelle
124
Nach der Installation qemu-kvmund dem Hinzufügen meines Benutzers zur Gruppe hat kvmes nicht funktioniert. Aber es tat nach dem Neustart des Computers (Ubuntu 18.04).
SDLINS
7
Was passiert , wenn der Benutzer war rootund die Gruppe war root. Sollten wir seine Gruppe ändern?
Michael Fulton
4
Ich musste jedes Mal, wenn ich meinen PC einschaltete, sudo chown -R Benutzername: Benutzername / dev / kvm Diese Schritte ersparten mir jedes Mal Kopfschmerzen. Thansk @ serv-inc Dies sollte als richtige Antwort akzeptiert werden.
Sajid Zeb
3
Sie können diesen Befehl verwenden, um automatisch aktuellen Benutzer zu kvm hinzuzufügensudo adduser $USER kvm
Munish Chandel
17
Ich musste dem Benutzer auch das Eigentum an kvm gewähren: sudo chown $USER /dev/kvm
Iván Rodríguez Torres
534

So habe ich es in Ubuntu 18.04 zum Laufen gebracht

sudo apt install qemu-kvm

Fügen Sie Ihren Benutzer der kvm-Gruppe hinzu, indem Sie:

sudo adduser <Replace with username> kvm

Wenn immer noch die Erlaubnis verweigert wird :

sudo chown <Replace with username> /dev/kvm

Versuch es.

Jerin A Mathews
quelle
2
rette meinen Tag mit deiner letzten Antwort.
Sathish Sundharam
14
Schritt 2 erfordert möglicherweise einen Neustart
Jakob Eriksson
10
Sie sollten den Besitz des /dev/kvm/Ordners nicht ändern . Stattdessen sollten Sie den Benutzer kvmwie in dieser Antwort zur Gruppe hinzufügen : stackoverflow.com/a/45749003/1213934
Abmeldung
3
@JakobEriksson Es ist erforderlich, sich erneut anzumelden. Neustarts sind für Windows (und System-Updates) reserviert ;-)
Bayou
3
Ja, genau wie @logoff vorgeschlagen hat, sollten Sie den Besitz von / dev / kvm nicht ändern, da Sie dadurch die Standard-ACL Ihres Linux-Systems beschädigen, was keine gute Sicherheitspraxis ist. Befolgen Sie stattdessen diese Anweisung: stackoverflow.com/a/45749003/7206497
eVagabond
33

Versuchen Sie dies, es hat bei mir funktioniert:

  1. sudo apt install qemu-kvm

  2. sudo chown -R <username>:<username> /dev/kvm –

Mailand
quelle
1
Möglicherweise müssen Sie sich erneut anmelden, damit es wirksam wird.
Vadim Peretokin
6
Dies ist fraglich, da ein Mehrbenutzersystem als Einzelbenutzersystem behandelt wird. Kein anderer Benutzer kann KVM verwenden, wenn er diesem Ansatz folgt. Ist das eine gute Idee? Ich bezweifle es ...
Arkascha
1
Diese Lösung ist eindeutig falsch, da sie die Standardrechte für / dev / kvm ändert. Es ist nicht nur so, dass es zwischen Neustarts / Systemaktualisierungen nicht bestehen bleibt. Außerdem werden die Systemeinstellungen zwangsweise geändert. Bleib weg.
andrzejwp
Tun Sie nicht das 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] .
Daisuke Aramaki
Warum chownst du eine Gerätedatei rekursiv? Was ist mit dem Suffix? Dies führt sicherlich zu einem Fehler.
Maxschlepzig
29

Haben Sie auch versucht, folgendes zu tun, sollte es funktionieren:

sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
nobjta_9x_tq
quelle
1
chmod o+xist völlig nutzlos. Der erste Befehl bringt es zum Laufen - aber siehe meine anderen Kommentare, warum dies eine schlechte Idee ist.
Gerd
1
Dies funktioniert, aber ein Neustart bleibt nicht bestehen. Ich bin allerdings auf POP OS!
Arka Prava Basu
1
Diese Lösung ist falsch, da sie die Standardrechte für ändert /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.
andrzejwp
Dies ist bei Neustarts nicht dauerhaft. Der udev-Daemon kann die Berechtigungen während seiner Laufzeit neu anpassen und anderen das ausführbare Berechtigungsbit geben, das einfach überflüssig ist.
Maxschlepzig
27

Dies liegt daran, dass /dev/kvmnicht zugänglich ist. Um von Android Studio aus zugänglich zu machen, führen Sie den folgenden Befehl aus

sudo chmod 777 -R /dev/kvm

Es wird nach Ihrem Passwort gefragt. Starten Sie danach Android Studio neu.

KVMwird benötigt, um Emulator zu rum. Wenn Sie es noch nicht installiert haben, installieren Sie es

sudo apt install qemu-kvm
Shalauddin Ahamad Shuza
quelle
Diese Antwort hat in meinem Fall den Trick getan, nachdem ich der am besten bewerteten Antwort gefolgt bin! Vielen Dank!
Crono
1
TU das nicht. Siehe meine Antwort oben.
andrzejwp
@andrzejwp: Welche Antwort? Ich sehe keine Antwort von dir. Können Sie angesichts der Unnachgiebigkeit Ihrer Antwort einen Link dazu erstellen ?
Dan Dascalescu
Warum -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.
Maxschlepzig
25
sudo chown $USER /dev/kvm

Das einfache Ausführen dieses einen Befehls hat hier im September 2019 für mich funktioniert:

Beschreibung: Ubuntu 18.04.3

LTS-Veröffentlichung: 18.04

Codename: bionisch

Raddevus
quelle
1
TU das nicht. Siehe meine Antwort oben.
andrzejwp
1
@andrzejwp Wo ist deine Antwort? Ist es in einem Kommentar? Wenn ja, ist es wahrscheinlich zusammengebrochen und ich kann es nicht sehen. Ich habe die Seite nach Ihrem Benutzertag durchsucht, kann sie jedoch nicht finden. Gerne probiere ich Ihre Antwort aus - weil meine Antwort nicht ganz richtig ist (nicht fortbesteht) - aber ich kann sie nicht finden. Hinterlasse einen Link oder erstelle eine neue Antwort und ich werde es versuchen.
Raddevus
Verwenden Sie die am besten gewählte Antwort. Verwenden Sie nicht chmod / chown.
andrzejwp
@andrzejwp: Bitte verlinken Sie auf Ihre Antworten, anstatt "oben" zu sagen. Was ist, wenn Ihre Antwort unter der liegt, die Sie kommentieren?
Dan Dascalescu
Dies ist bei Neustarts nicht dauerhaft und der udev-Daemon kann den Besitz von /dev/kvmwährend seiner Laufzeit neu anpassen.
Maxschlepzig
21

Ich benutze Ubuntu 18.04. Ich hatte das gleiche Problem. Ich führe diesen Befehl im Terminal aus und das Problem ist behoben.

sudo chown $USER /dev/kvm

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

sudo chown UserNameHere /dev/kvm
ujjal das
quelle
1
Nein, das sollten Sie nicht tun. Siehe meine Antwort oben.
andrzejwp
Wie ist diese Antwort unterscheidet sich von @raddevus' Antwort , die er einen Monat früher geschrieben?
Maxschlepzig
20

Dies ist eine kurze Version von Gerds Antwort

Öffnen Sie das Terminal und führen Sie die folgenden Befehle aus

sudo groupadd -r kvm

sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules

Fügen Sie der geöffneten Datei die folgende Zeile hinzu und speichern Sie sie

KERNEL == "kvm", GROUP = "kvm", MODE = "0660"

Zum Schluss ausführen:

sudo usermod -a -G kvm <your_username>

Starten Sie Ihren PC neu und fertig!

Nasir Jafarzadeh
quelle
Das ist ein schlechter Rat. Bearbeiten Sie die udev-Konfiguration niemals direkt unter /lib/udev/rules.d. Udev verfügt über einen Overlay-Mechanismus, bei dem die Konfiguration /etc/udev/rules.dVorrang vor der verfügbaren Konfiguration hat /lib/udev/rules.d.
Maxschlepzig
Ich bin kein professioneller Linux-Benutzer. Es ist nur eine Lösung, die für mich funktioniert hat, und ich beschließe, sie für andere wie mich kurz und einfach zu lesen. Vielen Dank für Ihre Klarstellung, Max.
Nasir Jafarzadeh
15

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

   sudo apt-get install qemu-kvm

    // type your password

   sudo chmod 777 -R /dev/kvm

und danach versuchen Sie, den Simulator auszuführen, es wird funktionieren


quelle
1
O Gott, nein. Siehe meine Kommentare oben.
andrzejwp
Überflüssige Installation von qemu-kvm, überflüssige Verwendung der rekursiven Option und überflüssige Festlegung der Berechtigung für Führungskräfte. Auch nicht dauerhaft über Neustarts und sogar während der Laufzeit von udev.
Maxschlepzig
13

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-group

groupadd -r kvm

Die Option -rerstellt eine Systemgruppe, dh mit einer GID <= 999 (siehe /etc/login.defs=>)SYS_GID_MAX )

Zweite:

Ändern Sie die Berechtigungen für /dev/kvm. Dies kann im Rahmen der qemu-kvmInstallation erfolgen, da eine der Abhängigkeiten die Installation ist qemu-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:

KERNEL=="kvm", GROUP="kvm", MODE="0660"

Wenn Sie also nur eine Datei /etc/udev/rules.d/60-qemu-permissions.rulesmit der obigen Zeile erstellen , sind Sie mit dem ersten Schritt fertig.

Dritte:

Fügen Sie der Gruppe Ihren Benutzernamen hinzu, indem Sie ausführen

usermod -a -G kvm <your_username>- Das -aist 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.

Gerd
quelle
10

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:

sudo chmod -R 777 /dev/kvm

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.

Cevin Ways
quelle
1
Das ist völlig falsch. Tu das niemals. Siehe meine Kommentare oben.
andrzejwp
1
@andrzejwp: Kommentare oben, WO?!
Dan Dascalescu
Rekursive Option ist überflüssig, Ausführungsberechtigungen sind überflüssig. Änderung nicht dauerhaft über Neustarts. Änderung während der udev-Laufzeit nicht stabil.
Maxschlepzig
9
sudo setfacl -m u:$USER:rwx /dev/kvm

Hat für mich gearbeitet.

Ritwik
quelle
2
Viel besser als alle chownBeispiele hier, aber ich würde das xaus den Berechtigungen weglassen .
Gerd
Änderungen sind beim Neustart nicht dauerhaft.
Maxschlepzig
5

Nur eine kleine Verbesserung gegenüber Jerrins Antwort auf die Behebung dieses Fehlers mit Ubuntu 18.04 durch Verwendung der $USERim Bash-Terminal verfügbaren Variablen. Sie können also die folgenden Befehle mit zwei Befehlen verwenden:

sudo apt install qemu-kvm

Fügen Sie den aktuellen Benutzer zur kvm-Gruppe hinzu

sudo adduser $USER kvm

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 .

Geben Sie hier die Bildbeschreibung ein

Ö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.

Geben Sie hier die Bildbeschreibung ein

Andrew Steinmetz
quelle
3

Dies funktionierte für mich unter Linux (x18). Ich hoffe, es funktioniert auch für Sie

sudo chown hp /dev/kvm
Varun Pradhan
quelle
2
Nein, das wird es nicht, und bitte tu das nicht.
andrzejwp
Änderungen bleiben beim Neustart nicht bestehen.
Maxschlepzig
3

Unter Ubuntu sehen die Berechtigungen von /dev/kvmnormalerweise folgendermaßen aus:

$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm

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:

  • Stellen Sie sicher, dass Ihr Benutzer Teil der kvm-Gruppe ist (erfordert nach der Änderung eine erneute Anmeldung Ihres Benutzers).
  • Erweitern Sie die Berechtigungen dieses Geräts so, dass Ihr Benutzer Zugriff hat (erfordert eine Änderung der udev-Daemon-Konfiguration).

Benutzer zur KVM-Gruppe hinzufügen

Überprüfen Sie, ob Ihr Benutzer bereits Teil der kvm-Gruppe ist, z.

$ id 
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)

Wenn dies nicht der Fall ist, fügen Sie es hinzu, z.

$ sudo usermod --append --groups kvm juser

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/kvmGeräts erweitern.

Beispiel:

echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \
    | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

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:

$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm

Großer Vorteil: Sie müssen sich nicht abmelden und erneut anmelden, damit diese Änderung wirksam wird.

Nicht-Lösungen

  • Aufrufen chmodund chowndirekt einschalten /dev/kvm- 1) Diese Änderungen bleiben beim Neustart nicht bestehen und 2) da die /dev/kvmBerechtigungen vom udev-Daemon gesteuert werden, kann er seine Berechtigungen jederzeit "reparieren", z. B. nach jedem Emulatorlauf
  • Hinzufügen ausführbarer Berechtigungen zu /dev/kvm - Ihr Emulator benötigt lediglich Lese- und Schreibberechtigungen
  • Das rekursive Ändern von Berechtigungen für /dev/kvm- ich weiß nicht, was damit los ist - sieht nach Frachtkult aus
  • Wenn Sie zusätzliche Pakete wie qemu installieren - Sie haben Ihren Emulator bereits installiert - müssen Sie nur auf das /dev/kvmGerät zugreifen
maxschlepzig
quelle
1

Öffnen Sie das Terminal und melden Sie sich als Administrator an

sudo su

Gehen Sie zum Entwicklerordner

cd /dev/

Ändern Sie den KVM-Modus

chmod 777 -R kvm
Damindu Lakmal
quelle
Ich denke du meinst cd /devstatt Sudo.
JJJ
Ja, CD / Dev.
Damindu Lakmal
1
Das funktioniert. Dies muss jedoch jedes Mal erfolgen, wenn der Computer neu gestartet wird.
Lanil Marasinghe
Warum rufst du chmodan -R? Das rekursive Ändern der Berechtigungen für eine einzelne Gerätedatei /dev/kvmist nicht besonders nützlich. Außerdem sind Ausführungsberechtigungen auf diesem Gerät überflüssig. Schließlich kann udev die /dev/kvmBerechtigungen nach jedem Lauf neu anpassen . Daher ist diese Methode nicht sehr effektiv.
Maxschlepzig
0

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

sudo adduser <Replace with username> kvm

und natürlich vergessen Sie nicht, Ihre Ubuntu-Instanz neu zu starten.

Vineet Jain
quelle
6
Ist Abmelden / Anmelden nicht genug?
user1053510
0

Was es für mich unter Ubuntu 18.04 endgültig behoben hat, war:

sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
James Hooper
quelle
Wie unterscheidet sich Ihre Antwort von der Antwort von Mehedi Abdullah ?
Maxschlepzig
-1

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.

Prashant Sharma
quelle
1
Dies ändert nichts an dem ursprünglichen Problem mit /dev/kvm-permissions.
Gerd
-1

Terminal eingeben:

sudo apt install qemu-kvm -y
sudo chown $USER /dev/kvm
John Deer
quelle
-1

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:

& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager    

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.

$ ip a     

Bestimmen Sie den Namen der Netzwerkschnittstelle

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:

$ code /etc/network/interfaces     

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:

auto br0    

Fügen Sie unterhalb dieser Zeile die folgende Zeile für Ihre aktuelle Netzwerkschnittstelle hinzu (diejenige, deren Namen Sie zuvor festgelegt haben).

iface enp2s0 inet manual

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.

iface br0 inet dhcp
      bridge_ports enp2s0

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):

Konfigurationsdatei für Netzwerkschnittstellen

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):

$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm

Wenn Sie fertig sind, sollten Sie Ihr System neu starten, um sicherzustellen, dass alle Änderungen an Ihrer Benutzer- und Netzwerkkonfiguration wirksam werden.

Snishalaka
quelle
Downvote: In diesem Thread geht es nicht darum, KVM zum Laufen zu bringen. Es geht nur darum, beim Starten des mit Andoid Studio gepackten Emulators die Meldung "Berechtigung verweigert" wegzulassen. Keine Notwendigkeit für libvirtund keine Notwendigkeit für die Konfiguration von Schnittstellen ...
Gerd
Ich bin zwar noch sehr neu in der Android-Entwicklung, aber ich wette, dass sie die meisten dieser Schritte für Sie erledigt. Sie werden jedoch aufgefordert, viele der gleichen Pakete zu installieren . (Die Erwartung, dass jeder Android-Entwickler eine Bridge ordnungsgemäß einrichtet, befindet sich etwas im linken Feld, sogar auf Linux- Android-Entwickler beschränkt.)
jpaugh
-1

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.

sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm 

Jetzt können Sie Android Studio neu starten und mit dem Emulator eine Anwendung erstellen.

Mehedi Abdullah
quelle
-4

Das Ausführen des folgenden Befehls in Ubuntu 18.04 funktionierte für mich sudo chown -R / dev / kvm

mtoto_dev
quelle
1
Erstens: Ändern Sie niemals den Besitz von Systemdateien --- Zweitens: Da /dev/kvmeine Datei -Rkeine Auswirkungen hat --- Drittens: chownBenötigt ein new ownerArgument --- Viertens: Nach dem Neustart müssen Sie dies immer wieder tun.
Gerd
-9

Wenn Sie Ihre Idee mit sudo öffnen. Sie werden dieses Problem nicht haben.

Merve Sims
quelle
7
Warum um alles in der Welt brauche ich Sudo-Berechtigungen, um eine Android-App zu entwickeln?
Techcraver
1
Nochmals betonen: Das darf man nie tun. Schauen Sie sich auch gksu und gksudo an, um GUI-Apps als root auszuführen.
Manish Raj