Risposte:
Come accennato nei commenti, a partire da Ubuntu 18.04 e Linux Mint Tara devi prima sudo apt install qemu-kvm
.
Per verificare la proprietà /dev/kvm
dell'uso
ls -al /dev/kvm
L'utente era root
, il gruppo kvm
. Per verificare quali utenti sono nel kvm
gruppo, utilizzare
grep kvm /etc/group
Questo è tornato
kvm:x:some_number:
sul mio sistema: poiché non c'è nulla a destra della finale :
, non ci sono utenti nel kvm
gruppo.
Per aggiungere il tuo utente al gruppo kvm , puoi usare
sudo adduser $USER kvm
che aggiunge l'utente al gruppo e controlla ancora con grep kvm /etc/group
.
Come menzionato da @marcolz, il comando newgrp kvm
dovrebbe cambiare l'appartenenza al gruppo dal vivo per te. Se ciò non ha funzionato, @Knossos ha affermato che potresti voler disconnetterti e riconnetterti (o riavviare), affinché le autorizzazioni abbiano effetto. Oppure fai come @nmirceac menzionato e accedi nuovamente nella stessa shell tramite su - $USER
.
root
e il gruppo lo fosse root
. Dovremmo cambiare il suo gruppo?
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
È così che l'ho fatto funzionare in Ubuntu 18.04
sudo apt install qemu-kvm
Aggiungi il tuo utente al gruppo kvm usando:
sudo adduser <Replace with username> kvm
Se mostra ancora l' autorizzazione negata :
sudo chown <Replace with username> /dev/kvm
Provalo.
/dev/kvm/
cartella. dovresti invece aggiungere l'utente al kvm
gruppo come in questa risposta: stackoverflow.com/a/45749003/1213934
Prova questo, ha funzionato per me:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
chown
- aggiungi il tuo nome utente ai gruppi appropriati - kvm o libvirt. Vedere la documentazione per [ help.ubuntu.com/community/KVM/Installazioneation_n_(Ubuntu) .
–
suffisso? Questo sicuramente produce un errore.
Hai anche provato a seguire, dovrebbe funzionare:
sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
chmod o+x
è completamente inutile. Il primo comando lo fa funzionare, ma vedi i miei altri commenti in fondo perché questa è una cattiva idea.
/dev/kvm
. Non è solo che non persisterà tra riavvi / aggiornamenti di sistema. Modifica anche con forza le impostazioni di sistema. Stai lontano.
Questo è perché /dev/kvm
non è accessibile. Per rendere accessibile da Android Studio eseguire il comando seguente
sudo chmod 777 -R /dev/kvm
Chiederà la tua password. Successivamente riavvia Android Studio.
KVM
è richiesto per l'emulatore di rum. Se non lo hai ancora installato, installalo
sudo apt install qemu-kvm
-R
) modifichi le autorizzazioni su un singolo file del dispositivo? Inoltre, le autorizzazioni di esecuzione sono superflue. Infine, udev può regolare le autorizzazioni dopo l'avvio di ciascun emulatore.
sudo chown $USER /dev/kvm
Eseguendo semplicemente quel comando ha funzionato per me qui a settembre 2019 in esecuzione:
Descrizione: Ubuntu 18.04.3
Rilascio LTS: 18.04
Nome in codice: bionico
/dev/kvm
durante il suo runtime.
Sto usando Ubuntu 18.04. Stavo affrontando lo stesso problema. Eseguo questo comando nel terminale e il problema è stato risolto.
sudo chown $USER /dev/kvm
il comando sopra è per tutti gli utenti presenti nel tuo sistema.
Se si desidera consentire l'accesso solo a un utente specifico, eseguire questo comando
sudo chown UserNameHere /dev/kvm
Questa è una breve versione della risposta di Gerd
sudo groupadd -r kvm
sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules
Aggiungi la seguente riga al file aperto e salvalo
KERNEL == "kvm", GROUP = "kvm", MODE = "0660"
Esegui infine:
sudo usermod -a -G kvm <your_username>
Riavvia il PC e Fine!
/lib/udev/rules.d
. Udev ha un meccanismo di sovrapposizione in cui la configurazione inserita /etc/udev/rules.d
ha la priorità su una disponibile sotto /lib/udev/rules.d
.
Ho contrastato lo stesso problema e per risolvere questo problema basta digitare i seguenti comandi nel terminale per i client Linux
sudo apt-get install qemu-kvm
// type your password
sudo chmod 777 -R /dev/kvm
e dopo provare a eseguire il simulatore funzionerà
Non è assolutamente necessario installare qemu-kvm
(e tutte le sue dipendenze) se si desidera eseguire solo l'emulatore Android Studio.
L'unica cosa che devi fare è dare al tuo utente (cioè quello con cui hai effettuato l'accesso) il diritto di accedere al /dev/kvm
dispositivo.
Questo viene fatto in tre semplici passaggi.
Primo:Crea il kvm
gruppo
groupadd -r kvm
L'opzione -r
crea un gruppo di sistema, ovvero con un GID <= 999 (vedi /etc/login.defs
=> SYS_GID_MAX
)
Modifica autorizzazioni su /dev/kvm
. Questo potrebbe essere fatto come parte dell'installazione qemu-kvm
, poiché sta installando una delle dipendenze qemu-system-common
(sugli attuali sistemi Ubuntu, il nome del pacchetto può variare), che a sua volta installa il file /lib/udev/rules.d/60-qemu-system-common.rules
contenente quanto segue:
KERNEL=="kvm", GROUP="kvm", MODE="0660"
Quindi, se stai semplicemente creando un file /etc/udev/rules.d/60-qemu-permissions.rules
contenente la riga sopra, hai finito con il primo passo.
Aggiungi il tuo nome utente al gruppo eseguendo
usermod -a -G kvm <your_username>
- -a
è importante per aggiungere il tuo utente al gruppo kvm. Senza questo, sovrascriverai le impostazioni di gruppo per il tuo utente affinché appartengano solo a "kvm" ...
Questo è tutto.
Per rendere effettive le nuove regole udev e le impostazioni di gruppo è più semplice riavviare e accedere nuovamente.
Puoi anche eseguire
udevadm control --reload-rules && udevadm trigger
per ricaricare le regole ma è necessario disconnettersi e accedere nuovamente per quanto riguarda il nuovo gruppo.
Sto usando Linux debian e sto affrontando allo stesso modo. Nel mio AVD che mi mostra un messaggio "/ dev / kvm permesso negato" e ho provato a trovare la soluzione, allora quello che faccio per risolverlo è, nel terminale digitare questo:
sudo chmod -R 777 /dev/kvm
garantirà un accesso per la cartella / dev / kvm, quindi ricontrollerà sul tuo AVD , il messaggio di errore scomparirà, spero che ti sia d'aiuto.
sudo setfacl -m u:$USER:rwx /dev/kvm
Ha funzionato per me.
chown
esempi qui, ma ometterei x
le autorizzazioni.
Solo un leggero miglioramento sulla risposta di Jerrin sulla correzione di questo errore con Ubuntu 18.04 utilizzando la $USER
variabile disponibile nel terminale bash. Quindi è possibile utilizzare i seguenti comandi due comandi:
sudo apt install qemu-kvm
Aggiungi l'utente corrente al gruppo kvm
sudo adduser $USER kvm
Inoltre, se i problemi persistono, un altro problema per me è stato il modo in cui ho installato Ubuntu. Ho fatto l'errore di selezionare la casella durante l'installazione per l'installazione di software di terze parti che non funzionava bene con la mia scheda grafica NVIDIA per lo sviluppo. Quindi ho reinstallato Ubuntu con questo software di terze parti deselezionato .
Quindi, dopo l'installazione, apri Software e aggiornamenti e vai alla scheda Driver aggiuntivi. Seleziona i driver proprietari più aggiornati che sono stati testati e applica le modifiche. Dovrebbe riavviare la macchina affinché le modifiche abbiano effetto.
Questo ha funzionato per me su Linux (x18) ☑ Spero che funzionerà anche per te
sudo chown hp /dev/kvm
Sotto Ubuntu, le autorizzazioni di /dev/kvm
solito sembrano così:
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm
L'utente che esegue l'emulatore Android (ovvero il tuo utente) deve accedere a questo dispositivo.
Quindi, ci sono sostanzialmente 2 modi per ottenere l'accesso:
Controlla se il tuo utente fa già parte del gruppo kvm, ad esempio:
$ id
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)
Se non è che aggiungerlo con ad esempio:
$ sudo usermod --append --groups kvm juser
Dopo tale modifica, è necessario disconnettersi e accedere nuovamente per rendere effettiva la modifica del gruppo (verificare di nuovo con id
).
In alternativa, puoi semplicemente ampliare le autorizzazioni del /dev/kvm
dispositivo.
Esempio:
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, questo è il valore predefinito su altre distribuzioni come Fedora e CentOS.
Verificare l'efficacia dei comandi sopra con un altro ls
. Dovresti vedere anche un output simile:
$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm
Grande vantaggio: non è necessario disconnettersi e accedere nuovamente per rendere effettiva questa modifica.
chmod
e chown
direttamente su /dev/kvm
- 1) queste modifiche non sono persistenti al riavvio e 2) da allora/dev/kvm
autorizzazioni sono controllate dal demone udev, può "riparare" le sue autorizzazioni in qualsiasi momento, ad esempio dopo l'esecuzione di ciascun emulatore/dev/kvm
: l'emulatore richiede solo autorizzazioni di lettura e scrittura/dev/kvm
- non so cosa succede - sembra un culto del carico/dev/kvm
dispositivoApri Terminale e accedi come amministratore
sudo su
Vai alla cartella dev
cd /dev/
Cambia la modalità kvm
chmod 777 -R kvm
cd /dev
invece di sudo.
chmod
con -R
? La modifica ricorsiva delle autorizzazioni su un singolo file del dispositivo /dev/kvm
non sembra troppo utile. Inoltre, le autorizzazioni di esecuzione sono superflue su quel dispositivo. Infine, udev può regolare nuovamente le /dev/kvm
autorizzazioni dopo ogni esecuzione. Pertanto, questo metodo non è molto efficace.
Mi trovavo in una situazione simile con lo stesso errore delle autorizzazioni su / dev / kvm, avevo eseguito le installazioni necessarie ma non ho aggiunto l'utente al gruppo kvm Tutto quello che dovevo fare era
sudo adduser <Replace with username> kvm
e ovviamente NON dimenticare di riavviare l'istanza di Ubuntu.
Ciò che finalmente risolto per me su Ubuntu 18.04 era:
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Ho ricevuto questo errore dopo aver aggiornato Ubuntu a 18.04.1. Scarico semplicemente la nuova immagine di sistema per l'emulatore oppure puoi dire che scarica il nuovo emulatore e funziona per me.
/dev/kvm
-permissions.
Sebbene KVM sia un modulo integrato nel kernel Linux stesso, ciò non significa che tutti i pacchetti necessari siano inclusi nell'installazione Ubuntu / Linux per impostazione predefinita. Ne avrai bisogno di alcuni per iniziare e possono essere installati con questo comando nel terminale:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
Configurare il bridge di rete
Affinché le tue macchine virtuali possano accedere alla tua interfaccia di rete e ricevere i propri indirizzi IP, dobbiamo configurare reti collegate sul nostro sistema.
Innanzitutto, esegui il seguente comando Linux per scoprire quale nome è stato assegnato alla tua interfaccia di rete. Sapendo questo ci permetterà di effettuare ulteriori configurazioni in un secondo momento.
$ ip a
Nel mio caso, viene chiamata l'interfaccia di rete enp2s0
. Probabilmente il tuo nome sarà molto simile.
Per dire a Ubuntu che vogliamo collegare la nostra connessione, dovremo modificare il file di configurazione delle interfacce di rete. Ciò non avrà alcun impatto negativo sulla tua connessione. Permetterà solo che tale connessione sia condivisa con le macchine virtuali.
Usa code
(Visual Studio Code) o il tuo editor di testo preferito per aprire il seguente file:
$ code /etc/network/interfaces
Quando si apre questo file per la prima volta, potrebbe essere vuoto o contenere solo un paio di righe. La tua interfaccia bridge viene chiamata br0
, quindi aggiungi la seguente riga affinché l'interfaccia venga visualizzata per impostazione predefinita:
auto br0
Sotto questa riga, aggiungi la seguente riga per la tua attuale interfaccia di rete (quella che hai nominato precedentemente definito).
iface enp2s0 inet manual
Successivamente, è possibile aggiungere le informazioni sul bridge. Queste linee indicano a Ubuntu che il bridge utilizzerà DHCP per l'assegnazione automatica dell'indirizzo IP e che il bridge gestirà l'interfaccia corrente.
iface br0 inet dhcp
bridge_ports enp2s0
Ecco come dovrebbe apparire il tuo file una volta applicate tutte le modifiche (se hai anche un paio di righe che erano già lì, va bene averle anche tu):
Salvare le modifiche e uscire dal file.
Aggiungi il tuo utente ai gruppi
Per gestire le macchine virtuali senza i privilegi di root, l'utente dovrà appartenere a due gruppi di utenti. Eseguire i comandi seguenti per aggiungere l'utente ai gruppi appropriati (sostituendo l'utente1 con il nome dell'utente):
$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm
Al termine, è necessario riavviare il sistema per assicurarsi che tutte le modifiche apportate all'utente e alla configurazione di rete abbiano la possibilità di entrare in vigore.
libvirt
e non è necessario configurare interfacce ...
Per creare un dispositivo virtuale in Linux - Devo seguire questi tre comandi e mi aiuta a evitare problemi per la creazione di dispositivi avd - il processo è -
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
quindi, ora sei a posto, riavvia Android Studio e inizia a creare un'applicazione con l'emulatore.
Fornire le autorizzazioni appropriate con questo comando
sudo chmod 777 -R /dev/kvm
Eseguire il comando seguente in Ubuntu 18.04 ha funzionato per me sudo chown -R / dev / kvm
/dev/kvm
è un file -R
non ha alcun effetto --- Terzo: ha chown
bisogno di un new owner
argomento --- Quarto: dopo il riavvio devi farlo ancora e ancora.
Se apri il tuo ide con sudo. Non avrai questo problema.
qemu-kvm
e aggiungere il mio utente al gruppokvm
non ha funzionato. Ma lo ha fatto dopo il riavvio del computer (Ubuntu 18.04).