Regolazione della geometria di visualizzazione in una macchina virtuale?


11

Esecuzione della beta 11.04 in una macchina virtuale Parallels 5.0, ma questa domanda si applicherà a qualsiasi software di virtualizzazione.

Gli strumenti di Parallels 5 Linux (aggiunte guest) non funzionano per 10.10 e 11.04 e non li voglio. Mi piace come è integrata la VM così com'è. L'unica cosa che deve essere messa a punto è la geometria dello schermo.

Nessuna delle opzioni in Sistemi -> Preferenze -> Monitor si adatta perfettamente al mio display. Ne ho bisogno a 1080 x 1920 (9:16) o 1920 x 1080 (16: 9) .

Molte risoluzioni diverse funzionano (vedi la seguente schermata), tra cui:

  • 1680 x 1080 (troppo stretto in orizzontale e un po 'troppo corto in verticale)
  • 1920 x 1200 (perfetto in orizzontale, ma un po 'troppo alto in verticale)

Come posso regolare manualmente la risoluzione dello schermo (dimensioni schermo / monitor)?

Quello che ho provato finora

$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
$ sudo xrandr --newmode "1920x1080"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr: Failed to get size of gamma for output default

$ cvt 1080 1920 
# 1080x1920 59.96 Hz (CVT) hsync: 119.26 kHz; pclk: 176.50 MHz
Modeline "1080x1920_60.00"  176.50  1080 1168 1280 1480  1920 1923 1933 1989 -hsync +vsync
$ sudo xrandr --newmode "1080x1920"  176.50  1080 1168 1280 1480  1920 1923 1933 1989 -hsync +vsync

$ sudo xrandr -q
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1920 x 1200, maximum 1920 x 1200
default connected 1920x1200+0+0 0mm x 0mm
   1920x1200       0.0* 
   1600x1200       0.0  
   1680x1050       0.0  
   1400x1050       0.0  
   1280x1024       0.0  
   1440x900        0.0  
   1280x960        0.0  
   1280x800        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
  1920x1080 (0x11d)  173.0MHz
        h: width  1920 start 2048 end 2248 total 2576 skew    0 clock   67.2KHz
        v: height 1080 start 1083 end 1088 total 1120           clock   60.0Hz
  1080x1920 (0x11e)  176.5MHz
        h: width  1080 start 1168 end 1280 total 1480 skew    0 clock  119.3KHz
        v: height 1920 start 1923 end 1933 total 1989           clock   60.0Hz

Le 2 nuove risoluzioni non vengono visualizzate nella GUI delle preferenze di monitoraggio: inserisci qui la descrizione dell'immagine

Prova della soluzione di Takkat

Ecco cosa faccio e ottengo:

$ gtf 1920 1080 60 -x

  # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
  Modeline "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

$ sudo xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

$ sudo xrandr --addmode default 1920x1080_60.00

$ xrandr 
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1680 x 1050, maximum 1920 x 1200
default connected 1680x1050+0+0 0mm x 0mm
   1920x1200       0.0  
   1600x1200       0.0  
   1680x1050       0.0* 
   1400x1050       0.0  
   1280x1024       0.0  
   1440x900        0.0  
   1280x960        0.0  
   1280x800        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   1920x1080_60.00   60.0  

Ho anche provato gtf 1920 1080 60 -x.

In entrambi i casi non posso passare a quella risoluzione e ottenere:

  • Impossibile impostare la configurazione per CRTC 262

inserisci qui la descrizione dell'immagine

Tutte le altre risoluzioni funzionano.


1
Hai installato le aggiunte degli ospiti? (o open-vmware-tools se si utilizza vmware)
OpenNingia,

@OpenNingia, lo sto installando su Parallels 5. Vorrei evitare di usare le aggiunte degli ospiti. Tutto ciò di cui ho bisogno è cambiare la risoluzione dello schermo.
Aleksandr Levchuk,

@Alexsandr Levchuk è il punto di aggiunta di guest, strumenti vmware, ecc .: è quello di offrirti un migliore supporto per i driver grafici, integrazione tastiera / mouse e qualche altro supporto hardware e di rete.
Jeremy Bicha,

@jbicha, ecco perché non ho bisogno di aggiunte per gli ospiti - per me tutti i punti citati funzionano bene senza le aggiunte per gli ospiti. Le aggiunte degli ospiti si interrompono ogni volta che c'è un aggiornamento del kernel. Nel caso di Parallels 5 non sono semplicemente disponibili per Ubuntu 10.10 e 11.4
Aleksandr Levchuk

a parte il fatto che il driver grafico non funziona correttamente, motivo per cui hai aperto questa domanda
Jeremy Bicha,

Risposte:


16

Visualizza impostazioni geometria in Virtual Box

In Oracle Virtual Box è possibile regolare la risoluzione dello schermo virtuale dopo aver installato Guest Additions semplicemente trascinando la finestra con il mouse o scegliendo la modalità a schermo intero. Non c'è bisogno di fare nulla con xorg.conf. XServer 1.10 (incluso in 11.04) e quindi Unity 3D funziona solo in Virtual Box> = 4.0.6 .

1. Usa il mouse per regolare le dimensioni dello schermo

Regolare lo schermo ridimensionando la Virtual Box Windows con il mouse consente qualsiasi risoluzione dello schermo fino alla risoluzione dello schermo host.

2. Utilizzare dimensioni dello schermo standard predefinde

Se hai bisogno di una risoluzione fissa (standard) puoi anche scegliere Impostazioni di sistema -> Monitor (per 11.04) o Display (per 12.04) per una selezione di risoluzioni fisse (qui mostrato per 12.04):

inserisci qui la descrizione dell'immagine

  • Per la massima risoluzione dello schermo host è necessario eseguire Virtual Box in modalità schermo intero ( Host+ F)
  • Per una risoluzione dello schermo host fissa, è necessario disabilitare il ridimensionamento automatico della visualizzazione ospite ( HOST+ G) dal menu Visualizza Virtual Box Manager .

3. Definire la nuova geometria con xrandr

Se hai bisogno di una geometria fissa che non sia nell'elenco delle risoluzioni per i monitor, dovrai usare xrandr per definire una nuova risoluzione:

Per prima cosa usiamo gtfper calcolare la modeline delle possibili risoluzioni:

gtf <xres> <yres> <refresh> [-x]

Fornire i valori desiderati per la risoluzione x, la risoluzione y e la frequenza di aggiornamento. Il flag -x è predefinito e può essere omesso. Per una risoluzione verticale 480x640 a 60 Hz otterrai il seguente output:

$ gtf 480 640 60 -x
$ 480x640 @ 60.00 Hz (GTF) hsync: 39.78 kHz; pclk: 24.82 MHz Modeline "480x640_60.00" 24.82 480 504 552 624 640 641 644 663 -HSync +Vsync

Da questo possiamo copiare e incollare la modeline per aggiungerla all'elenco xrandr delle risoluzioni note:

xrandr --newmode "480x640_60.00" 24.82 480 504 552 624 640 641 644 663 -HSync +Vsync

e aggiungilo per Virtual Box Monitor:

xrandr --addmode VBOX0 480x640_60.00

Sostituire VBOX0con il monitor appropriato se è stata impostata la Virtual Box con più monitor (o qualsiasi altro nome di output riportato dal driver).

Ora possiamo passare alla geometria appena definita come descritto sopra ( 2. ).


3
Virtual box 4.0 ha una nuova "modalità di scala" per le dimensioni dello schermo. virtualbox.org/wiki/Changelog
djangofan

2
Consiglio vivamente di usare VirtualBox (VB); funziona su qualsiasi sistema operativo, non solo sui Mac. È open source e quindi si trova nei repository di Ubuntu se si desidera che Ubuntu sia il sistema operativo host e gli guest-utils siano nei repository se si desidera che Ubuntu sia il guest (ma si desidera assicurarsi che il guest -utils numero di versione corrisponde alla versione VB). Poiché la maggior parte di noi non ha installato Parallels, è più difficile trovare il supporto della comunità dagli utenti di Ubuntu.
Jeremy Bicha,

Caro @Takkat, sono bloccato nell'ultima parte - xrandr --addmode VBOX0 480x60_60.00. Non ho il VBOX0. Dove posso trovare l'elenco dei monitor disponibili?
Aleksandr Levchuk,

@Takkat, grazie per aver spiegato come cercare il monitor (il mio era "predefinito"). Sono più lontano ma ho ancora un blocco. Si prega di consultare il mio aggiornamento nella domanda.
Aleksandr Levchuk,

@Takkat, tutte le mie operazioni erano in modalità a schermo intero.
Aleksandr Levchuk,

3

In VirtualBox uso una versione minima del buon vecchio xorg.conf:

Section "Monitor"
    Identifier      "Monitor0"
    HorizSync       30.0 - 96.0
    VertRefresh     50.0 - 160.0
EndSection

Section "Device"
    Identifier      "Device0"
    Driver          "vesa"
EndSection

Section "Screen"
    Identifier      "Screen0"
    Monitor         "Monitor0"
    Device          "Device0"
    DefaultDepth    24
    SubSection "Display"
        Depth       24
        Modes       "1280x1024"
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier      "Layout0"
    Screen          "Screen0"
EndSection

Non so se è necessario fornire HorizSync e VertRefresh per un TFT, ma in ogni caso non copiare i miei valori!


Probabilmente non più necessario. Virtual box 4.0 ha una nuova "modalità di scala" per le dimensioni dello schermo. virtualbox.org/wiki/Changelog
djangofan

Questo non ha funzionato per me. Dopo aver posizionato il file xorg.conf e riavviato lo schermo diventa nero. Recuperato con ctrl + alt + f1
Aleksandr Levchuk il



0

Ho avuto questo problema con Windows8 (Host Ubuntu). Non si ridimensionerebbe in base alle dimensioni del monitor esterno.

In Virtualbox, File, Preferenze [CTRL] + [G], Schermo, scegli Dimensione massima schermo ospite - Automatica.

Risolto. VirtualBox - Impostazioni


0

Solo per riassumere una risposta funzionante in modo succinto. Testato nel 18.04 con lubuntu-desktop:

  1. Installa aggiunte guest sulla VM:sudo apt-get install virtualbox-guest-dkms
  2. Riavvia la VM: sudo shutdown -r now
  3. Dopo aver effettuato l'accesso alla VM, ridimensionare la finestra di VirtualBox alla dimensione desiderata. (La schermata della VM all'interno della finestra non viene ancora ridimensionata automaticamente.)
  4. Sulla VM, vai su Preferenze -> Impostazioni monitor -> seleziona Auto -> Applica -> OK

(È possibile saltare il passaggio 1 se le aggiunte ospite sono già installate. Controllare se sudo lsmod | grep vboxrestituisce prima qualcosa).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.