И так, faq для тех, у кого при подключении к vga неправильно выдается список имеющихся разрешений. Поэтому в стандартной утилите настройки дисплея можно поставить разрешение не больше 1024×768. Цель: поставить разрешение 1600×900. Это делается так:
1. Открываем консоль. Узнаем список видеовыходов и поддерживаемых разрешений для каждого выхода командой

xrandr

У меня выходы назывались LVDS1 (монитор ноутбука) и VGA1 (внешний монитор).
2. Создаем Modeline для нужного режима:

cvt 1600 900 60

Первые два числа — разрешение, третье — частота обновления экрана (можно не задавать, по умолчанию будет 60). Команда выдаст примерно следующее:

Modeline “1600x900_60.00″  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync

3. Создаем режим:

xrandr  –newmode “1600x900_60.00″  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync

(после –newmode вставляем вывод команды cvt без слова Modeline).

4. Добавляем новый режим к нужному выходу:

xrandr –addmode VGA1 1600x900_60.00

5. Вводим xrandr и видим, что режим добавился. Теперь можно запустить стандартную утилиту (Система → Параметры → Экран) и поставить всё, что нужно. Из консоли поменять разрешение монитора можно так:

xrandr –output VGA1 –mode 1600x900_60.00

(Положительный эффект не гарантирую. У меня мой способ работает на одной видеокарточке, но не работает на другой (с тем же монитором), ругается на 4-м пункте. При этом под виндой в обоих можно выставить правильное разрешение.)