Мы уже рассказывали о проблемах, которые могут возникнуть при выборе внешнего монитора для Mac. При неподходящем разрешении картинка на экране будет нечеткая, шрифты могут быть смазанными, а границы элементов превратятся в “лесенку”.
Даже после покупки монитора с “правильным” разрешением для macOS картинка может быть хуже, чем на экране MacBook или iMac. Сейчас разберёмся, почему так происходит и как это исправить.
Почему картинка на внешнем мониторе нечеткая
Оригинальные мониторы на компьютерах Apple работают в HiDPI режиме, по сути система удваивает разрешение, чтобы добиться четкости шрифтов и границ элементов. Даже на правильно подобранном внешнем мониторе картинка будет не такая четкая, как на оригинальной матрице MacBook или экране iMac.
Не видите разницу? Включите увеличение экрана (Настройки – Универсальный доступ – Увеличение) и приблизьте картинку в 3-4 раза.
На экране Mac четкость не пропадет даже при большом увеличении, а на внешнем мониторе сразу же “поплывут” шрифты, а границы элементов интерфейса станут нечеткими.
Оказывается, есть способ заставить компьютеры Apple выводить изображение в HiDPI режиме и на внешний монитор.
Как отключить защиту SIP
Для работы с нестандартными разрешениями экрана потребуется модифицировать некоторые системные файлы. Еще в операционной системе El Capitan купертиновцы добавили специальную защиту SIP (System Integrity Protection), которая по умолчанию защищает важные данные от модификации.
На время настройки разрешения придется ее отключить. Для этого делаем следующее:
1. Перезагружаем Mac.
2. Во врем включения зажимаем клавиши Command + R для входа в режим восстановления.
Это нужно делать на оригинальной беспроводной или любой проводной клавиатуре. Сторонние беспроводные клавиатуры, скорее всего, подключаются к системе уже после начала загрузки системы и не успеют дать нужный сигнал.
3. После запуска в режиме восстановления в строке меню выбираем Утилиты – Терминал.
4. Вводим команду:
csrutil disable
Подтверждаем действие паролем администратора.
5. Перезагружаем Mac в обычном режиме.
Теперь системные файлы можно модифицировать. После всех проделанных манипуляции настоятельно рекомендуем включить защиту обратно. Делается это аналогично, но с использованием команды “csrutil enable“.
Как включить HiDPI на любом экране Mac
Проще всего для этого использовать сторонние приложения вроде SwitchResX или QuickRes.
1. Вводим следующую команду в Терминале для активации режима HiDPI:
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
2. Скачиваем подходящую программу с сайта разработчика и устанавливаем ее.
3. Запускаем приложение (на примере SwitchResX) и выбираем подходящее для монитора разрешение с пометкой HiDPI.
4. Если нужного разрешения в формате HiDPI нет, придется добавить его вручную. Для этого мы и отключали защиту SIP.
5. Переходим в параметры приложения и открываем вкладку своего внешнего монитора.
6. Открывшем раздел Настроенные разрешения и нажимаем “+”.
7. Включаем тип Масштабируемое разрешение.
8. Вводим удвоенные показатели пикселей для своего монитора.
Например, для монитора с разрешением 1920 х 1080 необходимо указать разрешение 3840 х 2160.
9. Нажимаем Файл – Сохранить настройки в строке меню.
10. Перезагружаем Mac.
Теперь в приложении можно выбрать добавленное разрешение с HiDPI. Можете сравнить картинку при увеличении масштаба.
Как обойтись без сторонних приложений
Держать сторонние приложения для активации всего одной фишки – не самая лучшая идея. Тем более, что обе описанные выше программы платные. Конечно, есть и бесплатные альтернативы, например, утилита RDM, но с ее помощью можно лишь изменить разрешение после того, как оно было добавлено в SwitchResX.
Есть способ обойтись без сторонних программ. Для этого придется немного повозиться в терминале. Всё как вы любите!
Внимание! Все описанные ниже действия вы делаете на свой страх и риск. Обязательно создайте резервную копию перед проведением описанных манипуляций.
1. Для начала активируем возможность использования режима HiDPI командой в Терминале:
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
2. Идентифицируем свой дисплей при помощи команды:
ioreg -lw0 | grep IODisplayPrefsKey
3. Находим в полученном ответе идентификаторы производителя (DisplayVendorID) и модели (DisplayProductID).
Если вводите команду на MacBook с подключенным монитором, система выдаст информацию как о штатной матрице, так и о внешнем дисплее. Вам нужны данные из строки, в конце которой указано “AppleDisplay”, строка с отметкой “AppleBacklightDisplay” нам не нужна.
4. Переходим на сайт, который генерирует HiDPI настройки для любого монитора.
5. Вводим свои значения DisplayVendorID и DisplayProductID в соответствующие поля.
6. Ниже указываем желаемые параметры разрешения для своего монитора. Можете создать несколько параметров с разными разрешениями, включенной и отключенной опцией HiDPI.
Ненужные варианты разрешения можно удалить. Обратите внимание, что в самом низу страницы расположен калькулятор разрешения, который подскажет правильное количество пикселей при заданном соотношении сторон.
7. Когда все нужные варианты разрешения внесены, скачиваем сгенерированный файл настроек. Вкладку с сайтом при этом не закрываем, она нам еще понадобится.
8. В Терминале вводим команду:
sudo mount -uw /
Это необходимо, чтобы перемонтировать системный раздел в macOS Catalina с возможностью записи. Это еще одна защита данных в операционной системе Apple. Введенная команда будет действовать до первой перезагрузки, затем системный раздел снова будет доступен только для чтения.
9. В Finder переходим по пути /System/Library/Displays/Contents/Resources/Overrides, здесь нужно создать папку, чтобы получить правильный путь к файлу конфигурации. Он указан на сайте.
Если нужная папка (с вашим DisplayVendorID) существуют, пропускаем этот шаг. Если папки нет, создаём ее при помощи команды “sudo mkdir путь_который_указан_на_сайте“.
10. Остается лишь скопировать сохраненный файл конфигурации по нужному пути.
Для этого вводим такую команду:
sudo cp путь_к_загруженному_файлу_plist путь_к_созданной_папке
Вводить путь вручную необязательно. Достаточно ввести начало команды “sudo cp “, затем перетащить в окно Терминала файл *.plist и папку назначения. Пути при этом пропишутся автоматически.
11. После выполнения команды перезагружаем Mac.
Теперь система будет предлагать HiDPI разрешение для вашего монитора в стандартных настройках.
25 комментариев
Форум →sudo mount -uw /
mount_apfs: volume could not be mounted: Operation not permitted
mount: / failed with 77
@[email protected], +1
@[email protected], а SIP отключили?
@Артём Суровцев, а, ну нет конечно… я думал что если руками то не надо отключать )
@[email protected], нужно отключить защиту SIP и все заработает (в статье выше написано как).
Кто-нибудь заметил что после обновления на macOS 10.15.5 макбуки, в основном новые, приходится заряжать чаще?
@Антон Григорьевич, заметил, что вечером стоит на зарядке долго, а заряд 64%, дважды было… хз, в чём дело.
@beaver, А какой Macbook? Я думаю что из-за новой функции в macOS 10.15.5 батарея летит как мухи на мёд. Казалось бы не давно купил новый макбук держал аккумулятор хорошо. Чёрт дёрнул обновиться и теперь либо терпеть и ждать исправления, либо откат, но вот не знаю, можно ли с чипом Т2 откатиться на 10.15.3( именно эта версия была при активации).
@Антон Григорьевич, воздух 2020
@beaver, вот думаю может откатиться на 10.15.3 которая шла из коробки
@Антон Григорьевич, ‘It helps prolong the life of the device’s physical battery by moderating charging based on users’ habits.’
хз… я подожду, понаблюдаю. вашей проблемы не заметил. но я использую с вечно подключенным к сети. иногда беру на кухню, отсоединяюсь. за эти пару дней не заметил, что заряд тает… сегодня ночью был без сети в другой комнате, спящий. ничего не потерял…
Все сделал по инструкции, вообще не поменялось ничего :(
@HoLoD, для начала просто установите одну из сторонних утилит и за 2 минуты поймёте видно ли Вам разницу между hidpi и обычным разрешением. А потом уже пытайтесь реализовать это ручным методом.
@Артём Суровцев, я пробовал в ручном режиме без софта. Появилось только одно разрешение с hiDpi(1280 720) что слишком много для 23(2560х1440) дюймового. В чем может быть проблема? На гитхабе делал штук 5 вариантов разрешений.
Артём, большущее спасибо! Наконец не придётся плеваться от пиксельного текста, теперь работаю с удобным разрешением в HiDPI.
Ох и намучился я в свое время с этим. Дано MBP retina 13 + тв UHD (4k). Задача была вывести изображение 1080p 60fps. В SwitchResX все HiDPI что он предлагал изображение получалось слишком мелким, а если разрешение прописать вручную, то упорно включалось только 30fps (например анимированные стикеры в телеграмме жестко лагали). Потом я понял, что на игры это не влияет и забил, снес свитчрес, пользуюсь стандартным масштабированием macOS, ухудшения не вижу. Причем, если подключить тот же макбук к телевизору FullHD, то 1080p60fps включается прям сразу “из коробки” без всяких прог и настроек.
Без увеличения будет разница? Экран 1080p
Попробовал удвоил как написано в СвитчРес , картинка тупо увеличилась в два раза. Что не так.
Огромное спасибо за информацию о такой возможности и чёткое описание действий!
Все сделал по инструкции по ручной настройке что бы появилось в системе, по итогу ни чего не заработало( так еще файлы в системе остались которые хз как удалить
пробовал в ручном режиме. Появилось только одно разрешение с hiDpi(1280 720) что слишком много для 23 дюймового. В чем может быть проблема?
BigSur
SIP отключил по инструкции через режим восстановления
все равно не могу закинуть файл в системную папку – пишет Read-only file system
команда sudo mount -uw / тоже не срабатывает, пишет
mount_apfs: volume could not be mounted: Permission denied
mount: / failed with 66
Подскажите, что делаю не так ?
% csrutil status
System Integrity Protection status: disabled.
но файл не могу записать. Что еще сделать ?
Спасибо!! Зарегался тут только ради того, чтобы поблагодарить! Ты спас мои глаза))))
На мелкий текст уже сил не было смотреть!
у меня air M1
терминал ответил: no such file or directory: /Library/Preferences/com.apple.windowserver.plist
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как заблокировать браузер на iPhone или iPad ребенка
Как перенести контакты со старого iPhone на новый?
Почему в macOS Sonoma раздвигаются окна при нажатии на рабочий стол
Почему дублируются контакты на iPhone
Как на iPhone найти и изменить ненадежные пароли из связки ключей
Почему Magic Mouse часто теряет связь с Mac
Управляем macOS с помощью голосовых команд
Как на iPhone запретить приватный режим Safari