Ubuntu 14 Android Studio 3 xrdp /dev/kvm权限被拒绝

我正在运行一个拥有4个专用核心和4GB内存的Ubuntu服务器VPS。
lsb_release -a 

说我在跑步
Description: Ubuntu 14.04.5 LTS 
Codename: trusty

我已经安装了Android Studio 3.0.1。我大致按照这个Tutorial的步骤进行操作,只是下载了最新版本。安装过程很顺利。

然后我安装了xrdp和xfce4,并且在远程连接方面没有任何问题。

我使用以下命令从rdp中的提升终端窗口启动Android Studio:

sudo ~/bin/android-studio/bin/studio.sh

命令的输出
Error parsing gtk-icon-sizes string: ''

但是Android Studio运行良好,允许我创建项目和编写代码,所以我尝试编译“Hello World”应用程序,并在创建了Android虚拟手机并尝试运行后,在ADV中运行它时出现以下错误。
KVM is required to run this AVD.
/dev/kvm device: permission denied
Grant current user access to /dev/kvm

我已经跑完了。
usermod -aG kvm *username*
usermod -aG libvirtd *username"
adduser *username* kvm
adduser *username* libvirtd
adduser *username* xrdp
chmod +x /dev/kvm
chown *username* /dev/kvm
chmod -R 777  /dev/kvm

我在每个命令后重新启动了VPS,但我仍然收到KVM权限被拒绝的错误提示

当我运行

  sudo kvm-ok
    INFO: /dev/kvm exists
    KVM acceleration can be used

然而,如果我只是运行
kvm-ok 
bash: kvm-ok: command not found

我已经花了几个小时试图弄清楚这个问题,但只找到一些告诉我要将用户添加到kvm和/或libvirtd组的东西。非常感谢任何帮助。
更新:
我正在进一步研究这个问题。
 cat /proc/cpuinfo | grep 'name'| uniq 
 model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz

所以我跑了
sudo modprobe kvm-intel
modprobe: ERROR: ../libkmod/libkmod.c:507kmod_lookup_alias_from_builtin_file()
could not open builtin file '/lib/modules/3.13.0/modules.builtin.bin'

这导致我尝试

depmod -a
depmod: WARNING: could not open /lib/modules/3.13.0/modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules/3.13.0/modules.builtin: No such file or directory

这是ls -al /lib/modules/3.13.0/的输出结果。
drwxr-xr-x 2 root root  4096 Dec 12 01:08 .
drwxr-xr-x 5 root root 12288 Dec 11 18:11 ..
-rw-r--r-- 1 root root    45 Dec 12 01:08 modules.alias
-rw-r--r-- 1 root root    12 Dec 12 01:08 modules.alias.bin
-rw-r--r-- 1 root root     0 Dec 12 01:08 modules.builtin.bin
-rw-r--r-- 1 root root     0 Dec 12 01:08 modules.dep
-rw-r--r-- 1 root root    12 Dec 12 01:08 modules.dep.bin
-rw-r--r-- 1 root root    52 Dec 12 01:08 modules.devname
-rw-r--r-- 1 root root   131 Dec 12 01:08 modules.softdep
-rw-r--r-- 1 root root    49 Dec 12 01:08 modules.symbols
-rw-r--r-- 1 root root    12 Dec 12 01:08 modules.symbols.bin

所以我在想我的Linux映像出了问题,但是
sudo apt-get install linux-generic
Reading state information... Done
linux-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

不确定要修复什么,但我觉得我至少离找出问题的答案更近了一步。

最终我发现我的Azzo托管VPS上的KVM被禁用了。这个VPS已经在近一年前被销毁了,所以我无法尝试任何答案。 - Jpsh
请参阅我在StackOverflow上类似问题的回答:Android Studio: /dev/kvm设备权限被拒绝 - maxschlepzig
5个回答

我在Ubuntu 18.04上使用Android Studio 3.0.1运行模拟器时遇到了这个问题。你可以尝试这个答案。要将用户用户名添加到kvm组中,你可以使用以下命令:
sudo apt install qemu-kvm
sudo adduser $USER kvm

在我的情况下,它起作用了,尽管整个过程之后需要重新登录。

我的问题已经说明了这一点,最终我发现我的Azzo托管VPS上的KVM被禁用了。 - Jpsh
9为我解决了问题。然而,在执行这些命令后,需要重新登录。 - Akshar Patel
我在升级到18.04后遇到了同样的问题,你的答案解决了它!有人可以解释一下什么是qemu-kvm以及为什么现在需要它吗? - Fabich
2@Fabich KVM = 基于内核的虚拟机。它允许进行不同架构的仿真。我也在尝试在18.04上运行Android Studio,但可惜没有找到解决方法。 - Afflicted
没有改变任何东西,Android Studio仍然显示带有KVM的错误消息。 - user25
我不确定这是否有帮助,尝试安装:sudo apt install cpu-checker - ch13mob
结合这个答案和下面其他答案的一些命令,帮助我在2019年使之工作! - JaydeepW

回答晚了,也许对其他用户有帮助。

1.我尝试了:sudo setfacl -m u:用户名:rwx /dev/kvm,它有效。

2.在Android Studio中,你需要更改:工具> AVD管理器>(选择编辑设备的笔图标,并将'图形'从自动更改为软件),以避免模拟器绘图错误。


谢谢。第一步对我有用。不确定第二步是做什么的,但似乎与主要问题无关,我不需要去做它。 - luckyrat
对我也起作用,我也给一个赞。 - Pravinsingh Waghela

这适用于Ubuntu 18.04:

  1. 打开终端并输入以下命令

    • sudo setfacl -m u:$USER:rwx /dev/kvm
  2. 重新启动Android Studio。


确保在BIOS中启用了虚拟化。 将您的用户名添加到组属性中:
sudo chown :$USER /dev/kvm

让用户可以访问/写入设备/dev/kvm。
sudo chmod g+rw /dev/kvm

就这样了!

VPS没有BIOS访问权限,尝试了第一个命令(见问题),然后我执行了chmod -R 777 /dev/kvm,所以我觉得那应该是有效的。不过,VPS已经不存在了,我无法进行测试。 - Jpsh

从BIOS更新VT设置

  1. 打开系统并按下[delete]键进入BIOS [EZ Mode]
  2. 按下[F7]键进入BIOS [Advance Mode],如下图所示: (如果直接按下[delete]键进入[Advanced Mode],则无需再按下[F7]键)
  3. 选择[Advanced]页面,点击[CPU Configuration]选项
  4. 选择[Intel(VMX) Virtualization Technology]选项,并设置为[Enabled]
  5. 按下[F10]键,点击[OK],系统将自动重新启动

https://www.asus.com/in/support/FAQ/1045141/#A