Odpowiedzi:
Jak wspomniano w komentarzach, począwszy od Ubuntu 18.04 i Linux Mint Tara , musisz najpierw sudo apt install qemu-kvm
.
Aby sprawdzić własność /dev/kvm
użytkowania
ls -al /dev/kvm
Użytkownik był root
grupą kvm
. Aby sprawdzić, którzy użytkownicy są w kvm
grupie, użyj
grep kvm /etc/group
To wróciło
kvm:x:some_number:
w moim systemie: ponieważ nie ma nic sprawiedliwego w finale :
, w kvm
grupie nie ma użytkowników .
Aby dodać użytkownika do grupy kvm , możesz użyć
sudo adduser $USER kvm
który dodaje użytkownika do grupy i ponownie sprawdza za pomocą grep kvm /etc/group
.
Jak wspomniano w @marcolz, polecenie newgrp kvm
powinno zmienić dla Ciebie członkostwo grupy na żywo. Jeśli to nie zadziałało, @Knossos wspomniał, że możesz się wylogować i ponownie zalogować (lub uruchomić ponownie), aby uprawnienia zaczęły obowiązywać. Lub wykonaj jak wspomniano @nmirceac i ponownie zaloguj się w tej samej powłoce za pośrednictwem su - $USER
.
root
i grupa była root
. Czy powinniśmy zmienić jego grupę?
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Tak mam go uruchomić w Ubuntu 18.04
sudo apt install qemu-kvm
Dodaj użytkownika do grupy kvm, używając:
sudo adduser <Replace with username> kvm
Jeśli nadal wyświetla się odmowa dostępu :
sudo chown <Replace with username> /dev/kvm
Spróbuj.
/dev/kvm/
folderu. zamiast tego należy dodać użytkownika do kvm
grupy, jak w tej odpowiedzi: stackoverflow.com/a/45749003/1213934
Spróbuj, to zadziałało dla mnie:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
chown
- dodaj swoją nazwę użytkownika do odpowiednich grup - kvm lub libvirt. Zobacz dokumentację dla [ help.ubuntu.com/community/KVM/Installation](Ubuntu) .
–
sufiksem? To z pewnością powoduje błąd.
Czy próbowałeś również wykonać następujące czynności, powinno działać:
sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
chmod o+x
jest całkowicie bezużyteczne. Pierwsze polecenie sprawia, że działa - ale zobacz moje inne komentarze w dół, dlaczego jest to zły pomysł.
/dev/kvm
. Nie chodzi tylko o to, że nie będzie się utrzymywać między restartami / aktualizacjami systemu. Wymusza również silną modyfikację ustawień systemu. Nie zbliżaj się.
Jest tak, ponieważ /dev/kvm
nie jest dostępny. Aby to zrobić było dostępne w Android Studio, uruchom poniższe polecenie
sudo chmod 777 -R /dev/kvm
Poprosi o twoje hasło. Następnie uruchom ponownie Android Studio.
KVM
jest wymagany do emulatora rumu. Jeśli jeszcze go nie zainstalowałeś, zainstaluj go
sudo apt install qemu-kvm
-R
) zmieniasz uprawnienia do jednego pliku urządzenia? Ponadto uprawnienia do wykonywania są zbędne. Wreszcie, udev może dostosować uprawnienia po każdym uruchomieniu emulatora.
sudo chown $USER /dev/kvm
Po prostu uruchomienie tego polecenia działało dla mnie tutaj we wrześniu 2019 roku:
Opis: Ubuntu 18.04.3
Wydanie LTS: 18.04
Nazwa kodowa: bionic
/dev/kvm
trakcie działania.
Używam Ubuntu 18.04. Miałem ten sam problem. Uruchomiłem tę komendę w terminalu i problem został rozwiązany.
sudo chown $USER /dev/kvm
powyższe polecenie dotyczy wszystkich użytkowników obecnych w systemie.
Jeśli chcesz dać dostęp tylko określonemu użytkownikowi, uruchom to polecenie
sudo chown UserNameHere /dev/kvm
To jest wersja krótka od Gerd odpowiedź
sudo groupadd -r kvm
sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules
Dodaj następujący wiersz do otwartego pliku i zapisz go
KERNEL == „kvm”, GROUP = „kvm”, MODE = „0660”
Wreszcie uruchom:
sudo usermod -a -G kvm <your_username>
Uruchom ponownie komputer i gotowe!
/lib/udev/rules.d
. Udev ma mechanizm nakładania, w którym umieszczona konfiguracja /etc/udev/rules.d
ma pierwszeństwo przed dostępną pod /lib/udev/rules.d
.
Rozwiązałem ten sam problem i aby go rozwiązać, po prostu wpisz następujące polecenia w terminalu dla klientów Linux
sudo apt-get install qemu-kvm
// type your password
sudo chmod 777 -R /dev/kvm
a potem spróbuj uruchomić symulator, to zadziała
Absolutnie nie ma potrzeby instalowania qemu-kvm
(i wszystkich jego zależności), jeśli chcesz uruchomić tylko emulator Android Studio.
Jedyne, co musisz zrobić, to dać swojemu użytkownikowi (tj. Logującemu się) prawo dostępu do niego /dev/kvm
.
Odbywa się to w trzech prostych krokach.
Pierwszy:Tworzenie kvm
-GROUP
groupadd -r kvm
Opcja -r
tworzy grupę systemową, tj. Z GID <= 999 (patrz /etc/login.defs
=>)SYS_GID_MAX
)
Zmień uprawnienia na /dev/kvm
. Można to zrobić w ramach instalacji qemu-kvm
, ponieważ instaluje się jedną z zależności qemu-system-common
(w obecnych systemach Ubuntu nazwa pakietu może się różnić), co z kolei instaluje plik /lib/udev/rules.d/60-qemu-system-common.rules
zawierający następujące elementy:
KERNEL=="kvm", GROUP="kvm", MODE="0660"
Więc jeśli właśnie tworzysz plik /etc/udev/rules.d/60-qemu-permissions.rules
zawierający powyższą linię, to koniec pierwszego kroku.
Dodaj swoją nazwę użytkownika do grupy, wykonując
usermod -a -G kvm <your_username>
- -a
jest ważne przy dodawaniu użytkownika do grupy kvm. Bez tego zastąpisz ustawienia grupy dla użytkownika, który należy tylko do „kvm” ...
Otóż to.
Aby nowa reguła udev i ustawienie grupy zaczęły obowiązywać, najłatwiej jest ponownie uruchomić komputer i zalogować się ponownie.
Możesz także wykonać
udevadm control --reload-rules && udevadm trigger
za ponowne załadowanie reguł, ale nadal musisz się wylogować i zalogować ponownie w odniesieniu do nowej grupy.
Używam Debiana z Linuksem i patrzę w ten sam sposób. W moim AVD pokazuje mi komunikat „Odmowa zezwolenia / dev / kvm” i próbowałem znaleźć rozwiązanie, to co robię, aby to rozwiązać, w terminalu wpisz to:
sudo chmod -R 777 /dev/kvm
przyzna dostęp do folderu / dev / kvm, a następnie sprawdzi ponownie AVD , komunikat o błędzie zniknie, mam nadzieję, że pomoże.
sudo setfacl -m u:$USER:rwx /dev/kvm
Pracował dla mnie.
chown
przykłady tutaj, ale pominąłbym x
uprawnienia.
Tylko jedna drobna poprawa w odpowiedzi Jerrina na naprawienie tego błędu w Ubuntu 18.04 poprzez wykorzystanie $USER
zmiennej dostępnej w terminalu bash. Więc możesz użyć następujących poleceń dwa polecenia:
sudo apt install qemu-kvm
Dodaj bieżącego użytkownika do grupy kvm
sudo adduser $USER kvm
Również jeśli nadal masz problemy, jednym z problemów był sposób, w jaki zainstalowałem Ubuntu. Popełniłem błąd, zaznaczając pole podczas instalacji, aby zainstalować oprogramowanie innej firmy, które nie działało ładnie z moją kartą graficzną NVIDIA do programowania. Ponownie zainstalowałem Ubuntu z niezaznaczonym oprogramowaniem innych firm .
Następnie po instalacji otwórz Oprogramowanie i aktualizacje i przejdź do karty Dodatkowe sterowniki. Wybierz najbardziej aktualne zastrzeżone sterowniki, które również zostały przetestowane i zastosuj zmiany. Powinien ponownie uruchomić komputer, aby zmiany odniosły skutek.
To działało dla mnie w systemie Linux (x18) ☑ Mam nadzieję, że to zadziała również dla ciebie
sudo chown hp /dev/kvm
W systemie Ubuntu uprawnienia /dev/kvm
zwykle wyglądają tak:
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm
Użytkownik korzystający z emulatora Androida (tj. Użytkownik) musi uzyskać dostęp do tego urządzenia.
Tak więc istnieją zasadniczo 2 sposoby uzyskania dostępu:
Sprawdź, czy użytkownik jest już częścią grupy kvm, np .:
$ id
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)
Jeśli nie, to dodaj go np .:
$ sudo usermod --append --groups kvm juser
Po tej zmianie musisz się wylogować i zalogować ponownie, aby zmiana grupy była skuteczna (sprawdź ponownie za pomocą id
).
Alternatywnie możesz po prostu rozszerzyć uprawnienia /dev/kvm
urządzenia.
Przykład:
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, jest to ustawienie domyślne w innych dystrybucjach, takich jak Fedora i CentOS.
Sprawdź skuteczność powyższych poleceń za pomocą innego ls
. Powinieneś zobaczyć również podobny wynik:
$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm
Duża zaleta: nie trzeba się wylogowywać i logować ponownie, aby zmiana była skuteczna.
chmod
i chown
bezpośrednio /dev/kvm
- 1) zmiany te nie są trwałe po ponownym uruchomieniu komputera i 2) ponieważ /dev/kvm
uprawnienia są kontrolowane przez demona udev, może „naprawić” swoje uprawnienia w dowolnym momencie, np. po każdym uruchomieniu emulatora/dev/kvm
- emulator wymaga jedynie odczytu i zapisu/dev/kvm
- nie wiem, o co chodzi - wygląda na kult ładunku/dev/kvm
urządzeniaOtwórz terminal i zaloguj się jako administrator
sudo su
Przejdź do folderu deweloperów
cd /dev/
Zmień tryb kvm
chmod 777 -R kvm
cd /dev
zamiast sudo.
chmod
się -R
? Rekurencyjna zmiana uprawnień do pliku pojedynczego urządzenia /dev/kvm
nie wydaje się zbyt przydatna. Ponadto uprawnienia do wykonywania są zbędne na tym urządzeniu. Wreszcie udev może ponownie dostosować /dev/kvm
uprawnienia po każdym uruchomieniu. Dlatego ta metoda nie jest bardzo skuteczna.
Byłem w podobnej sytuacji z tym samym błędem uprawnień na / dev / kvm. Wykonałem niezbędne instalacje, ale nie dodałem użytkownika do grupy kvm. Musiałem tylko
sudo adduser <Replace with username> kvm
i oczywiście NIE zapomnij zrestartować instancji Ubuntu.
Ostatecznie naprawiłem to dla Ubuntu 18.04:
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Otrzymałem ten błąd po aktualizacji mojego Ubuntu do 18.04.1. Właśnie pobrałem nowy obraz systemu dla emulatora lub możesz powiedzieć, że pobrałem nowy emulator i to działa dla mnie.
/dev/kvm
uprawnieniami.
Chociaż KVM jest modułem wbudowanym w samo jądro Linuksa, nie oznacza to, że wszystkie niezbędne pakiety są domyślnie zawarte w instalacji Ubuntu / Linux. Będziesz potrzebował kilku, aby rozpocząć, a można je zainstalować za pomocą tego polecenia w terminalu:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
Skonfiguruj most sieciowy
Aby Twoje maszyny wirtualne miały dostęp do interfejsu sieciowego i miały przypisane własne adresy IP, musimy skonfigurować mostkowanie sieci w naszym systemie.
Najpierw uruchom następującą komendę Linux, aby dowiedzieć się, jaką nazwę ma przypisany interfejs sieciowy. Wiedząc o tym, możemy później dokonać dodatkowej konfiguracji.
$ ip a
W moim przypadku wywoływany jest interfejs sieciowy enp2s0
. Twoja prawdopodobnie będzie bardzo podobnie nazywana.
Aby poinformować Ubuntu, że chcemy, aby nasze połączenie było mostkowane, musimy edytować plik konfiguracyjny interfejsów sieciowych. Zrobienie tego nie wpłynie negatywnie na twoje połączenie. Umożliwi to udostępnienie tego połączenia maszynom wirtualnym.
Użyj code
(Visual Studio Code) lub ulubionego edytora tekstu, aby otworzyć następujący plik:
$ code /etc/network/interfaces
Po pierwszym otwarciu ten plik może być pusty lub zawierać tylko kilka wierszy. Wywoływany jest interfejs mostka br0
, więc dodaj następujący wiersz, aby interfejs pojawił się domyślnie:
auto br0
Poniżej tego wiersza dodaj następujący wiersz dla bieżącego interfejsu sieciowego (tego, który nazwał cię wcześniej).
iface enp2s0 inet manual
Następnie możesz dodać informacje o pomoście. Linie te informują Ubuntu, że twój most będzie używał DHCP do automatycznego przypisywania adresu IP, a twój most będzie zarządzał twoim bieżącym interfejsem.
iface br0 inet dhcp
bridge_ports enp2s0
Tak powinien wyglądać twój plik po zastosowaniu wszystkich zmian (jeśli masz też kilka linii, które już tam były, dobrze też je mieć):
Zapisz zmiany i zamknij plik.
Dodaj użytkownika do grup
Aby zarządzać maszynami wirtualnymi bez uprawnień administratora, użytkownik musi należeć do dwóch grup użytkowników. Uruchom następujące polecenia, aby dodać użytkownika do odpowiednich grup (zastępując użytkownika 1 nazwą użytkownika):
$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm
Po zakończeniu należy ponownie uruchomić system, aby mieć pewność, że wszystkie zmiany wprowadzone w konfiguracji użytkownika i sieci będą miały zastosowanie.
libvirt
ma potrzeby konfigurowania interfejsów ...
Aby utworzyć urządzenie wirtualne w systemie Linux - muszę wykonać tę trzy komendę i pomaga mi to uniknąć problemów z budowaniem urządzeń AVD - proces polega na -
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
więc teraz możesz zacząć, ponownie uruchomić studio Android i rozpocząć tworzenie aplikacji za pomocą emulatora.
Podaj odpowiednie uprawnienia za pomocą tego polecenia
sudo chmod 777 -R /dev/kvm
Uruchomienie poniższego polecenia w Ubuntu 18.04 działało dla mnie sudo chown -R / dev / kvm
/dev/kvm
plik -R
nie ma żadnego efektu --- Po trzecie: chown
wymaga new owner
argumentu --- Po czwarte: Po ponownym uruchomieniu musisz to robić raz za razem.
Jeśli otworzysz swój ide za pomocą sudo. Nie będziesz mieć tego problemu.
qemu-kvm
i dodaniu mojego użytkownika do grupykvm
nie działało. Ale stało się to po ponownym uruchomieniu komputera (Ubuntu 18.04).