virt-manager не может подключиться к libvirt

Я использую Ubuntu 12.04.2 32 бита.
Ошибка не появляется, если я начинаю gksudo virt-manager ,
libvirt-binустановлено.- Я не знаю, как проверить наличие демона.
- Я являюсь членом
libvirtd,
Выход из ps ax | grep libvirt:
9225 ? Sl 0:04 /usr/sbin/libvirtd -d
9302 ? S 0:00 /usr/sbin/dnsmasq -u libvirt-dnsmasq --strict-order --bind-interfaces --pid-file=/var/run/libvirt/network/default.pid --conf-file= --except-interface lo --listen-address 192.168.122.1 --dhcp-range 192.168.122.2,192.168.122.254 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases --dhcp-lease-max=253 --dhcp-no-override`
Выход из ls -l /var/run/libvirt/libvirt-sock:
srwxrwx --- 1 root libvirtd 0 Set 13 15:04 / var / run / libvirt / libvirt-sock
Выход из getent group libvirtd:
libvirtd:x:130:OTHERUSER,MYUSER
Подробное сообщение об ошибке
Unable to connect to libvirt.
Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied
Verify that:
- The 'libvirt-bin' package is installed
- The 'libvirtd' daemon has been started
- You are member of the 'libvirtd' group
Libvirt URI is: qemu:///system
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/connection.py", line 1185, in _open_thread
self.vmm = self._try_open()
File "/usr/share/virt-manager/virtManager/connection.py", line 1167, in _try_open
flags)
File "/usr/lib/python2.7/dist-packages/libvirt.py", line 102, in openAuth
if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied
19 ответов
Перезагрузка системы, где virt-manager установлен решен вопрос.
После установки KVM выполните эту команду, чтобы эта ошибка больше не возникала.
sudo virt-manager
Альтернативой перезагрузке / выходу из системы является запуск следующих команд из терминала:
newgrp libvirt
virt-manager
newgrp Команда позволяет пользователю присоединиться к libvirt группа без выхода из системы, для процессов, которые запускаются в той же оболочке после newgrp, Конечно, это работает, только если установщик libvirt поместит вас в группу libvirt, которую вы можете проверить с помощью:
getent group libvirt
Для меня ошибка была вызвана тем, что изменения членства в группе не применяются без входа в систему (или перезагрузки). Я только что установил KVM и libvirt-bin. Программа установки автоматически добавила моего пользователя в группу libvirtd, я перезапустил службу libvirt-bin, но все еще получал сообщение об ошибке.
Простой выход из системы и ее повторное решение решили проблему путем применения моего нового членства в группе.
Предполагая, что вы только что установили libvirt-bin и уже подтвердили, что ваш текущий пользователь является членом группы libvirtd, как следует из сообщения об ошибке, вам нужно будет выйти из системы и снова войти в нее, чтобы применить новое членство в группе.
Не изменяйте права доступа к файлам на 777. Не просто запускайте все с правами root или sudo, чтобы избежать понимания, что не так.
Я надеюсь, что это помогает кому-то.
Вошедший пользователь должен быть добавлен в
libvirtгруппа пользователей
sudo usermod -a -G libvirt $USER
Я управляю как Qemu, так и Virtualbox на моем компьютере с Ubuntu 14.02, и после установки Virtualbox libvirt-bin не удалось автоматически запуститься. Поэтому проверьте, работает ли libvirt-bin:
ps faux | grep libvirt-bin
если вы не видите его в выводе ps - запустите вручную, затем запустите virt-manager:
sudo service libvirt-bin start
На Ubuntu 16.04.3 LTS
systemctl start virtlogd.socket
был единственный ответ. Сокет имеет своего собственного демона. Это необычно
Для меня дело было в том, что при использовании service libvirt-bin status это показало, что все просто работает нормально, хотя я не мог подключиться, как:
● libvirt-bin.service - Virtualization daemon
Loaded: loaded (/lib/systemd/system/libvirt-bin.service; enabled; vendor preset: enabled)
Active: active (running) since Do 2016-09-22 13:22:16 CEST; 6min ago
[...]
В /var/run/libvirt/ там должны быть эти два файла:
srwxrwxrwx 1 root libvirtd 0 Sep 22 13:22 libvirt-sock=
srwxrwxrwx 1 root libvirtd 0 Sep 22 13:22 libvirt-sock-ro=
Если розетки не отображаются, используйте service libvirt-bin stop; service libvirt-bin start полностью перезапустить процесс. С помощью service libvirt-bin restart недостаточно и не создаст заново сокет.
libvirt-bin Сервис может быть безопасно остановлен и не отключит гостей.
После установки всех пакетов, указанных в операторе, вы можете выйти из системы, а затем снова войти в нее. Все, что добавляет вас в группы пользователей, необходимо для выхода из системы и входа в нее для добавления в новые группы. Это небольшое неудобство, меньше одного, чем перезагрузка.
Это было помечено как незавершенное, однако это является общим правилом для добавления вашего пользователя в группу. Необходим перелог, это была недостающая часть, которую я не видел здесь.
Для меня это было решением:
sudo apt install libvirt-daemon-system
sudo systemctl start libvirtd
перезапустить систему
Пользователь в
libvirt группа может бежать
virt-manager а также
virsh без
sudo.
$ sudo gpasswd libvirt -a <username>
$ cat <<EOF | tee -a ~/.profile
export VIRSH_DEFAULT_CONNECT_URI=qemu:///system
EOF
$ sudo reboot
Проблема обсуждается на Launchpad, и причину этой проблемы можно решить, установив xen-utils пакет (xen-utils-4.4 на Ubuntu 14.04). Я ранее обошел эту проблему virt-manager через sudo в командной строке.
Различные ответы ссылаются на тот факт, что проблема может возникнуть из-за того, что групповые разрешения не применяются к пользователю, работающему с диспетчером виртуальных машин, и принятый ответ, отмечающий, что перезагрузка устранила проблему, вполне возможно, зависит от перезагрузки, чтобы дать пользователю группу разрешения при входе в систему (хотя перезагрузка также может запускать службы).
В случае Ubuntu 20.04.1 установка QEMU/KVM с помощью apt-get автоматически запускала все службы и в конечном итоге разрешалась строго путем выяснения того, как предоставить пользователю, работающему с доступом к группе Virtual Machine Manager (хотя
Как упоминают другие, выход из системы/вход в систему обычно необходим для регистрации новых групповых разрешений, но в случае использования графического рабочего стола GNOME выхода из системы и повторного входа в систему было недостаточно для предоставления пользователю GUI новых групповых прав. Фактически, выхода из системы И перезапуска, остановки всех экземпляров оболочки GNOME) и повторного входа в систему было недостаточно.
В одном сценарии следующее было эффективным и не требовало перезагрузки после установки
-
где пользователь входит в GNOME. -
sudo systemctl restart gdm
Команда была получена из этого ответа .
Перезагрузка потребовалась, потому что после запуска графическая консоль закрылась, не предложив экран входа в систему (оставив только черный экран). Не было определено, является ли
Для справки, в случае, когда это решение сработало,
Я столкнулся с той же проблемой. попробуй запустить виртуальный менеджер через sudo
sudo virt-manager
Я просто следовал этому руководству . Чего мне не хватало:
sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service
Простое исправление: перейдите в учетные записи и измените свои группы на обе libvirt группы.
Начиная с Ubuntu 17.10, я также должен был добавить себя в группу libvirt. Я уже добавил себя в libvirtd и не удалил себя из этой группы. Я не знаю, требуются ли оба или нет.
Я сделал это, так как заметил, что содержимое /var/run/libvirt принадлежит libvirt, а не libvirtd.
Используйте Ubuntu Software для удаления виртуального менеджера, выхода из системы, входа в систему, установки виртуального менеджера и запуска его в обычном режиме без использования sudo или даже с помощью командной строки.
У меня была такая же проблема, и в подробном отчете об ошибке говорится о недостатке разрешения на libvirt-sock файл. Изменение разрешения файла /var/run/libvirt/libvirt-sock до 777 заставил его работать на меня.