Вопрос

If you use an external monitor for your Mac of any shape or size and recently updated to macOS Sierra 10.12.4, chances are you've had some trouble with Night Shift.

Common issues include:

  • the inability to configure Night Shift from your external monitor
  • Night Shift being impossible to disable (as a result of the former)
  • a substantial loss of colour quality (as a result of both of the former happening at once on some connection or screen types, most commonly DVI-D to VGA, DisplayPort, and LCD screens of all kinds.)

How do you get past these issues? Is there a way to enable access to the Night Shift pane on any display?

Это было полезно?

Решение 2

After two days of searching, I've found a solution that allows users to get past the Night Shift incompatibility issues with external monitors. This solution helps to enable access to Night Shift on any display.

  1. Connect your external monitor, disable your internal monitor, and make sure your external monitor is set as the default.
  2. Download required files. You will need two programs (and a third optional) to proceed. The first is FixEDID, which can be found here: FixEDID, the second is DarwinDumper and can be found here: DarwinDumper, and the final (optional) one is KextWizard, found here: KextWizard
  3. Open FixEDID, wait for the fields to auto-load, and minimize FixEDID, do not close it.
  4. Open DarwinDumper, click Deselect All, check the EDID box, and click Run. You will be prompted for your password, and the dump directory will auto-open when it is done. Close DarwinDumper, and copy EDID.bin to your desktop.
  5. Unminimize FixEDID, click Open EDID Binary File, select your EDID.bin. Now in the drop down menu under that button choose the internal monitor for your model of Mac (this will usually be the first option), and click the Make button. You should have a few new files now, but you can ignore all of them except DisplayMergeNub.kext, which you will need.
  6. (Kext Wizard Version) Open Kext Wizard, click the Installation tab, click Browse, choose DisplayMergeNub.kext, and click Install. You will be asked for your password. Once it has finished reboot your Mac.
  7. (Manual Installation) Open Terminal.app and run the following command sudo mv $(whoami)/Desktop/DisplayMergeNub.kext /System/Library/Extensions/ && sudo reboot. You will be asked for your password, and your Mac will automatically reboot as soon as the operation finishes.
  8. Upon rebooting you can go to Apple > About This Mac and under the Displays tab you will find your Mac now considers your external monitor to be your internal monitor, as a result Night Shift should not be auto enabled anymore, and you can now access the Night Shift preference pane from Settings.

A Quick Note

For those who want to reverse this process so that your external monitor is no longer considered a built-in display by your Mac, you can simply run the command sudo rm /System/Library/Extensions/DisplayMergeNub.kext && sudo reboot.

As with the previous command this will ask for your password, and automatically reboot your Mac after the process is finished.

UPDATE: 01/04/2019 As of later versions of macOS 10.13 and all versions of 10.14 external displays are being recognized natively when they are the only connected display. Thus this information should be considered deprecated except to those using a secondary external display, or those running macOS versions 10.12.4-10.13.4

Другие советы

Unplug the cable and insert it again.

It works for me.

Update for Catalina (macOS 10.15): For secondary monitors, you may have to unplug primary monitor, so that the secondary monitor is the primary monitor. (Doing this once should be enough)

by @Michael_Scharf

For me the following worked:

  • disable night shift
  • disconnect external display
  • reconnect external display
  • enable night shift

After trying above solutions without success, I found the "true tone" setting in "display settings" of "system preferences", unchecked it, and external monitor became normal white again. Just in case it may help someone. I have an LG 4k with a USB-C cable.

Another option is to download Flux. It is an alternative to NightShift, and reliably works on both internal and external monitors. It acts as a replacement to NightShift, so should not be run together.

What worked for me was switching cables. At first I was using a USB-C to HDMI adapter. When I changed the plug to connect the monitor with my MacBook without the adapter it started to work without any issues.

For me it works when I change the resolution (and change it back to the initial value afterwards again).

In my case, I'm using a mini mac with two screens using a thunderbolt port and an HDMI like an external screen. I followed the steps that @Francesco Borzi said:

  1. disable night shift mode
  2. disconnect the external display (HDMI)
  3. reconnect external display (HDMI)
  4. display enable night shift

I use f.lux (https://justgetflux.com/) instead of Night Shift for this and a few other reasons. It was around long before Night Shift, and has had much longer to mature.

I have 2 UHD 4K 27" LG 27UD88-W USB-C monitors hooked up to my 2017 MacBook Pro w/ Touch Bar via a single Thunderbolt 3 cable. This is achieved by way of an Elgato Thunderbolt 3 dock. (The monitors did not have enough power for the laptop alone and wouldn't offer a reliable single-cable solution.)

I initially had issues with one of the two monitors being recognized reliably. It was always the one connected to the dock via USB-C. (The other connected via DisplayPort.) I figured this was probably some driver issue.

I installed their DualController and OnScreenControl Mac OS software. Both installers required a reboot. The reboot did seem to help. However, I'm not sure if it was the software, the reboot, or both that ultimately fixed my issue with Night Shift failing on both of the monitors. I had already rebooted the system after introducing the Elgato Dock the day before.

The moral being, I'd suggest seeking out any software packages offered by the monitor manufacturer just in case they bundle drivers with them.

I have multiple monitors and this happens sometimes, with one or more but not all monitors stuck in Night Shift.

What worked today, inspired by earlier answers to this question: System Preferences → Displays → Arrangement, drag menu bar from one monitor to another to change primary display, then drag it back to restore things to how they were.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с apple.stackexchange
scroll top