Вопрос или проблема
Мне нужно увеличить разрешение экрана до 1024×800 для моей консоли XEN.
Я пытался добавить
vga=791
в конец строки ядра в файле /boot/grub/grub.conf
, но, похоже, большинство аргументов загрузки игнорируются во время старта. Возможно, внутри XenServer /boot на самом деле не используется для запуска CentOS.
Я даже пытался добавить опцию загрузки во вкладке опций загрузки (VM -> Свойства -> Опция загрузки), но это не сработало.
Кроме SSH с использованием X11Forwarding, мне удалось использовать XDMCP!
Используйте Xnest или Xephyr в Domain0:
Xnest :1 -geometry 1280x800 -query 10.0.1.x
Xephyr :1 -screen 1280x1024 -query 192.168.1.x
Единственное, что вам нужно сделать, это включить удаленный доступ в вашей VM или DomainU, вручную отредактировав /etc/gdm/custom.cfg
или используя графическую программу gdmsetup
. Здесь рассматривается DomainU на CentOS 5. В Ubuntu все будет немного по-другому.
Этот подход очень отличается от VNC, который похож на RDP от Microsoft (захват экрана), в то время как XDMCP использует графическую мощность вашего Domain0 для помощи системе DomainU. Это можно сравнить с передачей VGA в Xen по производительности.
Помните, что X11 был специально разработан для использования через сетевые подключения, а не на интегрированном или подключенном устройстве отображения. X обладает сетевой прозрачностью: машина, на которой выполняется приложение (например, клиентское приложение, такое как Firefox в вашей VM или DomainU), может отличаться от локальной машины пользователя (сервер отображения, то есть X11 в вашем Domain0). Этот подход позволяет полностью ускорять как 2D, так и 3D операции на локальном X сервере пользователя.
В Gentoo мне удалось решить эту проблему, добавив
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1920x1080x16"
в конец файла /etc/default/grub
Важно, чтобы вы добавили префикс gfx- перед фактическим разрешением. В противном случае это не сработает.
Если вы хотите узнать, какие разрешения возможны, вы можете начать с
GRUB_CMDLINE_XEN_DEFAULT="vga=ask"
На самом деле, моя конфигурация командной строки Xen выглядит так:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=2048M,max:2048M vga=gfx-1920x1080x16"
Однако первые параметры не являются обязательными для разрешения экрана.
Ответ или решение
Для изменения разрешения экрана консоли XenServer для виртуальной машины CentOS до 1024×800 необходимо выполнить несколько шагов, чтобы обеспечить корректную настройку как на уровне Xen, так и на уровне самой операционной системы. Рассмотрим все важные аспекты и подходы, которые помогут вам в достижении нужной цели.
1. Основные шаги по настройке разрешения
1.1 Изменение конфигурации Xen
Вам нужно отредактировать параметры загрузки Xen. Для этого отредактируйте файл конфигурации GRUB с помощью следующей команды:
nano /etc/default/grub
Добавьте или измените строку, содержащую GRUB_CMDLINE_XEN_DEFAULT
, чтобы она выглядела так:
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x800x16"
Обратите внимание на приставку gfx-
, которая необходима для корректного применения разрешения. Именно она указывает на то, что следует использовать графические режимы.
После внесения изменений обязательно обновите конфигурацию GRUB с помощью следующей команды:
grub2-mkconfig -o /boot/grub2/grub.cfg
1.2 Проверка доступных разрешений
Чтобы узнать доступные графические разрешения, можно временно установить параметр на ask
:
GRUB_CMDLINE_XEN_DEFAULT="vga=ask"
При следующей перезагрузке система предложит вам выбрать доступное разрешение из списка, что поможет вам определить, поддерживает ли ваш сервер разрешение 1024×800.
1.3 Конфигурация виртуальной машины CentOS
Помимо изменения параметров Xen, также убедитесь, что в CentOS настроены подходящие параметры для X-системы, если вы используете GUI. Для этого вам может понадобиться изменить настройки дисплея X, отредактировав соответствующий файл конфигурации или используя графический интерфейс.
2. Альтернативные подходы
2.1 Использование XDMCP
Как вы уже упомянули, один из способов получить более высокое разрешение — это задействовать XDMCP, что действительно эффективно с точки зрения производительности. Ниже приведены инструкции для пользователя:
- Убедитесь, что в вашем CentOS VM разрешен удаленный вход, либо редактируя файл
/etc/gdm/custom.cfg
, либо используя утилитуgdmsetup
. - Используйте
Xnest
илиXephyr
наDomain0
для запуска с нужными параметрами:
Xnest :1 -geometry 1280x800 -query <IP_вашей_виртуальной_машины>
или
Xephyr :1 -screen 1280x1024 -query <IP_вашей_виртуальной_машины>
Этот метод позволит вам использовать графические возможности Domain0
для управления DomainU
, что будет полезным для достижения хорошей производительности.
3. Вывод
Изменение разрешения экрана консоли для CentOS на XenServer требует внимательного подхода, включая как настройку конфигурации Xen, так и возможные изменения в настройках самой операционной системы. Использование XDMCP может быть очень полезным, особенно если требуется высокая производительность, без необходимости полагаться исключительно на консоль. Не забывайте проверять поддерживаемые разрешения и тестировать изменения, чтобы достичь наилучшего результата.
Следуя этим советам, вы сможете успешно изменить разрешение экрана до 1024×800 для вашей виртуальной машины CentOS.