virtualbox: программно изменить разрешение изнутри гостя
Я устанавливаю виртуальную машину Linux, доступ к которой осуществляется через XRDP. Пользователь клиента будет иметь доступ к ВМ только через RDP. Я хочу, чтобы он мог изменить размер гостя, но я не нашел способа сделать это изнутри гостя. Как можно изменить разрешение гостя изнутри гостя? У меня установлены гостевые дополнения, но я не смог найти утилит, которые бы помогли.
С хоста вы можете запустить это: VBoxManage controlvm "Arch Linux" setvideomodehint 1440 900 32
Но, как я уже говорил ранее, хост будет недоступен для пользователя.
Есть идеи?
1 ответ
Пользователь должен иметь доступ к xrandr
который перечислит доступные видео режимы. Если клиент RDP поддерживает изменение размера после подключения, это должно позволить им немедленно увидеть изменение. В противном случае виртуальная машина должна сохранить настройку после отключения и повторного подключения. Бег xrandr
без каких-либо аргументов выдаст список доступных разрешений. Например:
% xrandr
Screen 0: minimum 640 x 480, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
1280x1024 0.0*
1024x768 0.0
800x600 0.0
640x480 0.0
Затем поставляем -s n
Параметр установит разрешение. Например. xrandr -s 1
установит разрешение в 1024x768 в этом примере.
Вы также можете добавить резолюции с помощью setextradata
как это:
VBoxManage setextradata virtualmachine CustomVideoMode1 1120x986x32
Несколько режимов / разрешений можно установить, увеличивая 1 на конце. Просто убедитесь, что у вас установлены гостевые дополнения, иначе это может работать не так, как задумано.