Класична ситуація: є сервер з * nix і на ньому піднятий VirtualBox. В один момент доступ до однієї з віртуальних машин пропав. Потрібно підключиться до консолі, але як? Ніде немає GUI. що б як на робочому столі, взяти і підключитися.
Вихід є: запустити заново віртуальну машину в режимі headless. Тримати запущеним весь час віртуальну машину в цьому режимі небезпечно, так як відкривається консоль на порту на всіх інтерфейсах, тим більше, якщо ваш сервер дивиться в світ.
Дізнаємося список віртуальних машин
Вимикаємо віртуальну машину будь-яким способом і запускаємо в headless режимі:
# VBoxHeadless -s deb0 -v on -p 3390
У новій версії використовуємо параметр -e:
Warning: '-p' or '-vrdpport' are deprecated. Use '-e "TCP / Ports = 3390"'
# VBoxHeadless -s deb0 -v on -e "TCP / Ports = 3390"
При цьому, порт консолі буде 3390.
Перевіряємо, що машина запустилася
І тепер підключаємося до неї:
$ Rdesktop -g 1024x768 -a 16 -5 XX.XX.XX.XX: 3390
Після завершення робіт, запустіть віртуальну машину в нормальному режимі.
Зміна кількості пам'яті.
Знадобилося змінити пам'ять з 1Гб до 2Гб. Зупиняємо машину і міняємо:
# VBoxManage modifyvm "deb0" --memory 2048
VBoxManage: error: The machine is not mutable (state is Saved)
VBoxManage: error: Details: code VBOX_E_INVALID_VM_STATE (0x80bb0002), component SessionMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "COMSETTER (MemorySize) (ValueUnion.u32)" at line 470 of file VBoxManageModifyVM.cpp
Лікується це так:
# VBoxManage list vms
"Deb0"
# VBoxManage discardstate ""
# VBoxManage modifyvm "deb0" --memory 2048
Після цього запускаємо машину