Q:

VirtualBox и Linux - подгонка размера экрана гостевой ОС

Имеется хост-машина с Windows 7 x64, на ней запущен VirtualBox 5.0.12, в котором развёрнута виртуальная машина Linux Mint 17.3 x64. В один прекрасный момент перестаёт подгоняться разрешение экрана гостевой ОС. Изменение разрешения экрана через GUI и xrandr работают, а автоматическое (при изменении размера окна или переходе в полноэкранный режим) - нет.
Что интересно - при растягивании окна на долю секунды дублируются обои, т.е. вроде бы как система пытается разрешение изменить, но оно тут же возвращается обратно.
Переустановка помогает ненадолго. В какой-то момент поведение опять портится. Версия дополнений роли не играет - на последней версии и на версии из репозитория (5.0.4) поведение идентичное. При загрузке с LiveDVD всё работает нормально. Виртуалка с Windows 7 тоже работает нормально.
В чём может быть проблема и как её побороть?

UPDATE 1
Экспериментальным путём выяснилось, что автоподгонка разрешения перестаёт работать, если через GUI в свойствах дисплея выставить что-нибудь стандартное (1024x768, 1920x1080 и т.п.) и нажать Apply. Если сохранять нестандартное (типа 1854x812) - работает.
Изменения с помощью xrandr ничего не ломают.

UPDATE 2
Оказалось, что GUI создаёт файл
~/.config/monitors.xml

и записывает в него установленное разрешение экрана. Если этого файла нет или в нём разрешение, которое что-то считает некорректным, то всё работает. Но стоит прописать туда стандартное и тут же сбивается авторесайз.

A:

Итак, изыскания привели к следующему результату.
Графический конфигуратор дисплея - апплет Дисплей/Monitor при сохранении настроек (нажатии Применить/Apply) создаёт файл
~/.config/monitors.xml

в который прописывается, в том числе, сохранённое разрешение экрана. При попытке изменения разрешения внешними средствами происходит перечитывание этого файла и возврат к установленным в нём значениям. Если этот файл удалить, изменение разрешения экрана гостевой ОС при изменении размеров окна виртуальной машины начинает работать корректно.
При перечитывании производится проверка сохранённого разрешения. Насколько я понял, для установки разрешения используется xrandr, который запрашивает у видеокарты список поддерживаемых режимов. Если режим есть в списке, xrandr меняет разрешение, если нет - ничего не делает. Поэтому при установке нестандартных разрешений всё работало - виртуальная видеокарта держит почти любое разрешение, но в ВМ выдаёт только небольшой их список.
Напрашивающееся решение проблемы - запретить создание или изменение файла monitors.xml. Как ни странно, смена владельца на root и установка "пустых" прав ни на что не повлияла - файл всё так же перезаписывался. Пришлось поступить более жестоко - создать пустой файл и выполнить команду
sudo chattr +i ~/.config/monitors.xml

После этого файл перезаписываться перестал, но и апплет перестал изменять разрешение экрана, ругаясь на невозможность переименовать файл.
Впрочем, данное решение меня устроило. Теперь этот файл не мешает, случайно его изменить не удастся, а менять разрешение экрана ВМ можно при помощи самого VirtualBox'а - либо таская углы/стороны окна, либо при помощи меню:
Вид -> Виртуальный экран N -> Запросить разрешение в XxY

Изменённое таким образом разрешение при перезагрузке ВМ сохраняется, поскольку VBox хранит его в настройках ВМ.

Хотелось бы, конечно, заставить Linux игнорировать monitors.xml при смене размера окна, но мне этого сделать не удалось.

