Ошибка в QEMU при использовании evdev passthrough: Permission denied
- AJIekceu4
- 01.08.2020
- 2 695
- 0
- 4
- 3
- 1
- Содержание статьи
Вступление
В данной статье рассмотрим как можно исправить ошибку, возникающую при использовании evdev passthrough, который позволяет использовать одну клавиатуру и/или мышку для доступа как к хосту, так и к виртуальной машине без установки какого-либо стороннего софта, вроде synergy.
Выглядит ошибка таким вот образом:
Error starting domain: internal error: process exited while connecting to monitor: 2020-08-01T16:55:57.909849Z qemu-system-x86_64: -object input-linux,id=kbd1,evdev=/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd,grab_all=on,repeat=on: Could not open '/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd': Permission denied
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 66, in newfn
ret = fn(self, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/object/domain.py", line 1279, in startup
self._backend.create()
File "/usr/lib/python3/dist-packages/libvirt.py", line 1234, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: internal error: process exited while connecting to monitor: 2020-08-01T16:55:57.909849Z qemu-system-x86_64: -object input-linux,id=kbd1,evdev=/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd,grab_all=on,repeat=on: Could not open '/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd': Permission denied
Исправляем ошибку
Для исправления этой ошибки, необходимо внести кое-какие правки в файл с настройками libvirt для apparmor, на примере Linux Mint это будет файл /etc/apparmor.d/abstractions/libvirt-qemu
Открываем его любым текстовым редактором и в самый низ дописываем следующую строчку:
/dev/input/* rw,
После сохранения настроек, необходимо перезапустить службу apparmor, сделать это можно следующей командой:
sudo service apparmor restart
После этого, пытаемся запустить виртуалку и ошибка должна уйти.
Добавить комментарий