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

Jps*_*psh 32 kvm xrdp android-studio 14.04

我正在运行带有 4 个专用内核和 4GB 或 ram 的 Ubuntu Server VPS

lsb_release -a 
Run Code Online (Sandbox Code Playgroud)

说我在跑步

Description: Ubuntu 14.04.5 LTS 
Codename: trusty
Run Code Online (Sandbox Code Playgroud)

我已经安装了 Android Studio 3.0.1 我或多或少地遵循了这个教程,刚刚获得了最新版本。安装时顺利。

然后我安装了 xrdp 和 xfce4,远程连接没有任何问题

我从 rdp 的提升终端窗口中使用以下命令启动 android studio

sudo ~/bin/android-studio/bin/studio.sh
Run Code Online (Sandbox Code Playgroud)

命令输出

Error parsing gtk-icon-sizes string: ''
Run Code Online (Sandbox Code Playgroud)

但是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
Run Code Online (Sandbox Code Playgroud)

我跑了

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
Run Code Online (Sandbox Code Playgroud)

我在执行每个命令后重新启动了 VPS,但仍然出现 KVM 权限被拒绝错误

当我跑

  sudo kvm-ok
    INFO: /dev/kvm exists
    KVM acceleration can be used
Run Code Online (Sandbox Code Playgroud)

但是,如果我只是运行

kvm-ok 
bash: kvm-ok: command not found
Run Code Online (Sandbox Code Playgroud)

我几个小时以来一直试图解决这个问题,但只找到了告诉我将用户添加到 kvm 和/或 libvirtd 组的东西,任何帮助将不胜感激。

更新:

再看看这个

 cat /proc/cpuinfo | grep 'name'| uniq 
 model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
Run Code Online (Sandbox Code Playgroud)

所以我跑了

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'
Run Code Online (Sandbox Code Playgroud)

这导致我尝试

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
Run Code Online (Sandbox Code Playgroud)

这是输出 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
Run Code Online (Sandbox Code Playgroud)

所以我在想我的 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.
Run Code Online (Sandbox Code Playgroud)

不知道要解决什么问题,但我想我至少离找出问题越来越近了

小智 43

当我运行模拟器时,我在 Ubuntu 18.04 上的 Android Studio 3.0.1 上遇到了这个错误。你可以试试这个答案。要将用户用户名添加到 kvm 组,您可以使用:

sudo apt install qemu-kvm
sudo adduser $USER kvm
Run Code Online (Sandbox Code Playgroud)

就我而言,它有效,尽管在整个过程后需要重新登录。

  • 为我解决了问题。但是,执行这些命令后需要重新登录。 (9认同)
  • @Fabich KVM = 基于内核的虚拟机。它允许不同的架构仿真。我也试图让 android studio 在 18.04 上运行,遗憾的是没有为我解决这个问题。 (2认同)

小智 30

现在回答为时已晚,可能会帮助其他用户。

1.I尝试:sudo setfacl -m u:UserName:rwx /dev/kvm 。它有效。

2.在android studio中,您需要更改:工具> avd manager >(选择笔来编辑您的设备并将“图形”从自动更改为软件)以避免模拟器可绘制错误


小智 21

这适用于 Ubuntu 18.04:

  1. 打开终端并输入以下内容

    • sudo setfacl -m u:$USER:rwx /dev/kvm
  2. 重启安卓工作室。