¿Ajustar la geometría de la pantalla en una máquina virtual?


11

Ejecutando 11.04 beta en una máquina virtual Parallels 5.0, pero esta pregunta se aplicará a cualquier software de virtualización.

Las herramientas de Parallels 5 Linux (adiciones de invitados) no funcionan para 10.10 y 11.04 y no las quiero. Me gusta cómo se integra la VM tal como está. Lo único que necesita ajuste es la geometría de la pantalla.

Ninguna de las opciones en los Sistemas -> Preferencias -> Monitores se ajustan perfectamente a mi pantalla. Lo necesito a 1080 x 1920 (9:16) o 1920 x 1080 (16: 9) .

Muchas resoluciones diferentes funcionan (vea la captura de pantalla a continuación), entre las cuales se encuentran:

  • 1680 x 1080 (demasiado estrecho horizontalmente y un poco demasiado corto verticalmente)
  • 1920 x 1200 (perfecto horizontalmente, pero un poco demasiado alto verticalmente)

¿Cómo puedo ajustar la resolución de pantalla (tamaño de pantalla / monitor) manualmente?

Lo que probé hasta ahora

$ 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

Las 2 nuevas resoluciones no aparecen en la GUI de preferencias del monitor: ingrese la descripción de la imagen aquí

Probar la solución de Takkat

Esto es lo que hago y obtengo:

$ 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  

También lo intenté gtf 1920 1080 60 -x.

En ambos casos no puedo cambiar a esa resolución y obtener:

  • No se pudo establecer la configuración para CRTC 262

ingrese la descripción de la imagen aquí

Todas las otras resoluciones funcionan.


1
¿Instalaste las adiciones de invitados? (o open-vmware-tools si usa vmware)
OpenNingia

@OpenNingia, lo estoy instalando en Parallels 5. Me gustaría evitar usar adiciones de invitados. Todo lo que necesito es cambiar la resolución de la pantalla.
Aleksandr Levchuk

@Alexsandr Levchuk el objetivo de las adiciones de invitados, las herramientas de vmware, etc .: es brindarle una mejor compatibilidad con controladores de gráficos, integración de teclado / mouse y algún otro soporte de hardware y red misceláneo.
Jeremy Bicha

@jbicha, por eso no necesito adiciones de invitados: para mí, todos los puntos mencionados funcionan bien sin las adiciones de invitados. Las adiciones de invitados se rompen cada vez que hay una actualización del kernel. En el caso de Parallels 5, simplemente no están disponibles para Ubuntu 10.10 y 11.4
Aleksandr Levchuk

excepto que el controlador de gráficos no funciona correctamente, razón por la cual abrió esta pregunta
Jeremy Bicha

Respuestas:


16

Mostrar configuración de geometría en Virtual Box

En Oracle Virtual Box puede ajustar la resolución de la pantalla virtual después de haber instalado Guest Additions simplemente arrastrando la ventana con el mouse o eligiendo el modo de pantalla completa. No es necesario hacer nada con xorg.conf. XServer 1.10 (incluido en 11.04) y, por lo tanto, Unity 3D solo se ejecuta en Virtual Box> = 4.0.6 .

1. Use el mouse para ajustar el tamaño de la pantalla

El ajuste de la pantalla cambiando el tamaño de la Virtual Box Windows con el mouse permite cualquier resolución de pantalla hasta la resolución de la pantalla del host.

2. Utilice tamaños de pantalla estándar predefinidos

Si necesita una resolución fija (estándar), también puede elegir Configuración del sistema -> Monitores (para 11.04) o Pantallas (para 12.04) para una selección de resoluciones fijas (aquí se muestra para 12.04):

ingrese la descripción de la imagen aquí

  • Para obtener la resolución máxima de la pantalla del host, deberá ejecutar Virtual Box en modo de pantalla completa ( Host+ F)
  • Para una resolución de pantalla de host fija, necesitamos desactivar el cambio automático de tamaño de la pantalla de invitado ( HOST+ G) desde el menú Ver de Virtual Box Manager .

