Пробовал "воткнуть" команду xrand в подменю grub
Напрасно. Механизм загрузки таков, что grub, строго говоря, напрямую к linux отношения не имеет, и команды xrandr не знает.
Возможна ли установка рабочих настроек экрана через редактирование команд в grub до загрузки ОС? Если да, то как.
Возможна. Ядро linux понимает параметр
video. Можно попробовать передать ядру напрямую разрешение экрана, с которым далее Вы желаете работать. Пример:
video=1024x768
для установки разрешения 1024x768 точек.
Шаг 1. Подбираем разрешение экрана. Перед тем как прописывать "на постоянку" следует выполнить тестовую загрузку. Для этого загружаем машину до появления меню GRUB2 (см. картинку под спойлером).
Примечание: если Ubuntu - единственная система, к примеру, меню данное при загрузке не отображается. В этом случае следует либо зажать Shift при загрузке машины, либо отчаянно долбить по Shift вплоть до появления на экране данного меню.
Увидев это меню, видим, что выделен пункт "Ubuntu". Нам он и нужен. Нажимаем клавишу "е" (латинская буква). Появляется окно текстового редактора:
Находим в нем строчку, которая начинается с linux. В примере:
linux /boot/vmlinuz-4.15.0-29-generic root=UUID=d23ed159-333f-4d6e-a63a-ee5f3ce862e7 ro quiet splash $vt_handoff
В данном случае параметры quiet и splash - прописанные для Ubuntu по-умолчанию. Если Вы уже успели поковыряться с системой, у Вас этих слов может не быть, поэтому привожу картинки:
В данном случае я подвел курсор (подчеркнутая белая полоска) при помощи стрелок на клавиатуре к тому сегменту, где прописаны эти самые дефолтные параметры:
... quiet splash ...
Теперь я их затираю и на их месте прописываю параметр
video=1280x800 чтобы обеспечить загрузку с размерами экрана 1280 на 800 точек:
Таким образом строка изменилась к виду:
linux /boot/vmlinuz-4.15.0-29-generic root=UUID=d23ed159-333f-4d6e-a63a-ee5f3ce862e7 ro video=1280x800 $vt_handoff
Готово. Жму F10. Пошла загрузка. После загрузки получаю желаемое разрешение экрана. Если оно не корректно - получаю черный экран, или еще какие-нибудь артефакты. После перезагрузки в последнем случае все вернется на круги своя. Такими вот загрузками подбираете для себя параметр, при котором Вас все устраивает.
Шаг 2. Прописываем желаемый параметр "на постоянку". Если желаемый параметр ядра вида
video=WIDTHxHEIGHT подобран, то имеет смысл прописать его по дефолту в систему. Для этого в системе открываем терминал, и выполняем команду:
sudo nano /etc/default/grub
Окно терминала преобразится до состояния окна текстового редактора nano. Находим строку с параметром GRUB_CMDLINE_LINUX_DEFAULT. Его значение по-умолчанию представляет собой уже встречавшиеся ранее по тексту "quiet splash":
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Но это не обязательно - он может быть вовсе пуст, или там написано нечто иное. Можно оставить эти два параметра и просто дописать к ним нашу связку
video=WIDTHxHEIGHT через пробел. Можно заменить их на нашу связку. В первом случае (дописываем) для установки тех же 1280х800 строка будет иметь вид:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=1280x800"
Во втором случае (заменяем) вид:
GRUB_CMDLINE_LINUX_DEFAULT="video=1280x800"
Приводим строку к желаемому виду в соответствии с описанным выше. Выходим из редактора, сохраняя изменения (нажать комбинацию клавиш
Ctrl+X для инициации выхода,
Y для подтверждения намерения сохранить изменения в файле,
Enter для подтверждения имени сохраняемого файла). Окно терминала снова станет окном терминала. В нем теперь следует выполнить команду:
sudo update-grub
Шаг 3. Проверяем, внеслись ли изменения в файл grub.cfg Далее можно убедиться в том, что изменения применились. Проверьте вывод команды
cat /boot/grub/grub.cfg | grep "menuentry 'Ubuntu'" -A16
Среди всех выданных терминалом строк найдите ту, что начинается с linux. В ней должен содержаться добавленный Вами ранее параметр вида
video=WIDTHxHEIGHT. Если это не так - ищите ошибку в своих действиях.
После шагов 2 и 3 перезагружаемся и проверяем - подобранный в ходе шага 1 параметр применяется по-умолчанию.