Изменить разрешение из командной строки в виртуальном окне


18

В виртуальной коробке как можно изменить разрешение экрана из командной строки? (Или, если есть один для любого типа компьютера, это тоже может сработать).


1
Вы хотите сделать это из командной строки хоста или гостя?
CarlF

2
может это я, но при чем тут ОС?
Якуб

Подробный ответ можно найти здесь на SO: stackoverflow.com/questions/10725867/…
Cloud

Ответы:


19

Вы можете быстро «подсказать» окно определенного размера с помощью следующей команды:

VBoxManage controlvm <uuid>|<name> setvideomodehint <xres> <yres> <bpp>

Например, если у вас есть гость под названием «Windows XP Pro», и вы хотите установить разрешение 1024x600 при 32 битах на пиксель (32-битный), вы должны использовать следующую команду:

VBoxManage controlvm "Windows XP Pro" setvideomodehint 1024 600 32

Однако для этого есть некоторые предпосылки:

  1. Это работает, только если вы запустили гостевую ОС из оконной среды на хост-системе (т. Е. Windows / X Windows / Mac OS Desktop).

  2. Гостевые дополнения должны быть установлены в гостевой ОС.


VirtualBox OSE 4.0.4 не позволяет вам изменять разрешение экрана до размера, превышающего нормальный.
cweiske

2
Также обратите внимание, что эта команда должна быть запущена во время работы виртуальной машины. Мой опыт также показывает, что это необходимо установить VBoxManage setextradata global GUI/MaxGuestResolution any(перед запуском ВМ). Автоматическое изменение размера также должно быть отключено в меню просмотра. Если предполагаемое разрешение особенно высокое (особенно если оно выше, чем разрешение хоста), возможно, придется выделить больше видеопамяти.
Боб

Можно ли как-то сохранить этот параметр?
naitsirch

3

Во-первых, vm должен быть включен, вы можете включить с помощью команды:

# VBoxManage startvm "VPN" --type headless

Прежде чем вы сможете изменить разрешение:

# VBoxManage controlvm "VPN" setvideomodehint 1024 768 24

2

Если вы хотите изменить его из гостя:

В Windows : есть пара инструментов, которые позволяют вам сделать это легко из командной строки, особенно Display Changer .

В Linux : используйте xrandr -qдля отображения списка доступных режимов отображения, а затем xrandr -s #укажите #номер режима отображения, который вы хотите использовать. xrandr -qбудет отображать эти параметры номера рядом с каждым параметром отображения.


1
разрешение 10k x 8k, которое я пытался установить с помощью переключателя дисплея, никак не повлияло на virtualbox ose 4.0.4
cweiske

1

$ VBoxManage setextradata "WinXP" "CustomVideoMode1" "1440x900x16"
Где "WinXP" - это имя вашей виртуальной машины. Это решение несколько близко к истине :)


не работает здесь на VirtualBox OSE 4.0.4
cweiske

0

Загляните в документацию, прилагаемую к VirtualBox. Программа VBoxManage дает вам возможность изменять виртуальные машины из командной строки. Вы не можете сделать это, пока машина работает. Для этого вам нужно найти способ записать изменение разрешения для виртуальной операционной системы.


обратите внимание, что в некоторых случаях вам нужно будет установить «гостевые дополнения», чтобы правильно использовать VBoxManage, см. вопрос о похожей проблеме: superuser.com/questions/30924/…
Uwe Honekamp

0

RDP-клиент MS Windows для Mac OSX имеет настройку предпочтений, которую мне пришлось изменить в дополнение к добавлению пользовательских режимов видео (показано выше).

Выберите «Настройки» в меню RDC, затем нажмите «Показать». (Я собирался опубликовать изображение на экране, но функция предотвращения спама помешала ему.)

Выбрав «Полный экран», я смог изменить режим отображения на полный экран клиентского компьютера. В данном случае это MacBook с разрешением экрана 1280х800.


1
Загрузите изображение / ссылку, не вставляя его, и кто-то исправит это. Кроме того, «Показанное выше» на самом деле не сокращает его, поскольку в SU меняется порядок ответов - вы можете явно указать, какой ответ вы имеете в виду в будущем
Journeyman Geek
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.