3. Definir nueva geometría con xrandr

Si necesita una geometría fija que no esté en la lista de resoluciones para monitores, deberá usar xrandr para definir una nueva resolución:

Primero usamos gtfpara calcular la línea de modelo de posibles resoluciones:

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

Proporcione los valores deseados para la resolución x, la resolución y y la frecuencia de actualización. La bandera -x es la predeterminada y se puede omitir. Para una resolución vertical de 480x640 a 60 Hz, obtendrá la siguiente salida:

$ 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

A partir de esto, podemos copiar y pegar la línea de modelo para agregarla a la lista xrandr de resoluciones conocidas:

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

y agregue esto para el Virtual Box Monitor:

xrandr --addmode VBOX0 480x640_60.00

Reemplace VBOX0con el monitor apropiado si ha configurado Virtual Box con varios monitores (o cualquier otro nombre de salida que informe el controlador).

Ahora podemos cambiar a la geometría recién definida como se describió anteriormente ( 2. ).


3
Virtual box 4.0 tiene un nuevo "modo de escala" para el tamaño de la pantalla. virtualbox.org/wiki/Changelog
djangofan

2
Recomiendo usar VirtualBox (VB); funciona en cualquier sistema operativo, no solo en Mac. Es de código abierto y, por lo tanto, está en los repositorios de Ubuntu si desea que Ubuntu sea el sistema operativo host y las utilidades de invitado están en los repositorios si desea que Ubuntu sea el invitado (pero desea asegurarse de que el invitado -utils número de versión coincide con la versión VB). Como la mayoría de nosotros no tenemos instalado Parallels, es más difícil para usted encontrar soporte comunitario de los usuarios de Ubuntu.
Jeremy Bicha

Estimado @Takkat, estoy atrapado en la última parte - xrandr --addmode VBOX0 480x60_60.00. No tengo el VBOX0. ¿Dónde puedo obtener la lista de monitores disponibles?
Aleksandr Levchuk

@Takkat, gracias por explicar cómo buscar el monitor (el mío era "predeterminado"). Estoy más lejos pero todavía tengo un bloqueador. Por favor vea mi actualización en la pregunta.
Aleksandr Levchuk

@Takkat, todas mis operaciones estaban en modo de pantalla completa.
Aleksandr Levchuk

3

En VirtualBox utilizo una versión mínima del viejo 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

No sé si necesita proporcionar HorizSync y VertRefresh para un TFT, pero en cualquier caso, ¡no copie mis valores!


Probablemente ya no sea necesario. Virtual box 4.0 tiene un nuevo "modo de escala" para el tamaño de la pantalla. virtualbox.org/wiki/Changelog
djangofan

Esto no funcionó para mí. Después de colocar el archivo xorg.conf y reiniciar, la pantalla se vuelve negra. Recuperado con ctrl + alt + f1
Aleksandr Levchuk



0

Tuve este problema con Windows8 (Host Ubuntu). No se escalaría al tamaño del monitor externo.

En Virtualbox, Archivo, Preferencias [CTRL] + [G], Pantalla, elija Tamaño máximo de pantalla de invitado - Automático.

Resuelto VirtualBox - Configuración


0

Solo para resumir una respuesta funcional sucintamente. Probado en 18.04 con lubuntu-desktop:

  1. Instalar adiciones de invitados en la VM:sudo apt-get install virtualbox-guest-dkms
  2. Reinicie la VM: sudo shutdown -r now
  3. Después de iniciar sesión en la máquina virtual, cambie el tamaño de la ventana de VirtualBox al tamaño deseado. (La pantalla de VM dentro de la ventana todavía no cambia de tamaño automáticamente).
  4. En la VM, vaya a Preferencias -> Configuración del monitor -> seleccione Automático -> Aplicar -> Aceptar

(Puede omitir el paso 1 si las adiciones de invitados ya están instaladas. Verifique si sudo lsmod | grep vboxdevuelve algo primero).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.