Android Studio: / dev / kvm डिवाइस अनुमति अस्वीकृत


556

जब मैं अपने एंड्रॉइड ऐप को एमुलेटर पर चलाने की कोशिश करता हूं तो मुझे यह त्रुटि मिलती है:

/ देव / kvm अनुमति से वंचित

मैंने अनुमतियों की जाँच की और उस उपयोगकर्ता को जोड़ा जो मैं वर्तमान में kvm समूह के साथ लॉग इन हूं। गलत क्या है?

जवाबों:


868

जैसा कि टिप्पणियों में उल्लेख किया गया है, उबंटू 18.04 और लिनक्स मिंट तारा के साथ शुरू करना आपको पहले की आवश्यकता है sudo apt install qemu-kvm

/dev/kvmउपयोग के स्वामित्व की जांच करने के लिए

ls -al /dev/kvm

उपयोगकर्ता था root, समूह kvm। यह जाँचने के लिए कि कौन से उपयोगकर्ता kvmसमूह में हैं, का उपयोग करें

grep kvm /etc/group

यह लौट आया

kvm:x:some_number:

मेरे सिस्टम पर: जैसा कि फाइनल का कुछ भी सही :नहीं है, kvmसमूह में कोई उपयोगकर्ता नहीं हैं ।

करने के लिए केवीएम समूह के लिए अपने उपयोगकर्ता को जोड़ने के लिए, आप इस्तेमाल कर सकते हैं

sudo adduser $USER kvm

जो उपयोगकर्ता को समूह में जोड़ता है, और एक बार फिर से जांचता है grep kvm /etc/group

जैसा कि @marcolz द्वारा उल्लेख किया गया है, कमांड newgrp kvmको आपके लिए लाइव ग्रुप सदस्यता को बदलना चाहिए। यदि वह काम नहीं करता है, तो @Knossos ने उल्लेख किया कि आप अनुमति लेने के लिए लॉग आउट और वापस (या पुनः आरंभ) करना चाह सकते हैं। या के रूप में @nmirceac उल्लेख किया है और के माध्यम से एक ही खोल में फिर से लॉगिन su - $USER


123
qemu-kvmमेरे उपयोगकर्ता को उस समूह में स्थापित करने और जोड़ने के बाद kvmकाम नहीं किया। लेकिन यह कंप्यूटर (Ubuntu 18.04) को पुनरारंभ करने के बाद किया ।
sdlins

7
यदि उपयोगकर्ता था rootऔर समूह था root। क्या हमें इसका समूह बदलना चाहिए?
माइकल फुल्टन

4
मुझे हर बार अपने पीसी के सुडो चाउन-आर यूजरनेम पर जाना पड़ा: उपयोगकर्ता नाम / dev / kvm इन चरणों ने हर समय के मेरे सिरदर्द को बचाया। Thansk @ सर्व-इंक इसे सही उत्तर के रूप में स्वीकार किया जाना चाहिए।
साजिद ज़ेब

3
आप इस कमांड का उपयोग स्वचालित रूप से वर्तमान उपयोगकर्ता को kvm में जोड़ने के लिए कर सकते हैंsudo adduser $USER kvm
मुनीश चंदेल

16
मुझे उपयोगकर्ता को kvm के अनुदान की भी आवश्यकता थी: sudo chown $USER /dev/kvm
Iván Rodríguez Torres

534

यह मुझे उबंटू 18.04 में काम करने के लिए मिला

sudo apt install qemu-kvm

अपने उपयोगकर्ता को kvm समूह का उपयोग करके जोड़ें:

sudo adduser <Replace with username> kvm

यदि फिर भी अनुमति देने से इनकार किया जा रहा है :

sudo chown <Replace with username> /dev/kvm

कोशिश करो।


2
अपने अंतिम उत्तर के साथ मेरा दिन बचाओ।
सतीश सुंदरम

14
चरण 2 को एक रिबूट की आवश्यकता हो सकती है
जैकब एरिकसन

10
आपको /dev/kvm/फ़ोल्डर का स्वामित्व नहीं बदलना चाहिए । इसके बजाय आपको उपयोगकर्ता को kvmइस उत्तर में समूह में जोड़ना चाहिए : stackoverflow.com/a/45749003/1213934
लॉगऑफ़

