Enable-HiDPI-OSX icon indicating copy to clipboard operation
Enable-HiDPI-OSX copied to clipboard

PlistBuddy is missing

Open ryanhatfield opened this issue 7 years ago • 4 comments

I haven't looked through the code yet, but it looks like the script relies on a file, PlistBuddy, to read and write to the display plists. This is missing on my particular install of OSX (reinstalled, fairly fresh) and i'm currently running OSX 10.12.4.

I've included the console output from me using this command initially:

Bob:~ ryan$ ~/enable-HiDPI.sh
 Multi monitors detected, please choose target monitor:
 [ 1 ] 0610::2ea0
 [ 2 ] 0dc3::3000

Please choose the desired display for enable Hi-DPI (Exit/1-2) ? 2
Enter the Resolution you want to enable HiDPI(e.g. 1600x900, 1440x910, ...), enter 0 to quit: 1600x900
/Users/ryan/enable-HiDPI.sh: line 349: /usr/libexec/plistbuddy: No such file or directory
/Users/ryan/enable-HiDPI.sh: line 350: /usr/libexec/plistbuddy: No such file or directory
/Users/ryan/enable-HiDPI.sh: line 352: /usr/libexec/plistbuddy: No such file or directory
/Users/ryan/enable-HiDPI.sh: line 353: /usr/libexec/plistbuddy: No such file or directory
Enter the Resolution you want to enable HiDPI(e.g. 1600x900, 1440x910, ...), enter 0 to quit: 0
[ ---> ]  Backuping origin Display Information...
Password:
cp: /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-0dc3: Operation not permitted
cp: /Users/ryan/DisplayVendorID-0dc3: unable to copy extended attributes to /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-0dc3: Operation not permitted
cp: /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-0dc3/DisplayProductID-030: No such file or directory
[  OK  ]  Done, Please Reboot to see the change! Pay attention to use Retina Display Menu(RDM) to select the HiDPI resolution!.

Any thoughts?

ryanhatfield avatar Apr 25 '17 20:04 ryanhatfield

Looks like you have a method already for finding plistbuddy but it's never being called.

ryanhatfield avatar Apr 25 '17 20:04 ryanhatfield

Turns out there is a file /usr/libexec/PlistBuddy on my system ... I can't make a symbolic link to the lowercase version, I'm not sure how case works on OSX ... is the script using strict case, whereas the system does not? More investigation is needed I think on my part but any help would be appreciated.

ryanhatfield avatar Apr 25 '17 20:04 ryanhatfield

I updated the script, and changed plistbuddy to PlistBuddy. This got me a little further, but I still don't think it worked correctly:

Bob:~ ryan$ ~/enable-HiDPI.sh
 Multi monitors detected, please choose target monitor:
 [ 1 ] 0610::2ea0
 [ 2 ] 0dc3::3000

Please choose the desired display for enable Hi-DPI (Exit/1-2) ? 2
[  OK  ]  Remove /Users/ryan/DisplayVendorID-0610.
Enter the Resolution you want to enable HiDPI(e.g. 1600x900, 1440x910, ...), enter 0 to quit: 1600x900
Enter the Resolution you want to enable HiDPI(e.g. 1600x900, 1440x910, ...), enter 0 to quit: 0
[ ---> ]  Backuping origin Display Information...
cp: /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-0dc3: Operation not permitted
cp: /Users/ryan/DisplayVendorID-0dc3: unable to copy extended attributes to /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-0dc3: Operation not permitted
cp: /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-0dc3/DisplayProductID-030: No such file or directory
[  OK  ]  Done, Please Reboot to see the change! Pay attention to use Retina Display Menu(RDM) to select the HiDPI resolution!.

ryanhatfield avatar Apr 25 '17 20:04 ryanhatfield

Hello @ryanhatfield , this script got rid of plistbuddy now. We don't need any plistbuddy software anymore.

And, you should disable SIP first to make it work.

syscl

syscl avatar Mar 18 '18 16:03 syscl