Puncte:-1

Nu se pot activa mai multe monitoare pentru un VM invitat

drapel in
Ben

Aceasta este prima mea încercare de a face mai multe monitoare să funcționeze cu un VM. Încă nu am avut succes.

Lucrez la o mașină gazdă Linux Mint 20.2, care are Ubuntu 20.04 ca bază. Kernel 5.4.0-100-generic.

Folosesc virt-manager (2.2.1) și am reușit să creez și să rulez cu succes mașini invitate PopOS, Mint (20.3) și Arch Linux (2022.02.01). Nu pot face ca niciunul dintre ei să afișeze mai multe monitoare.

O proporție semnificativă a problemelor din jurul acestui lucru ajung să mă îndrepte spre asta demonstrație pe youtube. Metoda de bază descrisă aici nu funcționează pentru mine.

XML-ul secțiunii mele Display Spice citește:

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

Am setat numărul de capete din secțiunea Video QXL la 2, 3 sau 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>

Accesarea mașinii care rulează folosind virt-viewer sau remote-viewer are succes, dar este disponibil un singur afișaj. Pentru valorile capete >=2, sunt prezente intrările de afișare corespunzătoare din meniu, dar sunt lacome și inaccesibile. În cadrul mașinii virtuale (orice aromă) xrandr îmi oferă:

Screen0: minim 320x200, curent 1024x768, maxim 8192x8192
Virtual-1 conectat primar 1024x768+0+0 0mm x 0mm
1024x768 60,00*+
{...linii multiple}
Virtual-2 deconectat
Virtual-3 deconectat

La fel de cel mai bine pot spune, aceasta este modalitatea recomandată de a face acest lucru pentru oaspeții Linux, suportând teoretic până la 4 ecrane. Pentru divertisment, am încercat să adaug dispozitive qxl suplimentare, așa cum este recomandat pentru oaspeții Windows, ceea ce deschide într-adevăr ecrane suplimentare, dintre care niciunul nu primește semnal de la oaspete (perpetuu „în așteptare pentru afișarea 2”)

Am crescut cerințele de memorie așa cum este descris în mirodenii-spațiu pentru a putea face față cu patru monitoare, fără nicio modificare a rezultatelor.

    <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>

Nu-mi amintesc cum am ajuns acolo, dar această pagină menționează monitoare de cartografiere în fișierul de configurare virt-viewer. Pot mapa monitoare:

[a2459703-ffc5-45a1-849e-b21c67186aa6]
monitor-mapping=1:2;2:3

Apoi folosind

virt-viewer --full-screen vm1 

În mod ciudat, deschide o singură fereastră pe al doilea și al treilea monitor, mai degrabă decât o fereastră de afișare pentru fiecare monitor, ceea ce mă așteptam. Poate că am omis ceva sau am înțeles complet greșit cum ar trebui să funcționeze.

M-am gândit că poate fi din cauza unei versiuni vechi de virt-manager/virt-viewer.Am reușit să pun virt-manager 3.2.0 să ruleze după descărcarea de pe virt-manager repo, fără niciun efect. Cea mai recentă versiune disponibilă de virt-viewer în repozițiile Mint pare să fie 7.0,

actualizare sudo apt 
sudo apt install virt-manager

rezultă numai în versiunea 7.0. Versiunea 11 pare să fie disponibilă în virt-viewer repo, dar nu pot pentru toată viața să-mi dau seama cum să instalez asta fără instrucțiuni de instalare identificabile - toate instrucțiunile pe care le pot găsi mă referă la utilizarea apt pentru a-l instala.

Cel mai aproape de a găsi un mesaj de eroare este atunci când rulez virt-viewer cu indicatorul de depanare:

