Змінення роздільної здатності з командного рядка у віртуальному вікні


18

Як у віртуальному вікні я можу змінити роздільну здатність екрана з командного рядка? (Або якщо він є для будь-якого типу комп’ютера, він може також працювати).


1
Ви хочете зробити це з командного рядка хоста чи гостя?
CarlF

2
можливо, це я, але що ОС?
Якуб

Детальну відповідь можна знайти тут на SO: stackoverflow.com/questions/10725867/…
Хмара

Відповіді:


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
Також зауважте, що ця команда повинна бути запущена під час роботи VM. Мій досвід також свідчить про необхідність встановлення VBoxManage setextradata global GUI/MaxGuestResolution any(перед запуском VM). Автоматичний розмір також повинен бути відключений у меню перегляду. Якщо передбачувана роздільна здатність є особливо високою (особливо якщо вона вище, ніж роздільна здатність хоста), можливо, доведеться призначити більше відеопам'яті.
Боб

Чи можна якось зберегти цю настройку?
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 дає вам можливість змінювати VM з командного рядка. Однак ви не можете цього зробити, поки машина працює. Для цього вам потрібно знайти спосіб скриптування зміни роздільної здатності для операційної системи, яку ви віртуалізуєте.


Зверніть увагу, що в деяких випадках вам доведеться встановити "гостьові доповнення", щоб правильно використовувати VBoxManage, див. запитання щодо подібної проблеми: superuser.com/questions/30924/…
Uwe Honekamp

0

У клієнта MS Windows RDP для Mac OSX є налаштування переваг, які мені довелося коригувати на додаток до додавання користувацьких режимів відео (показано вище).

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

Вибравши "Повний екран", я зміг змінити режим відображення на весь екран клієнтського комп'ютера. У цьому випадку MacBook з роздільною здатністю екрана 1280x800.


1
Завантажте зображення / посилання, не вставляючи його, і хтось його виправить. Також "Показано вище" насправді не скорочується, оскільки порядок відповідей змінюється на SU - ви можете чітко вказати, на яку відповідь ви звертаєтесь у майбутньому
Journeyman Geek
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.