In virtual box, how can I change the screen resolution from the command line? (Or if there's one for any type of computer, that might work too).
You can quickly "hint" the window to a specific size with the following command:
VBoxManage controlvm <uuid>|<name> setvideomodehint <xres> <yres> <bpp>
For example, if you have a guest called "Windows XP Pro", and you wish to set the resolution to 1024x600 at 32 bits per pixel (aka 32 bit) you would use the following command:
VBoxManage controlvm "Windows XP Pro" setvideomodehint 1024 600 32
There are some prerequisites for this however:
This only works if you've launched the Guest OS from a windowed environment on the Host OS (ie. Windows / X Windows / Mac OS Desktop).
Guest Additions must be installed in the Guest OS.
First, the vm must be turned on, you can power on with command:
# VBoxManage startvm "VPN" --type headless
Before you can change the resolution:
# VBoxManage controlvm "VPN" setvideomodehint 1024 768 24
If you wish to change it from within the guest:
In Windows: there are a couple tools that allow you to do this easily from the command line, notably Display Changer.
In Linux: Use
xrandr -q to list available display modes, then
xrandr -s # where
# is the number of the display mode you wish to use.
xrandr -q will display these number options next to each display option.
$ VBoxManage setextradata "WinXP" "CustomVideoMode1" "1440x900x16"
Where "WinXP" is your virtual machine name. This solution is somewhat close to truth :)
Look inside the documentation provided with VirtualBox. The VBoxManage program gives you the ability to modify VMs from the command line. You can't do this while the machine is running, however. To do that you'll need to find a way to script the resolution change for the operating system you are virtualizing.
The MS Windows RDP client for Mac OSX has a preference setting that I had to adjust in addition to adding the custom video modes (shown above).
Select Preferences from the RDC menu, then click on 'Display'. (I was going to post a screen image, but the spam prevention feature prevented it.)
By selecting 'Full screen', I was able to get the display mode changed to the full screen of the client computer. In this case, a MacBook with a screen resolution of 1280x800.