virt-viewer:23920): virt-viewer-DEBUG: 14:32:11.467: se conectează...
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:11.467: Deschiderea conexiunii la libvirt cu URI <null>
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:11.469: conectare inițială
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:11.469: notebook arată starea 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.326: virt_viewer_app_set_uuid_string: UUID schimbat în a2459703-ffc5-45a1-849e-b21c67186aa6
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.326: notebook arată starea 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.327: Guest vm1 rulează, determinând afișarea
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.328: Setați informațiile de conectare: (null),(null),-1,-1,(null),(null),(null), 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.330: Guest vm1 are un afișaj de condimente
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.363: adresa grafică a invitaților este 127.0.0.1:5900
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.364: Setați informațiile de conectare: localhost,127.0.0.1,5900,-1,(null),(null),(null),-1
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.364: Operațiune de eroare interzisă: accesul numai pentru citire împiedică virDomainOpenGraphicsFD
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.364: După deschiderea conexiunii, apel invers fd=-1
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.364: Deschiderea conexiunii directe TCP pentru afișare la 127.0.0.1:5900:-1
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.370: nou canal de condimente 0x555ddc97a200 SpiceMainChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.370: notebook arată starea 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.371: reconnect_poll: 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.482: canal principal: deschis
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.482: notebook afișează starea 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: aplicația nu este pe ecran complet
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: aplicația nu este pe ecran complet
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: nou canal de condimente 0x555ddc950890 SpiceUsbredirChannel 1
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: nou canal usbredir
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: nou canal de condimente 0x555ddc941090 SpiceUsbredirChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: nou canal usbredir
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: Nou canal de condimente 0x555ddc95aa70 SpiceRecordChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: nou canal de condimente 0x555ddc941b30 SpicePlaybackChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.483: canal audio nou
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.509: Nou canal de condimente 0x555ddc933960 SpiceDisplayChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.509: Nou canal de condimente 0x555ddcc0d990 SpiceCursorChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.512: nou canal de condimente 0x555ddcc0cdc0 SpiceInputsChannel 0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.512: canal de intrări noi
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.661: crearea afișajului de condimente (#:0)
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.661: Inserați afișajul 0 0x555ddc8c6f20
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.709: crearea afișajului de condimente (#:1)
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.709: Inserați afișajul 1 0x555ddc8c6d70
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.709: S-a găsit o fereastră fără afișaj, reutilizand pentru afișajul #0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.710: notebook afișează afișaj 0x555ddc8a82b0
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.713: Alocat 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.713: Child alocă 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.736: alocat 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:13.736: Child alocă 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:24.945: Alocat 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:24.946: Child alocă 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:24.964: Alocat 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:24.964: Child alocă 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:25.055: Alocat 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:25.056: Child alocă 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:25.587: Alocat 1024x768
(virt-viewer:23920): virt-viewer-DEBUG: 14:32:25.587: Child alocă 1024x768

„Operațiunea de eroare interzisă: accesul numai în citire împiedică virDomainOpenGraphicsFD” m-a condus la discuții despre încercarea de a utiliza virt-viewer ca un alt utilizator cu permisiuni non-root. Doar pentru a verifica, apoi am rulat virt-manager și virt-viewer ca același utilizator care se află în grupul sudo. Din nou, nicio schimbare.

Orice indicații cu privire la unde ar trebui să mă uit în continuare sau ce ar putea fi util pentru a depana acest lucru ar fi apreciat.

guiverc avatar
drapel cn
Numai Ubuntu și aromele oficiale ale Ubuntu (https://ubuntu.com/download/flavours) sunt la subiect aici, consultați https://askubuntu.com/help/on-topic unde veți găsi alte site-uri SE unde întrebarea dvs. va fi binevenită dacă nu doriți să utilizați un forum Linux Mint. (*Un avantaj al Ubuntu este că are multe opțiuni de asistență, ați optat pentru Linux Mint, așa că profitați de opțiunile de asistență ale acestuia sau SE Unix și Linux*)
guiverc avatar
drapel cn
Ubuntu și *aromele* Ubuntu sunt *ajustări* gratuite. Când codul trebuie modificat, este modificat și recompilat și nu sunt executate ajustări de timp de execuție (sau *hack-uri*) deoarece folosesc propriile pachete, nu un pachet din amonte pe care nu îl pot controla. Mint este un sistem diferit care are *ajustările* făcute de care oamenii Ubuntu ar putea să nu fie pe deplin conștienți, nici implicațiile suplimentare de securitate ale acestora etc... Cel mai bine căutați ajutor pe deplin conștient de sistemul dvs. și de deciziile de proiectare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.