LINUX.ORG.RU

Vmware vs VirtualBox guest screen resolution

 , ,


0

1

Всем привет! Недавно поднимал вопрос графической производительности в виртуалках на основе VirtualBox. Как оказалось, в vmware действительно с этим обстоят дела лучше (но не сказать, что сильно лучше), поэтому потихоньку тестирую vmware workstation и планирую перемещаться в него (в качестве хост-системы выступает win10). Установил в качестве guest Linux Mint. Теперь вот вожусь с разрешением экрана в Linux Mint. Выяснил, что это очень неудобно, если сравнивать с VirtualBox. Поясню на конкретном примере: У меня два монитора с разным разрешением (1920x1080 и 1680x1050). Я регулярно перетаскиваю окно с виртуалкой с монитора на монитор и включаю полноэкранный режим. На обоих мониторах в этом случае происходит автоподстройка разрешения в момент применения полноэкранного режима. Более того, при изначальном запуске виртуалки в полноэкранном режиме установится в ней именно то разрешение экрана, на котором она отображается (если можно так выразиться). А в vmware по умолчанию такого нет. Когда я запустил виртуалку и установил vmwaretool, разрешение осталось равным 800x600. Потом я пошёл в настройки монитора в guest-системе и ручками хотел выбрать то разрешение, которое соответствует экрану. К моему удивлению, его не оказалось (но есть, например, 1920x1200 и для 1680 точек не помню, сколько по вертикали, но не 1050). Погуглил, нашёл решение, чтобы добавить нужное мне разрешение:

cvt 1920 1080
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode Virtual1 1920x1080_60.00
xrandr --output Virtual1 --mode 1920x1080_60.00

Но оно пропадает после ребута. Как я понял, там что-то с файлом xorg.conf и мне ещё предстоит с этим разобраться. Но даже если я это сделаю, это не решит проблему того, что у меня два экрана с разным разрешением. Если я перетаскиваю окно на другой монитор и там применяю полноэкранный режим, мне надо зайти в настройки монитора и сменить разрешение экрана. Это жутко неудобно. И, естественно, сразу возникает вопрос, почему в VirtualBox это работает из коробки и вообще, может, я чего-то неправильно стал делать, и в vmware оно тоже есть, но я типа где-то не там ищу. Вот, соответственно, и вопрос. Можно ли как-то автоматизировать автоподстройку разрешения экрана? И чтобы оно не сбрасывалось в случае ребута виртуалки на этом экране.

Можно ли как-то автоматизировать автоподстройку разрешения экрана?

Как два пальца. Ты же уже знаешь команды, которые нужны. Всё, что нужно — написать скрипт, который их выполняет и поместить в автозапуск.

Ладно, не буду мучить:

mkdir -p ~/.local/bin
echo '#!/bin/bash' > ~/.local/bin/scr.sh
echo 'xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync' >> ~/.local/bin/scr.sh
echo 'xrandr --addmode Virtual1 1920x1080_60.00' >> ~/.local/bin/scr.sh
echo 'xrandr --output Virtual1 --mode 1920x1080_60.00' >> ~/.local/bin/scr.sh
echo 'exit' >> ~/.local/bin/scr.sh
chmod +x ~/.local/bin/scr.sh
mkdir -p ~/.config/autostart/
echo '[Desktop Entry]' > ~/.config/autostart/scr.desktop
echo 'Type=Application' >> ~/.config/autostart/scr.desktop
echo "Exec=$HOME/.local/bin/scr.sh" >> ~/.config/autostart/scr.desktop
echo 'Hidden=false' >> ~/.config/autostart/scr.desktop
echo 'X-GNOME-Autostart-enabled=true' >> ~/.config/autostart/scr.desktop
echo 'Name=SCR' >> ~/.config/autostart/scr.desktop
echo 'Comment=scr' >> ~/.config/autostart/scr.desktop

Это команды, которые создают скрипт и делают его запускаемым автоматически.

Vsevolod-linuxoid ★★★★★ ()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)

Установил в качестве guest Linux Mint.

В убунте из коробки не ставятся open-vm-tools и автоподгонка разрешения не работает. Полагаю, что в минте то же самое.

Поставь open-vm-tools-desktop и все должно заработать автоматом (при условии что свои костыли не будут мешать)

Для wayland сессии надо еще проверить, что в /etc/vmware-tools/tools.conf включен resolutionKMS

Midael ★★★★★ ()
Последнее исправление: Midael (всего исправлений: 3)