3
@JakobEriksson इसे पुनः लॉगिन करने के लिए एक की आवश्यकता होती है। रिबूट विंडोज (और सिस्टम अपडेट) के लिए आरक्षित हैं; ;-)
बेउ

3
हाँ जैसा कि @logoff ने सुझाव दिया है, आपको / dev / kvm के स्वामित्व को नहीं बदलना चाहिए, क्योंकि ऐसा करने से आप अपने लिनक्स सिस्टम के डिफ़ॉल्ट ACL को तोड़ देते हैं, जो एक अच्छा सुरक्षा अभ्यास नहीं है। इसके बजाय इस निर्देश का पालन करें: stackoverflow.com/a/45749003/7206497
eVagabond

33

यह कोशिश करो, यह मेरे लिए काम किया:

  1. sudo apt install qemu-kvm

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


1
आपको इसे प्रभावी करने के लिए पुनः लोड करने की आवश्यकता हो सकती है।
वादिम पेरिटोकिन

6
यह संदेहास्पद है, क्योंकि यह एक बहुउपयोगी प्रणाली को एक एकल उपयोगकर्ता प्रणाली के रूप में मानता है। इस दृष्टिकोण का अनुसरण करने पर कोई अन्य उपयोगकर्ता KVM का उपयोग नहीं कर सकेगा। क्या यह एक बेहतर तरकीब है? मुझे इसमें संदेह है ...
अर्कशा

1
यह समाधान सादा गलत है क्योंकि यह डिफ़ॉल्ट अधिकार / देव / kvm को संशोधित करता है। यह सिर्फ यह नहीं है कि यह रिबूट / सिस्टम अपडेट के बीच कायम नहीं रहेगा। यह सिस्टम सेटिंग्स को बलपूर्वक संशोधित करता है। दूर रहो।
andrzejwp

