Разрешение монитора в Linux
Проблема с разрешениеv монитора в Linux (Ubuntu)
Когда я поставил себе Ubuntu, то первой серьезной проблемой было разрешение моего монитора: ubuntu никик не хотела понимать, что мой моник (Acer AL1916W) крут и его рабочее разрешение - это 1440x900, а не 1024x768.
Да, такое бывает часто. Слава Богу, Что эту проблему достаточно просто решить. В данной статье мы рассмотрим
- Как изменить текущее разрешение монитора на новое из командно строки?
- Как добавить новое разрешение для монитора?
- Как сохранить новое разрешение для монитора?
Изменение разрешения монитора в Linux
Для того чтобы посмотреть, на что вообще способны по мнению Linux ваши мониторы (или монитор, если он один), нужно выполнить команду xrandr из консоли (Ctrl+Alt+T):
xrandr
В результате вы получите что-то типа такого (у меня 2 монитора):
Вы можеет увидеть здесь два видеовыхода: DVI-0 и VGA-0, а ниже доступные разрешения для каждого из мониторов на этих видеовыходах. У вас выходы могут называться по разному: LVDS1 — экран ноутбука, VGA1 — экран, подключаемый через VGA, DVI1 — экран, подключаемый через DVI, HDMI — экран, подключенный через HDMI.
итак, если нужное вам разрешение присутствует в списке разрешений для вашего монитора, то применить его можно очень просто: xrandr --output Название_выхода --mode Режим. В моем случае команда будет выглядеть так:
xrandr --output DVI-0 --mode 1280x1024
Вуаля, на вашем мониторе уже должно смениться разрешение :)
Добавление нового разрешения монитора в Linux
А что же делать, если нужного нам разрешения нет в предлагаемых? А вот что: можно просто добавить необходимое разрешение вручную. Для этого найдите характеристики вашего монитора и посмотрите, какое разрешение он поддерживает и на какой частоте. ВНИМАНИЕ! Если вы укажите частоту, на которой монитор работать не может, то потеряете графический интерфейс вашего Linux'а.
Ну к примеру, мы выяснили, что монитор Acer AL1916W отлично работает с разрешением 1440x900 на частоте в 60Гц. Давайте сгенерим для него так называемый конфиг командой cvt:
cvt 1440 900 60
Вывод команды будет таким:
Отсюда нам нужна вторая строчка, а именно все, что находится после "Modeline":
"1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
Далее мы создаем принципиально новый режим:
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
Осталось только привязать только что созданный режим к нужному монитору. Помните, в начале статьи мы смотрели, на каком выходе какой из мониторов? Привязка режима к конкретному монитору (выходу) делается так:
xrandr --addmode VGA-0 1440x900_60.00
xrandr --output VGA-0 --mode 1440x900_60.00
Ну вот, ваш монитор погас, включился и вы уже довольны :)
Добавление новой конфигурации монитора в автозагрузку
Да да да, вы спросите, и что, делать это каждый раз, когда запускается компьютер?
Нет, каждый раз делать этого не надо: просто не выключайте свой комп :) Шучу. Можно просто добавить эту конфигурацию в автозагрузку, и Linux сам будет все это прекрасно делать при запуске. Как? Давайте по шагам:
Ну на будущее лучше создать в домашнем каталоге папку ".bin", в которой будут храниться все исполняемые скрипты (поверьте, пригодится). Ну и сразу перейдем в эту папку:
cd ~
mkdir .bin
cd .bin
В папке создадим файл, назовем его, к примеру, load_screen.sh:
touch load_screen.sh
Открываем файл и добавляем в него все наши команды по созданию и добавлению режима монитора. Открыть файл:
nano load_screen.sh
Содержимое файла (для монитора, о котором идет речь в этой статье):
#!/bin/bash
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA-0 1440x900_60.00
xrandr --output VGA-0 --mode 1440x900_60.00
Закрываем (Ctrl+X) и сохраняем. Теперь нам надо на файл выставить права, чтоб его можно было выполнять, как команду:
chmod +x load_screen.sh
Ну и осталось добавить его в так называемый автозапуск.
Для Ubuntu c 12.04 до 13.10 надо править следующий файл: /etc/lightdm/lightdm.conf, для Ubuntu 14.04 и выше - /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf. Итак, открываем файл:
sudo nano /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
И в конец файла дописываем путь к нашему исполняемому скрипту. В итоге, файл 50-unity-greeter.conf у меня выглядит так (не забудьте, что имя пользователя у вас точно другое):
[SeatDefaults]
greeter-session=unity-greeter
display-setup-script=/home/krut1/.bin/load_screen.sh
Всё! После перезагрузки разрешение монитора у вас уже должно сразу примениться. Ставьте лайки, друзья, если этот матриал был для вас полезен ;)