Câu trả lời:
Như đã đề cập trong các bình luận, bắt đầu với Ubuntu 18.04 và Linux Mint Tara trước tiên bạn cần phải có sudo apt install qemu-kvm
.
Để kiểm tra quyền sở hữu /dev/kvm
sử dụng
ls -al /dev/kvm
Người dùng là root
, nhóm kvm
. Để kiểm tra những người dùng nào trong kvm
nhóm, sử dụng
grep kvm /etc/group
Điều này đã trở lại
kvm:x:some_number:
trên hệ thống của tôi: vì không có gì đúng trong trận chung kết :
, không có người dùng nào trong kvm
nhóm.
Để thêm người dùng của bạn vào nhóm kvm , bạn có thể sử dụng
sudo adduser $USER kvm
trong đó thêm người dùng vào nhóm và kiểm tra lại một lần nữa với grep kvm /etc/group
.
Như @marcolz đã đề cập, lệnh newgrp kvm
sẽ thay đổi thành viên nhóm trực tiếp cho bạn. Nếu điều đó không hiệu quả, @Knossos đã đề cập rằng bạn có thể muốn đăng xuất và đăng nhập lại (hoặc khởi động lại) để các quyền có hiệu lực. Hoặc làm như @nmirceac đã đề cập và đăng nhập lại trong cùng một vỏ thông qua su - $USER
.
root
và nhóm root
. Chúng ta có nên thay đổi nhóm của nó?
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Đây là cách tôi làm cho nó hoạt động trong Ubuntu 18.04
sudo apt install qemu-kvm
Thêm người dùng của bạn vào nhóm kvm bằng cách sử dụng:
sudo adduser <Replace with username> kvm
Nếu vẫn hiển thị quyền bị từ chối :
sudo chown <Replace with username> /dev/kvm
Thử nó.
/dev/kvm/
thư mục. thay vào đó, bạn nên thêm người dùng vào kvm
nhóm như trong câu trả lời này: stackoverflow.com/a/45749003/1213934
Hãy thử nó, nó làm việc cho tôi:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
chown
- thêm tên người dùng của bạn vào các nhóm thích hợp - kvm hoặc libvirt. Xem tài liệu cho [ help.ubfox.com/community/KVM/Installation[(Ubfox) .
–
hậu tố? Điều này chắc chắn mang lại một lỗi.
Bạn cũng đã thử làm theo, nó sẽ hoạt động:
sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
chmod o+x
là hoàn toàn vô dụng. Lệnh đầu tiên làm cho nó hoạt động - nhưng hãy xem các bình luận khác của tôi tại sao đây là một ý tưởng tồi.
/dev/kvm
. Không chỉ là nó sẽ không tồn tại giữa các lần khởi động lại / cập nhật hệ thống. Nó cũng mạnh mẽ sửa đổi cài đặt hệ thống. Tránh xa ra
Điều này là do /dev/kvm
không thể truy cập. Để làm cho có thể truy cập từ studio android chạy lệnh dưới đây
sudo chmod 777 -R /dev/kvm
Nó sẽ hỏi mật khẩu của bạn. Sau đó khởi động lại Android Studio.
KVM
là bắt buộc để giả lập rum. Nếu bạn chưa cài đặt nó thì hãy cài đặt nó
sudo apt install qemu-kvm
-R
) thay đổi quyền trên một tệp thiết bị? Ngoài ra, các quyền thực thi là thừa. Cuối cùng, udev có thể điều chỉnh các quyền sau khi mỗi trình giả lập bắt đầu.
sudo chown $USER /dev/kvm
Đơn giản chỉ cần chạy một lệnh đã làm việc cho tôi ở đây vào tháng 9 năm 2019 đang chạy:
Mô tả: Ubuntu 18.04.3
Phát hành LTS: 18.04
Tên mã: bionic
/dev/kvm
trong thời gian chạy.
Tôi đang sử dụng Ubuntu 18.04. Tôi đã phải đối mặt với cùng một vấn đề. Tôi chạy đoạn lệnh này trong terminal và vấn đề được giải quyết.
sudo chown $USER /dev/kvm
lệnh trên dành cho tất cả người dùng có mặt trong hệ thống của bạn.
Nếu bạn muốn chỉ cấp quyền truy cập cho một người dùng cụ thể thì hãy chạy lệnh này
sudo chown UserNameHere /dev/kvm
Đây là phiên bản ngắn gọn của câu trả lời của Gerd
sudo groupadd -r kvm
sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules
Thêm dòng sau vào tệp đã mở và lưu nó
KernEL == "kvm", GROUP = "kvm", MODE = "0660"
Cuối cùng chạy:
sudo usermod -a -G kvm <your_username>
Khởi động lại PC của bạn và hoàn tất!
/lib/udev/rules.d
. Udev có một cơ chế lớp phủ trong đó cấu hình được đặt /etc/udev/rules.d
ưu tiên hơn một cấu hình có sẵn /lib/udev/rules.d
.
Tôi đã khắc phục vấn đề tương tự và để giải quyết vấn đề này, chỉ cần gõ các lệnh sau trong thiết bị đầu cuối cho các máy khách Linux
sudo apt-get install qemu-kvm
// type your password
sudo chmod 777 -R /dev/kvm
và sau đó thử chạy trình giả lập, nó sẽ hoạt động
Hoàn toàn không cần phải cài đặt qemu-kvm
(và tất cả các phụ thuộc của nó) nếu bạn chỉ muốn chạy Trình giả lập Android Studio.
Điều duy nhất bạn phải làm là cung cấp cho người dùng của bạn (tức là người bạn đã đăng nhập) quyền truy cập vào /dev/kvm
-device.
Điều này được thực hiện trong ba bước đơn giản.
Đầu tiên:Tạo kvm
-group
groupadd -r kvm
Tùy chọn -r
tạo một nhóm hệ thống, tức là với GID <= 999 (xem /etc/login.defs
=> SYS_GID_MAX
)
Thay đổi quyền trên /dev/kvm
. Điều này có thể được thực hiện như là một phần của quá trình qemu-kvm
cài đặt, bởi vì một trong những phụ thuộc đang được cài đặt qemu-system-common
(trên các hệ thống Ubuntu hiện tại, tên gói có thể thay đổi), do đó sẽ cài đặt tệp /lib/udev/rules.d/60-qemu-system-common.rules
chứa tệp sau:
KERNEL=="kvm", GROUP="kvm", MODE="0660"
Vì vậy, nếu bạn chỉ tạo một tệp /etc/udev/rules.d/60-qemu-permissions.rules
chứa dòng trên, bạn đã hoàn thành bước đầu tiên.
Thêm tên người dùng của bạn vào nhóm bằng cách thực hiện
usermod -a -G kvm <your_username>
- điều -a
quan trọng là thêm người dùng của bạn vào nhóm kvm. Nếu không có điều đó, bạn sẽ ghi đè cài đặt nhóm để người dùng của bạn chỉ thuộc về "kvm" ...
Đó là nó.
Để quy tắc udev mới và cài đặt nhóm có hiệu lực, dễ dàng nhất để khởi động lại và đăng nhập lại.
Bạn cũng có thể thực thi
udevadm control --reload-rules && udevadm trigger
để tải lại các quy tắc nhưng bạn vẫn phải đăng xuất và đăng nhập lại liên quan đến nhóm mới.
Tôi đang sử dụng linux debian, và tôi đang đối mặt với cùng một cách. Trong AVD của tôi hiển thị cho tôi một thông báo "/ dev / kvm quyền bị từ chối" và tôi đã cố gắng tìm giải pháp, sau đó, những gì tôi làm để giải quyết nó là, trong loại thiết bị đầu cuối này:
sudo chmod -R 777 /dev/kvm
nó sẽ cấp quyền truy cập cho thư mục / dev / kvm, sau đó kiểm tra lại trên AVD của bạn , thông báo lỗi sẽ biến mất, hy vọng nó sẽ giúp ích.
sudo setfacl -m u:$USER:rwx /dev/kvm
Đã làm cho tôi.
chown
ví dụ ở đây, nhưng tôi sẽ bỏ qua x
các quyền.
Chỉ cần một cải tiến nhỏ về câu trả lời của Jerrin về việc sửa lỗi này với Ubuntu 18.04 bằng cách sử dụng $USER
biến có sẵn trong thiết bị đầu cuối bash. Vì vậy, bạn có thể sử dụng hai lệnh sau hai lệnh:
sudo apt install qemu-kvm
Thêm người dùng hiện tại vào nhóm kvm
sudo adduser $USER kvm
Ngoài ra nếu bạn vẫn gặp sự cố, một vấn đề khác đối với tôi là cách tôi cài đặt Ubuntu. Tôi đã phạm sai lầm khi kiểm tra hộp trong khi cài đặt để cài đặt phần mềm bên thứ 3 không hoạt động tốt với card đồ họa nvidia của tôi để phát triển. Vì vậy, tôi cài đặt lại Ubuntu với phần mềm của bên thứ ba này bỏ chọn .
Sau khi cài đặt, hãy mở Phần mềm & Cập nhật và chuyển đến tab Trình điều khiển bổ sung. Chọn trình điều khiển độc quyền cập nhật nhất cũng đã được thử nghiệm và áp dụng các thay đổi. Nên khởi động lại máy để những thay đổi có ảnh hưởng.
Điều này làm việc cho tôi trên Linux (x18) Hy vọng nó sẽ hoạt động cho bạn
sudo chown hp /dev/kvm
Trong Ubuntu, các quyền /dev/kvm
thường trông như thế này:
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm
Người dùng chạy trình giả lập Android (tức là người dùng của bạn) cần có quyền truy cập vào thiết bị này.
Vì vậy, về cơ bản có 2 cách để có quyền truy cập:
Kiểm tra xem người dùng của bạn đã là một phần của nhóm kvm chưa, ví dụ:
$ id
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)
Nếu không, hãy thêm nó vào, vd:
$ sudo usermod --append --groups kvm juser
Sau thay đổi đó, bạn phải đăng xuất và đăng nhập lại để thay đổi nhóm hiệu quả (kiểm tra lại với id
).
Ngoài ra, bạn chỉ có thể mở rộng quyền của /dev/kvm
thiết bị.
Thí dụ:
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, đây là mặc định trên các bản phân phối khác như Fedora và CentOS.
Kiểm tra tính hiệu quả của các lệnh trên với lệnh khác ls
. Bạn cũng sẽ thấy đầu ra tương tự:
$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm
Ưu điểm lớn: Bạn không cần phải đăng xuất và đăng nhập lại để thay đổi này có hiệu lực.
chmod
và chown
trực tiếp trên /dev/kvm
- 1) những thay đổi này không liên tục trong quá trình khởi động lại và 2) vì các /dev/kvm
quyền được kiểm soát bởi trình nền udev, nó có thể 'sửa' quyền của mình bất cứ lúc nào, ví dụ: sau mỗi lần chạy trình giả lập/dev/kvm
- trình giả lập của bạn chỉ yêu cầu quyền đọc và ghi/dev/kvm
- tôi không biết điều gì xảy ra với điều đó - trông giống như sùng bái hàng hóa/dev/kvm
thiết bịMở Terminal và đăng nhập với tư cách quản trị viên
sudo su
Chuyển đến thư mục dev
cd /dev/
Thay đổi chế độ kvm
chmod 777 -R kvm
cd /dev
thay vì sudo.
chmod
với -R
? Thay đổi đệ quy các quyền trên một tệp thiết bị /dev/kvm
không có vẻ quá hữu ích. Ngoài ra, quyền thực thi là không cần thiết trên thiết bị đó. Cuối cùng, udev có thể điều chỉnh lại các /dev/kvm
quyền sau mỗi lần chạy. Vì vậy, phương pháp này không hiệu quả lắm.
Tôi đã ở trong một tình huống tương tự với cùng một lỗi về quyền trên / dev / kvm Tôi đã thực hiện các cài đặt cần thiết nhưng không thêm người dùng vào nhóm kvm Tất cả những gì tôi phải làm là
sudo adduser <Replace with username> kvm
và dĩ nhiên đừng quên khởi động lại phiên bản Ubuntu của bạn.
Điều cuối cùng đã sửa nó cho tôi trên Ubuntu 18.04 là:
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Tôi đã gặp lỗi này sau khi cập nhật Ubuntu lên 18.04.1. Tôi chỉ tải xuống hình ảnh hệ thống mới cho trình giả lập hoặc bạn có thể nói rằng tải xuống trình giả lập mới và nó hoạt động với tôi.
/dev/kvm
-permissions.
Mặc dù KVM là một mô-đun được tích hợp trong nhân Linux, nhưng điều đó không có nghĩa là tất cả các gói cần thiết đều được bao gồm trong cài đặt Ubuntu / Linux của bạn theo mặc định. Bạn sẽ cần một vài thứ để bắt đầu và chúng có thể được cài đặt bằng lệnh này trong terminal:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
Cấu hình cầu mạng
Để các máy ảo của bạn truy cập vào giao diện mạng của bạn và được gán địa chỉ IP của riêng chúng, chúng tôi cần định cấu hình mạng cầu nối trên hệ thống của chúng tôi.
Trước tiên, hãy chạy lệnh Linux sau để tìm ra tên giao diện mạng của bạn đã được gán. Biết điều này sẽ cho phép chúng tôi thực hiện cấu hình bổ sung sau.
$ ip a
Trong trường hợp của tôi, giao diện mạng được gọi là enp2s0
. Bạn có thể sẽ được đặt tên rất giống nhau.
Để thông báo cho Ubuntu rằng chúng tôi muốn kết nối của chúng tôi được bắc cầu, chúng tôi sẽ cần chỉnh sửa tệp cấu hình giao diện mạng. Làm điều này sẽ không ảnh hưởng tiêu cực đến kết nối của bạn. Nó sẽ chỉ cho phép kết nối đó được chia sẻ với VM.
Sử dụng code
(Visual Studio Code) hoặc trình soạn thảo văn bản yêu thích của bạn để mở tệp sau:
$ code /etc/network/interfaces
Khi bạn lần đầu mở tệp này, nó có thể trống hoặc chỉ chứa một vài dòng. Giao diện cầu nối của bạn được gọi br0
, vì vậy hãy thêm dòng sau để giao diện xuất hiện theo mặc định:
auto br0
Bên dưới dòng này, hãy thêm dòng sau cho giao diện mạng hiện tại của bạn (người được đặt tên bạn đã xác định trước đó).
iface enp2s0 inet manual
Tiếp theo, bạn có thể thêm thông tin cầu. Những dòng này cho Ubuntu biết rằng cây cầu của bạn sẽ sử dụng DHCP để gán địa chỉ IP tự động và cây cầu của bạn sẽ quản lý giao diện hiện tại của bạn.
iface br0 inet dhcp
bridge_ports enp2s0
Đây là cách tệp của bạn sẽ trông như thế nào khi tất cả các thay đổi đã được áp dụng (nếu bạn cũng có một vài dòng đã có, thì cũng tốt để có chúng):
Lưu các thay đổi của bạn và thoát khỏi tập tin.
Thêm người dùng của bạn vào các nhóm
Để quản lý (các) máy ảo của bạn mà không có quyền root, người dùng của bạn sẽ cần thuộc về hai nhóm người dùng. Chạy các lệnh sau để thêm người dùng của bạn vào các nhóm thích hợp (thay thế user1 bằng tên người dùng của bạn):
$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm
Khi bạn hoàn tất, bạn nên khởi động lại hệ thống của mình để đảm bảo rằng tất cả các thay đổi được thực hiện đối với người dùng và cấu hình mạng của bạn có cơ hội có hiệu lực.
libvirt
và không cần cấu hình giao diện ...
Để tạo một thiết bị ảo trong Linux - tôi phải tuân theo ba lệnh này và nó giúp tôi tránh rắc rối khi xây dựng các thiết bị avd - quá trình này là -
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Vì vậy, bây giờ bạn đã ổn, khởi động lại android studio và bắt đầu xây dựng ứng dụng với trình giả lập.
Cung cấp quyền thích hợp với lệnh này
sudo chmod 777 -R /dev/kvm
Chạy lệnh dưới đây trong Ubuntu 18.04 làm việc cho tôi sudo chown -R / dev / kvm
/dev/kvm
một tệp -R
không có tác dụng --- Thứ ba: chown
cần một new owner
đối số --- Thứ tư: Sau khi khởi động lại, bạn phải làm đi làm lại nhiều lần.
Nếu bạn mở ide của bạn với sudo. Bạn sẽ không có vấn đề này.
qemu-kvm
và thêm người dùng của tôi vào nhóm,kvm
nó không hoạt động. Nhưng nó đã làm sau khi khởi động lại máy tính (Ubuntu 18.04).