ऐसा न करें chown- अपने उपयोगकर्ता नाम को उचित समूहों में जोड़ें - kvm या libvirt। [ Help.ubuntu.com/community/KVM/Installationiding(Ubuntu) के लिए दस्तावेज़ देखें ।
Daisuke Aramaki

आप एक डिवाइस फ़ाइल को पुनरावर्ती रूप से क्यों लेते हैं? इसके अलावा, प्रत्यय के साथ क्या है ? यह निश्चित रूप से एक त्रुटि देता है।
मैक्सक्लेपजिग

29

क्या आपने भी कोशिश की है, यह काम करना चाहिए:

sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm

1
chmod o+xपूरी तरह से बेकार है। पहला कमांड इसे काम करता है - लेकिन मेरी अन्य टिप्पणियों को नीचे देखें कि यह एक बुरा विचार क्यों है।
गर्ड

1
यह काम करता है लेकिन एक रिबूट जारी नहीं करता है। मैं हालांकि POP OS पर हूँ!
अर्का प्रवा बसु

1
यह समाधान गलत है क्योंकि यह डिफ़ॉल्ट अधिकारों को संशोधित करता है /dev/kvm। यह सिर्फ यह नहीं है कि यह रिबूट / सिस्टम अपडेट के बीच कायम नहीं रहेगा। यह जबरदस्ती सिस्टम सेटिंग्स को भी संशोधित करता है। दूर रहो।
andrzejwp

यह रिबूट पर लगातार नहीं है। Udv डेमॉन अपने रनटाइम के दौरान अनुमतियों को फिर से समायोजित कर सकता है और अन्य को निष्पादन योग्य अनुमति दी गई है, बस साधारण है।
मैक्सक्लेपजिग

27

ऐसा इसलिए है क्योंकि /dev/kvmयह सुलभ नहीं है। बनाने के लिए एंड्रॉइड स्टूडियो से सुलभ है नीचे दिए गए कमांड को चलाएं

sudo chmod 777 -R /dev/kvm

यह आपका पासवर्ड पूछेगा। इसके बाद Android Studio को पुनरारंभ करें।

KVMरम एमुलेटर की आवश्यकता है। यदि आपने अभी तक इसे स्थापित नहीं किया है तो इसे स्थापित करें

sudo apt install qemu-kvm

इस उत्तर ने मेरे मामले में सबसे अधिक उत्तर दिए गए उत्तर का अनुसरण किया! धन्यवाद!
क्रोनो

1
ऐसा मत करो। मेरा जवाब ऊपर देखिए।
andrzejwp

@andrzejwp: क्या जवाब? मुझे आपसे कोई जवाब नहीं मिला। यह देखते हुए कि आप अपने उत्तर के प्रति कितने सजग हैं, क्या आप इससे जुड़ सकते हैं ?
Dan Dascalescu

आप -Rकिसी एकल डिवाइस फ़ाइल पर पुनरावृत्ति ( ) परिवर्तन क्यों करते हैं ? इसके अलावा, निष्पादित अनुमतियाँ बहुत कम हैं। अंत में, udv प्रत्येक एमुलेटर शुरू होने के बाद अनुमतियों को समायोजित कर सकता है।
मैक्सक्लेपजिग

25
sudo chown $USER /dev/kvm

बस चल रहा है कि सितंबर 2019 में यहां मेरे लिए एक कमांड ने काम किया:

विवरण: Ubuntu 18.04.3

एलटीएस रिलीज: 18.04

कोडनाम: बायोनिक


1
ऐसा मत करो। मेरा जवाब ऊपर देखिए।
andrzejwp

1
@andrzejwp आपका जवाब कहां है? क्या यह एक टिप्पणी में है? यदि यह है, तो यह संभवतः ढह गया है और मैं इसे नहीं देख सकता। मैंने आपके उपयोगकर्ता टैग के लिए पृष्ठ खोज लिया है, लेकिन नहीं मिल रहा है। मुझे आपके उत्तर की कोशिश करने में खुशी हो रही है - क्योंकि मेरा उत्तर बिल्कुल सही नहीं है (जारी नहीं है) - लेकिन मैं इसे नहीं ढूंढ सकता। एक लिंक छोड़ें या एक नया उत्तर बनाएं और मैं इसे आज़माऊंगा।
त्रयोदशी

शीर्ष मतदान उत्तर का उपयोग करें। Chmod / chown का उपयोग न करें।
andrzejwp

@andrzejwp: कृपया "ऊपर" कहने के बजाय, अपने उत्तरों से लिंक करें। क्या होगा यदि आपका जवाब आपके द्वारा टिप्पणी करने वाले के नीचे समाप्त होता है?
Dan Dascalescu

यह रिबूट पर लगातार नहीं है और udv डेमन /dev/kvmअपने रनटाइम के दौरान स्वामित्व को फिर से पा सकते हैं ।
मैक्सक्लेपजिग

21

मैं ubuntu 18.04 का उपयोग कर रहा हूं। मैं उसी समस्या का सामना कर रहा था। मैं टर्मिनल में कमांड के इस टुकड़े को चलाता हूं और समस्या हल हो गई है।

sudo chown $USER /dev/kvm

उपरोक्त कमांड आपके सिस्टम में मौजूद सभी उपयोगकर्ता के लिए है।

यदि आप केवल एक विशिष्ट उपयोगकर्ता को पहुंच देना चाहते हैं तो इस कमांड को चलाएं

sudo chown UserNameHere /dev/kvm

1
नहीं, यह कुछ ऐसा नहीं है जो आपको करना चाहिए। मेरा जवाब ऊपर देखिए।
andrzejwp

यह उत्तर @raddevus के उत्तर से अलग कैसे है जो उन्होंने एक महीने पहले पोस्ट किया था?
मैक्सक्लेपजिग

20

यह गर्ड के उत्तर का एक संक्षिप्त संस्करण है

टर्मिनल खोलें और निम्नलिखित कमांड चलाएं

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>

अपने पीसी और रिबूट करें!


यह बुरी सलाह है। सीधे सीधे udev कॉन्फ़िगरेशन को संपादित न करें /lib/udev/rules.d। Udev के पास एक ओवरले तंत्र है जहां विन्यास /etc/udev/rules.dको एक से अधिक उपलब्ध के तहत प्राथमिकता दी गई है /lib/udev/rules.d
मैक्सक्लेपजिग

मैं एक पेशेवर लिनक्स उपयोगकर्ता नहीं हूं, यह सिर्फ एक समाधान है जो मेरे लिए काम करता है और मैं इसे मेरे जैसे अन्य लोगों के लिए पढ़ने में आसान और आसान बनाने का फैसला करता हूं। आपके स्पष्टीकरण के लिए धन्यवाद, मैक्स।
नासिर जाफ़रज़ादेह

15

मैंने उसी समस्या को गिना और इस समस्या को हल करने के लिए लिनक्स ग्राहकों के लिए टर्मिनल में निम्न कमांड टाइप करें

   sudo apt-get install qemu-kvm

    // type your password

   sudo chmod 777 -R /dev/kvm

और उसके बाद सिम्युलेटर चलाने की कोशिश करें यह काम करेगा


1
भगवान नहीं। ऊपर मेरी टिप्पणियाँ देखें।
andrzejwp

Qemu-kvm की शानदार स्थापना, पुनरावर्ती विकल्प का शानदार उपयोग और शानदार ढंग से कार्यकारी अनुमति निर्धारित करता है। रिबूट पर भी लगातार और यहां तक ​​कि udv के रनटाइम के दौरान भी।
मैक्सक्लेपजिग

13

qemu-kvmयदि आप केवल Android Studio Emulator चलाना चाहते हैं, तो (और इसकी सभी निर्भरताएँ) स्थापित करने की कोई आवश्यकता नहीं है ।

केवल एक चीज जो आपको करनी है, वह है अपने उपयोगकर्ता को (यानी जिसे आप लॉग इन किया हुआ है) /dev/kvm-Dvice तक पहुँचने का अधिकार।

यह तीन सरल चरणों में किया जाता है।

प्रथम:

kvm-Group बनाएँ

groupadd -r kvm

विकल्प -rएक प्रणाली समूह बनाता है, अर्थात GID के साथ <= 999 (देखें /etc/login.defs=> SYS_GID_MAX)

दूसरा:

पर अनुमतियाँ बदलें /dev/kvm। यह qemu-kvmस्थापना के हिस्से के रूप में किया जा सकता है , क्योंकि निर्भरता में से एक स्थापित है qemu-system-common(वर्तमान उबंटू सिस्टम पर, पैकेज का नाम भिन्न हो सकता है), जो बदले /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>- kvm-group में अपने उपयोगकर्ता को जोड़ने के-a लिए महत्वपूर्ण है । इसके बिना आप केवल "kvm" से संबंधित अपने उपयोगकर्ता के लिए समूह-सेटिंग्स को अधिलेखित कर देंगे ...

बस।

नए udv नियम और समूह सेटिंग को प्रभावी करने के लिए इसे फिर से रीबूट और लॉगिन करना सबसे आसान है।

आप निष्पादित भी कर सकते हैं

udevadm control --reload-rules && udevadm trigger

नियमों को फिर से लोड करने के लिए लेकिन आपको अभी भी लॉगआउट करना है और नए समूह के संबंध में फिर से लॉगिन करना है।


10

मैं लिनक्स डेबियन का उपयोग कर रहा हूं, और मैं उसी तरह से सामना कर रहा हूं। मेरे AVD में मुझे एक संदेश दिखा "/ dev / kvm अनुमति से वंचित" और मैंने समाधान खोजने की कोशिश की, फिर मैं इसे हल करने के लिए क्या करता हूं, टर्मिनल प्रकार में यह है:

sudo chmod -R 777 /dev/kvm

यह फ़ोल्डर / देव / kvm के लिए एक पहुंच प्रदान करेगा, फिर अपने AVD पर फिर से जांचें , त्रुटि संदेश गायब हो जाएगा, आशा है कि यह मदद करेगा।


1
यह पूरी तरह से गलत है। ऐसा कभी मत करो। ऊपर मेरी टिप्पणियाँ देखें।
andrzejwp

1
@andrzejwp: ऊपर की टिप्पणी, कहाँ है ?!
Dan Dascalescu

पुनरावर्ती विकल्प बहुत ही कम है, निष्पादन की अनुमति बहुत ही कम है। रिबूट पर लगातार न बदलें। Udv रनटाइम के दौरान स्थिर न बदलें।
मैक्सक्लेपजिग

9
sudo setfacl -m u:$USER:rwx /dev/kvm

मेरे लिए काम किया।


2
chownयहां सभी उदाहरणों की तुलना में बेहतर है , लेकिन मैं xअनुमतियों से हटूंगा ।
गर्ड

परिवर्तन रिबूट पर लगातार नहीं है।
मैक्सचेलपिजिग

5

बैश टर्मिनल में उपलब्ध चर का उपयोग करके इस त्रुटि को उबंटू 18.04 के साथ ठीक करने पर जेरिन के जवाब में बस एक मामूली सुधार $USER। तो आप निम्न कमांड दो कमांड का उपयोग कर सकते हैं:

sudo apt install qemu-kvm

वर्तमान उपयोगकर्ता को kvm समूह में जोड़ें

sudo adduser $USER kvm

यदि आप अभी भी समस्या कर रहे हैं, तो मेरे लिए एक और समस्या थी जिस तरह से मैंने उबंटू स्थापित किया। मैंने 3 पार्टी सॉफ्टवेयर स्थापित करने के लिए स्थापना के दौरान बॉक्स की जांच करने की गलती की जो विकास के लिए मेरे एनवीडिया ग्राफिक्स कार्ड के साथ अच्छा नहीं खेलता था। इसलिए मैंने इस थर्ड पार्टी सॉफ्टवेयर के साथ उबंटू को अनियंत्रित किया

यहाँ छवि विवरण दर्ज करें

फिर स्थापना के बाद, सॉफ़्टवेयर और अपडेट खोलें और अतिरिक्त ड्राइवर टैब पर जाएं। अद्यतित स्वामित्व वाले ड्राइवरों का सबसे अधिक चयन करें और परिवर्तनों का परीक्षण भी करें। परिवर्तनों को प्रभावित करने के लिए मशीन को पुनः आरंभ करना चाहिए।

यहाँ छवि विवरण दर्ज करें


3

यह मेरे लिए लिनक्स पर काम किया (x18) Will आशा है कि यह आपके लिए काम करेगा

sudo chown hp /dev/kvm

2
नहीं, यह अभ्यस्त नहीं है और कृपया ऐसा न करें।
andrzejwp

परिवर्तन रिबूट पर लगातार नहीं है।
मैक्सचेलपिजिग

3

उबंटू के तहत, /dev/kvmआमतौर पर इस तरह की अनुमति दी जाती है :

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

एंड्रॉइड एमुलेटर (यानी आपका उपयोगकर्ता) चलाने वाले उपयोगकर्ता को इस उपकरण तक पहुंचने की आवश्यकता है।

इस प्रकार, मूल रूप से पहुँच प्राप्त करने के 2 तरीके हैं:

  • सुनिश्चित करें कि आपका उपयोगकर्ता kvm समूह का हिस्सा है (परिवर्तन के बाद आपके उपयोगकर्ता के पुनः लॉगिन की आवश्यकता है)
  • उस डिवाइस की अनुमतियों को विस्तृत करें जैसे कि आपके उपयोगकर्ता के पास पहुंच है (udev डेमन कॉन्फ़िगरेशन में बदलाव की आवश्यकता है)

उपयोगकर्ता को KVM समूह में जोड़ें

जांचें कि क्या आपका उपयोगकर्ता पहले से ही 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

एफडब्ल्यूआईडब्ल्यू, यह फेडोरा और सेंटोस जैसे अन्य वितरणों पर डिफ़ॉल्ट है।

दूसरे के साथ उपरोक्त आदेशों की प्रभावशीलता की जांच करें 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अनुमतियाँ udv डेमन द्वारा नियंत्रित होती हैं, यह किसी भी समय अपनी अनुमतियों को 'ठीक' कर सकता है, जैसे प्रत्येक एमुलेटर के चलने के बाद
  • निष्पादन योग्य अनुमतियों को जोड़ने /dev/kvm- आपके एमुलेटर को केवल पढ़ने और लिखने की अनुमति की आवश्यकता होती है
  • बदलने की अनुमति पर पुनरावर्ती /dev/kvm- मुझे नहीं पता कि इसके साथ क्या है - कार्गो पंथ जैसा दिखता है
  • qemu जैसे अतिरिक्त पैकेज स्थापित करना - आपके पास पहले से ही आपका एमुलेटर स्थापित है - आपको /dev/kvmडिवाइस तक पहुंचने की आवश्यकता है

1

टर्मिनल खोलें और व्यवस्थापक के रूप में लॉग इन करें

sudo su

देव फ़ोल्डर पर जाएं

cd /dev/

Kvm मोड बदलें

chmod 777 -R kvm

मुझे लगता है कि आप cd /devसूदो के बजाय मतलब है ।
JJJ

हाँ, सीडी / देव।
दामिंदु लकमल

1
यह काम। लेकिन हर बार कंप्यूटर रीस्टार्ट होने पर ऐसा करना पड़ता है।
लानिल मरासिंघे

आप क्यों कहते हैं chmodके साथ -R? किसी एकल डिवाइस फ़ाइल पर पुन: अनुमतियाँ बदलना /dev/kvmबहुत उपयोगी नहीं लगता है। इसके अलावा, निष्पादन की अनुमति उस डिवाइस पर बहुत अधिक होती है। अंत में, udv /dev/kvmप्रत्येक रन के बाद अनुमतियों को पुन: अन्याय कर सकता है । इस प्रकार, यह विधि बहुत प्रभावी नहीं है।
मैक्सचेलपिजिग

0

मैं इसी तरह की स्थिति में / dev / kvm पर अनुमतियों की समान त्रुटि के साथ था, मैंने आवश्यक स्थापनाएं की थीं, लेकिन उपयोगकर्ता को kvm समूह में नहीं जोड़ा था, जो मुझे करना था

sudo adduser <Replace with username> kvm

और टोना के अपने Ubuntu उदाहरण को पुनः आरंभ करने के लिए मत भूलना।


6
क्या लॉगआउट / लॉगिन पर्याप्त नहीं है?
user1053510


-1

मुझे 18.04.1 को अपने ubuntu को अपडेट करने के बाद यह त्रुटि मिली। मैं सिर्फ एमुलेटर के लिए नई प्रणाली छवि डाउनलोड करता हूं या आप कह सकते हैं कि नया एमुलेटर डाउनलोड करें और यह मेरे लिए काम करता है।


1
यह /dev/kvm-mmissions के साथ मूल समस्या के बारे में कुछ भी नहीं बदलेगा ।
गेरड


-1

हालांकि KVM लिनक्स कर्नेल में निर्मित एक मॉड्यूल है, लेकिन इसका मतलब यह नहीं है कि सभी आवश्यक पैकेज डिफ़ॉल्ट रूप से आपके Ubuntu / Linux इंस्टॉल में शामिल हैं। आपको आरंभ करने के लिए कुछ की आवश्यकता होगी, और वे टर्मिनल में इस कमांड के साथ स्थापित किए जा सकते हैं:

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

नेटवर्क ब्रिज कॉन्फ़िगर करें

आपके वर्चुअल मशीनों के लिए आपके नेटवर्क इंटरफ़ेस तक पहुँचने और उनके स्वयं के आईपी पते निर्दिष्ट करने के लिए, हमें अपने सिस्टम पर ब्रिजिंग नेटवर्किंग को कॉन्फ़िगर करने की आवश्यकता है।

सबसे पहले, अपने नेटवर्क इंटरफेस को क्या नाम दिया गया है, यह जानने के लिए निम्नलिखित लिनक्स कमांड चलाएं। यह जानने के बाद हमें अतिरिक्त कॉन्फ़िगरेशन करने की अनुमति मिलेगी।

$ ip a     

नेटवर्क इंटरफ़ेस का नाम निर्धारित करें

मेरे मामले में, नेटवर्क इंटरफ़ेस कहा जाता है enp2s0। तुम्हारा नाम बहुत समान रूप से नाम दिया जाएगा।

उबंटू को यह बताने के लिए कि हम अपने कनेक्शन को पाटना चाहते हैं, हमें नेटवर्क इंटरफेस कॉन्फ़िगरेशन फ़ाइल को संपादित करना होगा। ऐसा करने से आपके कनेक्शन पर नकारात्मक प्रभाव नहीं पड़ेगा। यह केवल उस कनेक्शन को VMs के साथ साझा करने की अनुमति देगा।

का प्रयोग करें code(विजुअल स्टूडियो संहिता) या अपने पसंदीदा पाठ संपादक निम्न फ़ाइल को खोलने के लिए:

$ code /etc/network/interfaces     

जब आप पहली बार इस फ़ाइल को खोलते हैं, तो यह खाली हो सकती है या इसमें केवल कुछ पंक्तियाँ होती हैं। आपका ब्रिज इंटरफ़ेस कहा जाता है br0, इसलिए इंटरफ़ेस के लिए डिफ़ॉल्ट रूप से आने के लिए निम्न पंक्ति जोड़ें:

auto br0    

इस पंक्ति के नीचे, अपने वर्तमान नेटवर्क इंटरफ़ेस के लिए निम्न पंक्ति जोड़ें (जिसे आपने पहले निर्धारित किया था)।

iface enp2s0 inet manual

इसके बाद, आप पुल की जानकारी जोड़ सकते हैं। ये पंक्तियाँ उबंटू को बताती हैं कि आपका पुल स्वचालित आईपी एड्रेस असाइनमेंट के लिए डीएचसीपी का उपयोग करेगा, और आपका पुल आपके वर्तमान इंटरफ़ेस का प्रबंधन करेगा।

iface br0 inet dhcp
      bridge_ports enp2s0

इस तरह आपकी फ़ाइल को एक बार देखना चाहिए कि सभी परिवर्तन लागू हो गए हैं (यदि आपके पास कुछ पंक्तियाँ हैं जो पहले से थीं, तो उनके लिए भी ठीक है):

नेटवर्क कॉन्फ़िगरेशन फ़ाइल को इंटरफेस करता है

अपने परिवर्तन सहेजें और फ़ाइल से बाहर निकलें।

अपने उपयोगकर्ता को समूहों में जोड़ें

रूट विशेषाधिकार के बिना अपनी वर्चुअल मशीन (यों) को प्रबंधित करने के लिए, आपके उपयोगकर्ता को दो उपयोगकर्ता समूहों से संबंधित होना चाहिए। अपने उपयोगकर्ता को उपयुक्त समूहों में जोड़ने के लिए निम्नलिखित कमांड चलाएँ (अपने उपयोगकर्ता के नाम के साथ user1 को प्रतिस्थापित करें):

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

जब आप काम पूरा कर लेते हैं, तो आपको यह सुनिश्चित करने के लिए अपने सिस्टम को पुनरारंभ करना चाहिए कि आपके उपयोगकर्ता और नेटवर्क कॉन्फ़िगरेशन में किए गए सभी परिवर्तनों को प्रभावी होने का मौका है।


डाउनवोट: यह धागा काम करने के लिए केवीएम प्राप्त करने के बारे में नहीं है। यह केवल एंड्रॉइड स्टूडियो के साथ पैक किए गए एमुलेटर को शुरू करते समय एक "अनुमति से इनकार" संदेश को छोड़ने के बारे में है। कोई ज़रूरत नहीं है libvirtऔर इंटरफेस को कॉन्फ़िगर करने के लिए कोई ज़रूरत नहीं है ...
गर्ड

जब मैं Android विकास के लिए बहुत नया हूं, तो मुझे यकीन है कि यह आपके लिए इन चरणों में से अधिकांश करता है। यह आपको कई समान पैकेजों को स्थापित करने के लिए कहता है , हालाँकि। (हर Android डेवलपर को एक पुल को ठीक से स्थापित करने की उम्मीद करना बाएं क्षेत्र में थोड़ा सा है, यहां तक ​​कि लिनक्स एंड्रॉइड डेवलपर्स तक सीमित है ।)
jpaugh

-1

लिनक्स में एक वर्चुअल डिवाइस बनाने के लिए - मुझे इस तीन कमांड का पालन करना होगा और यह मुझे एवीडी डिवाइस बनाने में परेशानी से बचने में मदद करता है - प्रक्रिया ये हैं -

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

तो, अब आप जाने के लिए अच्छे हैं, एंड्रॉइड स्टूडियो को पुनरारंभ करें और एमुलेटर के साथ एप्लिकेशन का निर्माण शुरू करें।



-4

उबंटू 18.04 में नीचे की कमांड को चलाना मेरे लिए सुडो चो-आर / देव / केवीएम के लिए काम किया


1
पहला: सिस्टम फ़ाइलों का स्वामित्व कभी न बदलें --- दूसरा: जैसा /dev/kvmकि एक फ़ाइल -Rका कोई प्रभाव नहीं होता है --- तीसरा: chownएक new ownerतर्क की आवश्यकता है --- चौथा: रिबूट करने के बाद आपको बार-बार ऐसा करना होगा।
गर्ड

-9

यदि आप सूडो के साथ अपना विचार खोलते हैं। आपको यह समस्या नहीं होने वाली है।


7
पृथ्वी पर मुझे एंड्रॉइड ऐप विकसित करने के लिए sudo अनुमतियों की आवश्यकता क्यों है?
टेकक्राइवर

1
फिर से जोर देना: कभी भी ऐसा नहीं करना चाहिए। GUI ऐप्स को रूट के रूप में चलाने के लिए gksu और gksudo में भी देखें।
मनीष राज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.