Eu mesmo encontrei esse problema exato.
Primeiro, na maioria dos guias, você geralmente faz o seguinte:
-
Especifique uma resolução de monitor e, em seguida, forneça-a para gtf:%
gtf 1024 768 60
(obtenha as informações de Modeline para resolução de 1024x768 a 60Hz).
No meu caso, produz:# 1024x768 @ 60,00 Hz (GTF) hsync: 47,70 kHz; pclk: 64,11 MHz Modelo "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -Sync + Vsync
-
Crie o novo modo:
xrandr --newmode "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795
(NÃO inclua o-HSync +Vsync
à direita. Alguns guias recomendam que você faça isso, mas isso quebrará a configuração por algum motivo). -
Agora você deve poder adicionar o modo a uma nova exibição:
xrandr --addmode VBOX0 1024x768_60.00
-
Defina o novo modo para o dispositivo:
xrandr --output VBOX0 --mode 1024x768_60.00
Se o passo 3 ainda falhar (estas etapas funcionam para a tela do meu laptop que é 1680x1050, mas por algum motivo não para o meu monitor externo que suporta 1600x1200. Essas etapas funcionam para resoluções de até 1280x1024 para o meu monitor externo). , você ainda pode tentar deixar o xrandr usar o modo auto
. No meu caso, isso me permitiu ter a tela do meu laptop e o monitor externo funcionando perfeitamente. O script que eu uso está anexado abaixo:
#!/bin/bash
# Script to automatically resize virtual monitors in VirtualBox
# Start the server
sudo killall VBoxService
sleep 1
sudo VBoxService
sleep 1
# Start the client service
VBoxClient-all
# Get the modeline information we want for the following resolutions:
# [email protected] (Laptop display)
RES0="1680 1050 60"
# 1280x1024@60Hz (External monitor)
RES1="1280 1024 60"
# Setup mappings for physical to virtual monitors
MAP0="VBOX0"
MAP1="VBOX1"
# Generate settings
SETTINGS0=$( gtf $RES0 | grep Modeline | cut -d ' ' -f4-16 )
SETTINGS1=$( gtf $RES1 | grep Modeline | cut -d ' ' -f4-16 )
# Get name of modelines from settings
NAME0=$( echo $SETTINGS0 | cut -d ' ' -f1 )
NAME1=$( echo $SETTINGS1 | cut -d ' ' -f1 )
# Echo settings
echo "Modeline for Display 0 ($NAME0): $SETTINGS0"
echo "Modeline for Display 1 ($NAME1): $SETTINGS1"
# Create the new modelines via xrandr
xrandr --newmode $SETTINGS0
xrandr --newmode $SETTINGS1
# Add the newly created modelines to devices
xrandr --addmode $MAP0 $NAME0
xrandr --addmode $MAP1 $NAME1
# Finally, enable the new modes
xrandr --output $MAP0 --mode $NAME0
xrandr --output $MAP1 --mode $NAME1
# Extra: Attempt to run "auto" mode on the external monitor
# This is out last-ditch effort (which worked in this case) to get it running at
# 1600x1200 instead of 1280x1024 :)
xrandr --output $MAP1 --auto --above $MAP0