Відповіді:
Як згадувалося в коментарях, починаючи з Ubuntu 18.04 та Linux Mint Tara , потрібно спочатку sudo apt install qemu-kvm
.
Щоб перевірити право власності на /dev/kvm
користування
ls -al /dev/kvm
Користувачем була root
, група kvm
. Щоб перевірити, які користувачі в kvm
групі, використовуйте
grep kvm /etc/group
Це повернулося
kvm:x:some_number:
в моїй системі: як немає нічого прямо на фіналі :
, немає користувачів у kvm
групі.
Щоб додати свого користувача до групи kvm , ви можете використовувати
sudo adduser $USER kvm
що додає користувача до групи, і ще раз перевірити за допомогою grep kvm /etc/group
.
Як згадував @marcolz, команда newgrp kvm
повинна змінити членство в групі наживо для вас. Якщо це не вийшло, @Knossos згадав, що ви можете вийти з системи та знову увійти (або перезапустити), щоб дозволи набули чинності. Або зробіть, як згадується @nmirceac, і повторно ввійдіть у ту саму оболонку через su - $USER
.
root
а група була root
. Чи слід змінювати її групу?
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Ось так я змусив його працювати в Ubuntu 18.04
sudo apt install qemu-kvm
Додайте свого користувача до групи kvm, використовуючи:
sudo adduser <Replace with username> kvm
Якщо досі відображається дозвіл відмовлено :
sudo chown <Replace with username> /dev/kvm
Спробуй це.
/dev/kvm/
папку. замість цього ви повинні додати користувача в kvm
групу , як в цій відповіді: stackoverflow.com/a/45749003/1213934
Спробуйте це, для мене це спрацювало:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
chown
- додайте своє ім’я користувача до відповідних груп - kvm або libvirt. Дивіться документацію для [ help.ubuntu.com/community/KVM/InstallationSense(Ubuntu) .
–
суфіксом? Це, безумовно, призводить до помилки.
Ви також спробували наступне, воно повинно працювати:
sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
chmod o+x
абсолютно марний. Перша команда змушує її працювати, але дивіться інші мої коментарі, як це погана ідея.
/dev/kvm
. Це не просто те, що він не збережеться між перезавантаженнями / оновленнями системи. Він також сильно змінює параметри системи. Тримайся подалі.
Це тому, що /dev/kvm
це недоступно. Щоб зробити доступним з андроїд-студії, запустіть команду нижче
sudo chmod 777 -R /dev/kvm
Він запитає ваш пароль. Після цього перезавантажте Android Studio.
KVM
необхідний для емулятора рому. Якщо ви ще не встановили його, тоді встановіть його
sudo apt install qemu-kvm
-R
) змінюєте дозволи на одному файлі пристрою? Крім того, дозволи на виконання є зайвими. Нарешті, udev може коригувати дозволи після кожного запуску емулятора.
sudo chown $USER /dev/kvm
Просто запустивши, що одна команда працювала для мене тут у вересні 2019 року:
Опис: Ubuntu 18.04.3
Випуск LTS: 18.04
Кодове ім'я: біонічне
/dev/kvm
час його виконання.
Я використовую ubuntu 18.04. Я зіткнувся з тією ж проблемою. Я запускаю цю частину команди в терміналі і проблема вирішена.
sudo chown $USER /dev/kvm
вищевказана команда призначена для всіх користувачів, присутніх у вашій системі.
Якщо ви хочете надати доступ лише певному користувачеві, виконайте цю команду
sudo chown UserNameHere /dev/kvm
Це коротка версія Герда відповідь
sudo groupadd -r kvm
sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules
Додайте наступний рядок до відкритого файлу та збережіть його
KERNEL == "kvm", GROUP = "kvm", MODE = "0660"
Нарешті запустіть:
sudo usermod -a -G kvm <your_username>
Перезавантажте комп'ютер і готово!
/lib/udev/rules.d
. Udev має механізм накладання, де конфігурація, розміщена в, /etc/udev/rules.d
має пріоритет перед наявною в /lib/udev/rules.d
.
Я протистояв тій же проблемі, і щоб вирішити цю проблему, просто введіть наступні команди в термінал для клієнтів Linux
sudo apt-get install qemu-kvm
// type your password
sudo chmod 777 -R /dev/kvm
і після цього спробуйте запустити тренажер, він буде працювати
Немає необхідності встановлювати qemu-kvm
(і всі його залежності), якщо ви хочете запустити лише емулятор Android Studio.
Єдине, що вам потрібно зробити - це надати користувачеві (тобто тому, з яким ви ввійшли в систему) право на доступ до пристрою /dev/kvm
.
Це робиться в три простих кроки.
Спочатку:Створіть kvm
-групу
groupadd -r kvm
Параметр -r
створює системну групу, тобто з GID <= 999 (див. /etc/login.defs
=> SYS_GID_MAX
)
Змінити дозволи на /dev/kvm
. Це можна зробити як частину qemu-kvm
встановлення, оскільки одна із залежностей встановлюється qemu-system-common
(у поточних системах Ubuntu назва пакету може змінюватися), що, в свою чергу, встановлює файл, /lib/udev/rules.d/60-qemu-system-common.rules
що містить наступне:
KERNEL=="kvm", GROUP="kvm", MODE="0660"
Отже, якщо ви просто створили файл, /etc/udev/rules.d/60-qemu-permissions.rules
що містить вищевказаний рядок, ви закінчите з першим кроком.
Додайте своє ім’я користувача до групи, виконавши
usermod -a -G kvm <your_username>
- -a
важливо для додавання користувача до kvm-групи. Без цього ви будете перезаписати налаштування групи для вашого користувача, що належать лише до "kvm" ...
Це воно.
Щоб нові правила і налаштування групи набули чинності, найпростіше перезавантажити та увійти знову.
Ви також можете виконати
udevadm control --reload-rules && udevadm trigger
для перезавантаження правил, але вам все одно доведеться вийти з системи та увійти знову, стосовно нової групи.
Я використовую linux debian, і я стикаюсь так само. У своєму AVD показуючи мені повідомлення "/ dev / kvm дозволу відмовлено", і я намагався знайти рішення, то що я повинен вирішити, це в термінальному типі це:
sudo chmod -R 777 /dev/kvm
він надасть доступ до папки / dev / kvm, потім перевірте ще раз на вашому AVD , повідомлення про помилку зникне, сподіваюся, що це допоможе.
sudo setfacl -m u:$USER:rwx /dev/kvm
Працювали для мене.
chown
приклади тут, але я б опустив це x
з дозволів.
Лише одне незначне поліпшення відповіді Джеріна щодо виправлення цієї помилки за допомогою Ubuntu 18.04, використовуючи $USER
змінну, доступну в терміналі bash. Отже, ви можете використовувати наступні команди дві команди:
sudo apt install qemu-kvm
Додайте поточного користувача до групи kvm
sudo adduser $USER kvm
Крім того, якщо у вас все ще виникають проблеми, ще одна проблема для мене полягала в тому, як я встановив Ubuntu. Я зробив помилку, встановивши прапорець під час встановлення для встановлення стороннього програмного забезпечення, яке не грало добре з моєю відеокартою nvidia для розробки. Тож я перевстановив Ubuntu з цим програмним забезпеченням сторонньої сторони, що не було перевірено .
Потім після встановлення відкрийте Програмне забезпечення та оновлення та перейдіть на вкладку Додаткові драйвери. Виберіть найбільш сучасні фірмові драйвери, які також були протестовані, та застосуйте зміни. Потрібно перезапустити машину, щоб зміни вплинули.
Це працювало для мене на Linux (x18) ☑ Сподіваюся, що це буде працювати і для вас
sudo chown hp /dev/kvm
У Ubuntu дозволи /dev/kvm
зазвичай зазвичай виглядають так:
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm
Користувач, який працює з емулятором Android (тобто ваш користувач), повинен отримати доступ до цього пристрою.
Таким чином, є в основному два способи отримати доступ:
Перевірте, чи ваш користувач вже входить до групи kvm, наприклад:
$ id
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)
Якщо це не більше, ніж додати, наприклад:
$ sudo usermod --append --groups kvm juser
Після цієї зміни вам потрібно вийти з системи та знову увійти, щоб змінити групу ефективними (ще раз перевірити id
).
Крім того, ви можете просто розширити дозволи /dev/kvm
пристрою.
Приклад:
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, це за замовчуванням для інших дистрибутивів, таких як Fedora та CentOS.
Перевірте ефективність вищезазначених команд за допомогою іншої ls
. Ви також повинні побачити вихід подібний:
$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm
Велика перевага: Вам не потрібно виходити з системи та знову входити в систему, щоб ці зміни були ефективними.
chmod
і chown
безпосередньо ввімкнено /dev/kvm
- 1) ці зміни не є стійкими при перезавантаженнях і 2) оскільки /dev/kvm
дозволи контролюються демоном udev, він може "виправити" свої дозволи в будь-який час, наприклад, після кожного запуску емулятора/dev/kvm
- ваш емулятор вимагає дозволів читання та запису/dev/kvm
- я не знаю, що з цим - виглядає як вантажний культ/dev/kvm
пристроюВідкрийте термінал і увійдіть як адміністратор
sudo su
Перейдіть у папку dev
cd /dev/
Зміна режиму kvm
chmod 777 -R kvm
cd /dev
замість судо.
chmod
з -R
? Рекурсивна зміна дозволів на одному файлі пристрою /dev/kvm
не виглядає надто корисною. Крім того, дозволи на виконання на цьому пристрої зайві. Нарешті, udev може змінити /dev/kvm
дозволи після кожного запуску. Таким чином, цей метод не дуже ефективний.
Я опинився в подібній ситуації з однаковою помилкою дозволів на / dev / kvm, я зробив необхідні установки, але не додав користувача до групи kvm. Все, що мені потрібно було зробити, це
sudo adduser <Replace with username> kvm
і звичайно НЕ забудьте перезапустити ваш екземпляр Ubuntu.
Що остаточно виправило це для мене на Ubuntu 18.04:
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Я отримав цю помилку після оновлення мого ubuntu до 18.04.1. Я просто завантажую новий імідж системи для емулятора, або ви можете сказати, що завантажуйте новий емулятор, і він працює для мене.
/dev/kvm
-дозволами.
Введіть термінал:
sudo apt install qemu-kvm -y
sudo chown $USER /dev/kvm
Хоча KVM - це модуль, вбудований у саме ядро Linux, це не означає, що всі необхідні пакети включені у вашу установку Ubuntu / Linux за замовчуванням. Для початку вам знадобиться кілька, і їх можна встановити за допомогою цієї команди в терміналі:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
Налаштуйте мережевий міст
Для того, щоб ваші віртуальні машини могли отримати доступ до вашого мережевого інтерфейсу та призначити власні IP-адреси, нам потрібно налаштувати мостові мережі в нашій системі.
Спочатку запустіть таку команду Linux, щоб дізнатися, якому імені присвоєно ваш мережевий інтерфейс. Знаючи це, ми зможемо зробити додаткову конфігурацію пізніше.
$ ip a
У моєму випадку викликається мережевий інтерфейс enp2s0
. Ваш, швидше за все, буде названий так само.
Для того, щоб сказати Ubuntu, що ми хочемо з'єднати наше з'єднання, нам потрібно буде відредагувати файл конфігурації мережевих інтерфейсів. Це не матиме негативного впливу на ваше з'єднання. Це дозволить поділитись цим зв’язком з віртуальними машинами.
Використовуйте code
(Visual Studio Studio) або улюблений текстовий редактор, щоб відкрити такий файл:
$ code /etc/network/interfaces
Під час першого відкриття цього файлу він може бути порожнім або містити лише пару рядків. Ваш інтерфейс мосту викликається br0
, тому додайте наступний рядок, щоб інтерфейс вийшов за замовчуванням:
auto br0
Під цим рядком додайте наступний рядок для вашого поточного мережевого інтерфейсу (той, хто назвав вас раніше, визначений).
iface enp2s0 inet manual
Далі ви можете додати інформацію про міст. Ці рядки повідомляють Ubuntu, що ваш міст буде використовувати DHCP для автоматичного призначення IP-адреси, і ваш міст буде керувати вашим поточним інтерфейсом.
iface br0 inet dhcp
bridge_ports enp2s0
Ось як має виглядати ваш файл, як тільки всі зміни були застосовані (якщо у вас також є пара рядків, які вже були там, добре мати їх також):
Збережіть зміни та закрийте файл.
Додайте свого користувача до груп
Для управління вашою віртуальною машиною (машинами) без кореневих привілеїв користувачеві потрібно буде належати до двох груп користувачів. Виконайте такі команди, щоб додати свого користувача до відповідних груп (замінивши user1 на ім’я вашого користувача):
$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm
Закінчивши, слід перезапустити систему, щоб переконатися, що всі зміни, зроблені в налаштуваннях користувача та мережі, мають шанс набути чинності.
libvirt
і не потрібно налаштовувати інтерфейси ...
Для того, щоб зробити віртуальний пристрій в Linux - я повинен дотримуватися цієї три команди, і це допомагає мені уникнути проблем зі створенням пристроїв AVD - процес -
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Отже, тепер вам добре піти, перезавантажте андроїд-студію і почати створювати програми за допомогою емулятора.
Надайте відповідні дозволи за допомогою цієї команди
sudo chmod 777 -R /dev/kvm
Запуск команди нижче в Ubuntu 18.04 працював для мене sudo chown -R / dev / kvm
/dev/kvm
файл -R
не має ефекту --- по-третє: chown
потрібен new owner
аргумент --- четверте: після перезавантаження потрібно робити це знову і знову.
Якщо ви відкриєте свою ідею із судо. У вас не буде цієї проблеми.
qemu-kvm
та додавання мого користувача до групиkvm
це не працювало. Але це було зроблено після перезавантаження комп'ютера (Ubuntu 18.04).