Столкнулся с проблемой, что невозможно изменить разрешение экрана гостевой ОС в гипервизоре Oracle VirtualBox. Ниже приведу способ, как разрешить эту задачу для практически любой гостевой ОС.
Предыстория
Когда начал изучать программирование на Hexlet, сразу же переехал на Linux, без возможности возврата. Снёс Windows, поставил Ubuntu.
Само собой сразу возникло много вопросов, как всё это работает и куда тыкать. Точно помню, что в курсе «Основы командной строки. Операционные системы", было знакомство с Linux и дополнительные материалы по установке Ubuntu и операционным системам.
Курс мотивировал изучать и исследовать Linux дальше.
- Освойте азы современных языков программирования
- Изучите работу с Git и командной строкой
- Выберите себе профессию или улучшите навыки
В общем и целом мне очень понравилась операционная система — она плавная и аккуратная. И в последствии конечно же захотелось попробовать как можно больше, найти свой дистрибутив и окружение рабочего стола. Чтобы испытать разные дистрибутивы с понравившимся мне DE, плюс для работы на удалёнке, мне нужен был Windows, поэтому я решил использовать VirtualBox.
Так вот, когда меняю разрешение экрана в настройках гостевой системы, нажимаю «Принять», но разрешение не меняется. А иногда необходимых параметров просто нет. Как-будто не установлены драйвера.
Решение
В общем вычитал, что необходимо поставить VBoxGuestAdditions - Гостевые дополнения. Это образ, который необходимо установить в привод виртуальной машины и запустить в гостевой системе. Данное дополнение предоставляет следующие возможности:
- Интеграция указателя мыши (полезно, единый курсор для хоста и гостя)
- Общие папки
- Лучшая поддержка видео (как следствие произвольное изменение сторон экрана)
- Бесшовные окна
- Общие каналы связи основная/гостевая ОС
- Синхронизация времени
- Общий буфер обмена
- Автоматические логины
Всю информацию взял с офф.сайта, где и расположена документация. Если интересны подробности по каждому пункту, ссылку оставлю тут.
Меня интересует конкретно ресайз окна. Сам образ VBoxGuestAdditions можно найти и скачать в сети, но, к сожалению, все источники не официальны. Но этого как оказалось и не требуется, опять же обратимся к докам, тут всё чётко сказано, что при установке лицензионного софта Oracle VirtualBox, VBoxGuestAdditions поставляется с установочным файлом.
Образ можно найти в основной системе:
- Для Windows
- C:\Program files\Oracle\VirtualBox.
- Для Mac OS X
- Файл находится в пакете приложений Oracle VM VirtualBox в папке Contents/MacOS.
- Для Linux
- Обычно /opt/VirtualBox/
В моём случае образ находился по адресу /usr/share/virtualbox/VBoxGuestAdditions.iso
Чтобы проще было его использовать в будущем и каждый раз не вспоминать, где он находится, скопировал образ в домашний каталог.
sudo cp usr/share/virtualbox/VBoxGuestAdditions.iso ~/VirtualBoxVMs/
Далее дело за малым, запускаем гостевую систему, монтируем диск VBoxGuestAdditions.iso в виртуальный привод или наоборот сначала монтируем, потом запускаем.
Ставим на Windows
- При монтировании CD система автозапуска предложит выбрать действие для обнаруженного диска
- Выбираем «Запустить»
- Если не предложит, нужно будет зайти в Проводник/Мой компьютер, открыть папку и запустить файл VBoxWindowsAdditions.exe
- Согласиться с установкой, подружить с антивирусом (Поставить галочку «Доверять»).
- Перезагрузить
Ставим на Linux
- Запустили ОС
- Монтируем диск
- Открываем эмулятор терминала (можно в файловом менеджере открыть папку с образом, правым кликом «Открыть в терминале»)
- sh ./VBoxLinuxAdditions.run
- Перезагрузить
Итог
Указателем мыши меняем размер окна или разворачиваем его на весь экран, рабочий стол гостевой системы меняет параметры разрешения автоматически под текущие размеры.
P.S.
Из опробованных дистров, почему-то не сработало на Ubuntu 18.04 LXQT и Debian или OPENSuse XFCE, точно уже не помню.
- Освойте азы современных языков программирования
- Изучите работу с Git и командной строкой
- Выберите себе профессию или улучшите навыки