Рейтинг:-1

Не удалось активировать несколько мониторов для гостевой виртуальной машины

флаг in
Ben

Это моя первая попытка заставить несколько мониторов работать с виртуальной машиной. Пока еще не добился успеха.

Я работаю на хост-компьютере Linux Mint 20.2, в основе которого лежит Ubuntu 20.04. Ядро 5.4.0-100-универсальное.

Я использую virt-manager (2.2.1) и смог успешно создавать и запускать гостевые машины PopOS, Mint (20.3) и Arch Linux (2022.02.01). Я не могу заставить ни один из них отображать несколько мониторов.

Значительная часть проблем, связанных с этим, в конечном итоге указывает мне на это демонстрация ютуба. Основной метод, описанный здесь, не работает для меня.

XML моего раздела Display Spice гласит:

<graphics type="spice" autoport="yes">
  <listen type="address"/>
  <image compression="off"/>
</graphics>

Я установил количество головок в разделе Video QXL на 2, 3 или 4.

<video>
  <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="2" primary="yes"/>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>

Доступ к работающей машине с помощью virt-viewer или remote-viewer выполнен успешно, но доступен только один дисплей. Для значений головок >=2 соответствующие записи дисплея в меню присутствуют, но жадны и недоступны. В виртуальной машине (любого варианта) xrandr дает мне:

Screen0: минимальный 320x200, текущий 1024x768, максимальный 8192x8192
Первичный подключенный Virtual-1 1024x768+0+0 0 мм x 0 мм
1024x768 60,00*+
{...несколько строк}
Виртуал-2 отключен
Виртуал-3 отключен

Как лучшее, что я могу сказать, это рекомендуемый способ сделать это для гостей Linux, теоретически поддерживающих до 4 экранов. Для развлечения я попытался добавить дополнительные устройства qxl в соответствии с рекомендациями для гостей Windows, что действительно открывает дополнительные экраны, ни один из которых не получает сигнал от гостя (постоянное «ожидание отображения 2»)

Я увеличил требования к памяти, как описано в пространство специй иметь возможность работать с четырьмя мониторами без изменения результатов.

    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='2' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>

Не могу вспомнить, как я туда попал, но эта страница упоминает сопоставление мониторов в конфигурационном файле virt-viewer. Я могу отображать мониторы:

[a2459703-ffc5-45a1-849e-b21c67186aa6]
отображение монитора = 1: 2; 2: 3

Затем с помощью

virt-viewer --полноэкранный vm1 

он странно открывает одно окно на моем втором и третьем мониторах, а не окно отображения для каждого монитора, как я и ожидал. Возможно, я что-то упустил или совершенно неправильно понял, как это должно работать.

Я думал, что это может быть из-за старой версии virt-manager/virt-viewer.Мне удалось запустить virt-manager 3.2.0 после загрузки с репозиторий virt-manager, безрезультатно. Последняя доступная версия virt-viewer в репозиториях Mint — 7.0.

судо подходящее обновление 
sudo apt установить virt-manager

получается только версия 7.0. Версия 11, по-видимому, доступна в вирт-просмотрщик репо, но я не могу понять, как установить это без каких-либо идентифицируемых инструкций по установке - все инструкции, которые я могу найти, отсылают меня к использованию apt для его установки.

Ближе всего я могу найти сообщение об ошибке при запуске virt-viewer с флагом отладки:

virt-viewer:23920): virt-viewer-DEBUG: 14:32:11.467: подключение...
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:11.467: открытие подключения к libvirt с URI <null>
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:11.469: начальное подключение
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:11.469: блокнот показывает статус 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.326: virt_viewer_app_set_uuid_string: UUID изменен на a2459703-ffc5-45a1-849e-b21c67186aa6
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.326: блокнот показывает статус 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.327: гость vm1 работает, определение отображения
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.328: Установить информацию о подключении: (null), (null), -1, -1, (null), (null), (null), 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.330: Гость vm1 имеет дисплей специй
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.363: адрес гостевой графики 127.0.0.1:5900
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.364: Установить информацию о подключении: localhost,127.0.0.1,5900,-1,(null),(null),(null),-1
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.364: ошибка операции запрещена: доступ только для чтения предотвращает virDomainOpenGraphicsFD
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.364: после обратного вызова при открытии соединения fd=-1
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.364: открытие прямого TCP-соединения для отображения по адресу 127.0.0.1:5900:-1
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.370: новый канал spice 0x555ddc97a200 SpiceMainChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.370: блокнот показывает статус 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.371: reconnect_poll: 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.482: основной канал: открыт
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.482: блокнот показывает статус 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: приложение не в полноэкранном режиме
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: приложение не в полноэкранном режиме
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: новый канал специй 0x555ddc950890 SpiceUsbredirChannel 1
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: новый канал usbredir
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: новый канал специй 0x555ddc941090 SpiceUsbredirChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: новый канал usbredir
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: новый канал spice 0x555ddc95aa70 SpiceRecordChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: новый канал spice 0x555ddc941b30 SpicePlaybackChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: новый аудиоканал
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.509: новый канал spice 0x555ddc933960 SpiceDisplayChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.509: новый канал spice 0x555ddcc0d990 SpiceCursorChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.512: новый канал spice 0x555ddcc0cdc0 SpiceInputsChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.512: новый входной канал
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.661: создание дисплея специй (#:0)
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.661: Вставить дисплей 0 0x555ddc8c6f20
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.709: создание дисплея специй (#:1)
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.709: Вставить дисплей 1 0x555ddc8c6d70
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.709: найдено окно без дисплея, повторное использование для дисплея #0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.710: блокнот показывает дисплей 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.713: выделено 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.713: дочернее выделение 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.736: выделено 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.736: дочернее выделение 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:24.945: выделено 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:24.946: дочернее выделение 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:24.964: выделено 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:24.964: дочернее выделение 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:25.055: выделено 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:25.056: дочернее выделение 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:25.587: выделено 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:25.587: дочернее выделение 1024x768

«Операция с ошибкой запрещена: доступ только для чтения предотвращает virDomainOpenGraphicsFD» привела меня к дискуссиям по поводу попытки использовать virt-viewer от имени другого пользователя с правами, отличными от root. Просто для проверки я запустил virt-manager и virt-viewer от имени того же пользователя, который находится в группе sudo. Опять без изменений.

Любые указания относительно того, где я должен искать дальше или что может быть полезно для отладки, будут оценены.

guiverc avatar
флаг cn
Только Ubuntu и официальные разновидности Ubuntu (https://ubuntu.com/download/flavours) относятся к теме здесь, обратитесь к https://askubuntu.com/help/on-topic, где вы найдете другие сайты SE, где Ваш вопрос будет приветствоваться, если вы не хотите использовать форум Linux Mint. (*Одним из преимуществ Ubuntu является множество вариантов поддержки, вы выбрали Linux Mint, поэтому воспользуйтесь его вариантами поддержки или SE Unix и Linux*)
guiverc avatar
флаг cn
Ubuntu и *разновидности* Ubuntu не *настраиваются*. Когда код необходимо изменить, он модифицируется и перекомпилируется, и никакие корректировки во время выполнения (или *взломы*) не выполняются, потому что они используют свои собственные пакеты, а не вышестоящий пакет, который они не могут контролировать. Mint - это другая система, в которой есть *настройки*, о которых люди Ubuntu могут не знать полностью, а также их дополнительные последствия для безопасности и т. д. Вам лучше всего обращаться за помощью, полностью осведомленным о вашей системе и ее дизайнерских решениях.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.