Xrandr на osx не распознаёт экраны

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

В связи с этим вопросом я использую команду xrandr в osx для выполнения операций с моими внешними мониторами. К сожалению, похоже, что она вообще не распознает внешние мониторы:

Cobrakai$xrandr  --verbose --screen 1
Недопустимый номер экрана 1 (дисплей имеет 1)

В то время как для экрана 0 (моего родного экрана) работает нормально

Cobrakai$xrandr  --screen 0
xrandr: Не удалось получить размер гаммы для вывода по умолчанию
Экран 0: минимум 640 x 480, текущий 2304 x 1824, максимум 2304 x 1846
по умолчанию подключен 2304x1824+0+0 0мм x 0мм
   1280x800       60.0      2.0  
   1152x720       60.0  
   1024x768       60.0  
   1024x640       60.0  
   800x600        60.0  
   800x500        60.0  
   640x480        60.0  
   720x480        60.0  
   1280x778        1.0  
   1280x1824       1.0  
   1280x1846       2.0  
   2304x1824       1.0* 
   2304x1846       2.0  
Cobrakai$

Даже когда другие приложения могут распознавать, что есть много экранов (по скриншоту) – как я могу заставить xrandr распознать дополнительные экраны?

введите описание изображения здесь

Оказывается, что по крайней мере часть проблемы в том, что утилита Xrandr предназначена только для работы с окнами X11, а не с родными экранами osx…

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

Проблема распознавания внешних экранов в Xrandr на macOS

Используя команду Xrandr в macOS для управления внешними мониторами, вы столкнулись с проблемой их распознавания. В вашем случае вывод команды xrandr --verbose --screen 1 возвращает сообщение об ошибке: "Invalid screen number 1 (display has 1)", что указывает на то, что утилита не распознаёт дополнительные экраны, кроме встроенного.

Причины проблемы

  1. Совместимость Xrandr с macOS:
    Xrandr – это инструмент, который предназначен для работы с X11, системой оконного управления, специфичной для Unix-подобных операционных систем. macOS использует свой собственный оконный менеджер и не поддерживает X11 "из коробки". Поэтому, когда вы пытаетесь использовать Xrandr для управления мониторами, это может привести к проблемам идентификации внешних экранов.

  2. Лимитация в конфигурации дисплеев:
    В выводе команды xrandr --screen 0 видно, что имеется информация только о "default connected" дисплее с ограниченными разрешениями. Это связанно с тем, что Xrandr распознает только встроенный экран, а дополнительные внешние мониторы находятся вне контроля X11.

Альтернативы для управления дисплеями на macOS

Если ваша цель состоит в том, чтобы управлять внешними мониторами на macOS без необходимости использования Xrandr, вам следует рассмотреть другие варианты:

  1. Использование системных настроек macOS:

    • Откройте "Системные настройки" на вашем Mac.
    • Перейдите в раздел "Мониторы". Здесь вы сможете видеть и настраивать все подключенные дисплеи.
    • Используйте вкладку "Расположение", чтобы настроить порядок дисплеев и определить основной экран.
  2. Команды терминала для управления дисплеями:
    В macOS вы можете использовать определённые команды и скрипты для управления дисплеями. Рассмотрите использование утилиты displayplacer, которая позволяет выполнять операции, аналогичные Xrandr, но полностью совместимые с macOS.

    Пример команды для настройки дисплеев:

    displayplacer "id:<ID_Дисплея> res:1920x1080"

    Убедитесь, что вы установили displayplacer с помощью Homebrew:

    brew install displayplacer
  3. Использование других оконных менеджеров:
    Если вы хотите использовать именно X11 и Xrandr для управления мониторами, возможно, вам стоит установить XQuartz, который является X-сервером для macOS. Однако учтите, что это может потребовать дополнительных настроек и конфигураций.

Заключение

Проблема с тем, что Xrandr не распознает внешние экраны в macOS, в значительной степени связана с ограничениями самой утилиты и особенностями системы. Я рекомендую воспользоваться системными настройками или инструментами, специально разработанными для работы с macOS, такими как displayplacer. Это обеспечит более удобное и эффективное управление подключенными мониторами без необходимости взаимодействия с X11.

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

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