OK, I have found a temporary solution, which involves changing the info.plist
file inside the application.
Using XCode, open up:
/Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/Info.plist
Change High Resolution Capable
to NO
Save
I found that I had to change the file permissions to allow the changes to be saved.
I’m not very familiar with the PListBuddy
shell program, but the following also seems to work:
This displays the current settings:
sudo /usr/libexec/PlistBuddy \
-c 'print NSHighResolutionCapable' \
/Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/Info.plist
This changes the setting:
sudo /usr/libexec/PlistBuddy \
-c 'set NSHighResolutionCapable false' \
/Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/Info.plist
- The
sudo
is required to grant permissions to make changes.
- The
\
at the end of each line allows it to be continued on the next.
- The
-c ' … '
part is the actual command, which you could also use interactively.
As you see, the application is VirtualBoxVM.app
, which is unusual in that it is an app within an app. The normal location for the Info.plist
file is something like /Applications/something.app/Contents/Info.plist
.
I had to re-install Virtual Box, so I had to try this in earnest, and it worked for me.
I’m still looking for a better solution, though.
sudo nano /Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/Info.plist
and edited to<key>NSHighResolutionCapable</key> <false/>