Как вывести правильное разрешение/частоту в текстовом режиме?

Вопрос или проблема

Как вывести правильное разрешение/частоту в текстовом режиме?

[ Полная прозрачность: Я сначала задал этот вопрос на форумах Arch Linux, но не получил ответа ]

У меня есть сервер, который в общем работает безголовным образом. Он вообще не запускает X — только командная строка.

Этот сервер раньше имел большой громоздкий КДТ, который я подключал, когда нужно было что-то устранить. Это работало неплохо, но КДТ (хоть и маленький) весит столько же, сколько среднеразмерный седан. Недавно я купил маленький подержанный ЖК-дисплей, чтобы заменить его.

Проблема в том, что когда я подключаю ЖК-дисплей и включаю его, он сообщает: “Текущий ввод не поддерживается монитором. Пожалуйста, измените разрешение на 1280×1024 @ 60Hz”.

Если я перезагружу сервер (что я обычно делаю примерно раз в год, так что это не оптимальное решение), монитор работает… до тех пор, пока я не отключу его. Затем, когда я снова подключаю его и включаю, я получаю то же сообщение, пока не перезагружу.

(Использование DVI, вероятно, решит эту проблему, но у сервера нет порта DVI)

Как заставить сервер выводить видео 60Hz так, чтобы оно продолжало работать после отключения/подключения? Бонусы будут выданы за ответы, которые не требуют перезагрузки!

Вам нужно использовать framebuffer.
Просто отредактируйте /etc/grub.conf и добавьте vga=794 в конец строк, начинающихся с kernel.

vga=793 15-бит 1280×1024@60
vga=794 16-бит 1280×1024@60
vga=795 24-бит 1280×1024@60

В зависимости от возраста монитора, вам, возможно, придется попробовать один из других кодов.
Извините, вам придется перезагрузить, пока это не заработает, после чего все будет в порядке.

В удивительном проявлении компетентности, я сам это исправил!

Я сделал следующее:

  • В /etc/default/grub
    • Установить GRUB_CMDLINE_LINUX_DEFAULT=”nomodeset”
    • Добавить строку GRUB_TERMINAL=console
    • Добавить строку GRUB_GFXPAYLOAD_LINUX=text
    • Удалить строку GRUB_GFXMODE
  • Запустить grub-mkconfig -o /boot/grub/grub.cfg

Недостаток в том, что я получаю крупный текст с не очень хорошим разрешением вместо красивого текстового вывода с разумным разрешением. Преимущество в том, что это работает, в отличие от любого из вышеперечисленного.

Вы можете попробовать

 sudo udevadm trigger

Из мануала по udevadm для Arch:

udevadm trigger [options]

Запрос событий устройства от ядра. Применяется в основном для воспроизведения событий при холодной загрузке системы.

Вы пробовали использовать fbset? Использование этого для установки правильного режима framebuffer должно сработать.

Я не пользовался Arch много since они перешли на systemd, но это работало хорошо в прошлом.

Ответ или решение

Для того чтобы установить корректное разрешение и частоту обновления экрана в текстовом режиме на вашем сервере без графической среды, вы можете следовать следующим рекомендациям.

1. Настройка GRUB

Первый шаг – это настройка загрузчика GRUB. Вам нужно указать параметры, чтобы учитывать нужное разрешение и частоту:

  1. Откройте файл /etc/default/grub в текстовом редакторе:

    sudo nano /etc/default/grub
  2. Измените или добавьте следующие строки:

    • Установите:
      GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
    • Добавьте:
      GRUB_TERMINAL=console
    • Добавьте также:
      GRUB_GFXPAYLOAD_LINUX=text
    • Удалите (если есть) строку:
      GRUB_GFXMODE=...
  3. Сохраните изменения и закройте редактор.

  4. Обновите конфигурацию GRUB:
    sudo grub-mkconfig -o /boot/grub/grub.cfg

2. Использование fbset

После настройки GRUB, вы можете использовать fbset для установки нужного разрешения в текстовом режиме. Если у вас не установлен fbset, установите его:

sudo apt install fbset

Выполните команду для изменения разрешения (например, на 1280×1024):

sudo fbset -g 1280 1024 1280 1024 16

На этом этапе ваш сервер должен корректно отображать разрешение на современном ЖК-мониторе.

3. Применение udevadm

Иногда проблема может заключаться в распознавании устройства после его подключения. Вы можете запустить команда для активации всех устройств:

sudo udevadm trigger

Это может помочь в том случае, если проблемы возникают после выключения и включения монитора.

4. Альтернативные решения

Если указанные выше шаги не приводят к желаемому результату, можно попробовать следующее:

  • Убедитесь, что используете все доступные порты и соединения (например, HDMI или VGA), чтобы минимизировать такие проблемы.
  • Обратитесь к документации для вашего монитора, возможно, есть рекомендации по настройке для устройств, работающих в текстовом режиме.

Следуя этим шагам, вы должны добиться стабильного вывода изображения на вашем сервере при подключении ЖК-монитора.

Оцените материал
Добавить комментарий

Капча загружается...