macOS Login Items
Power Manager uses login items on macOS. Disabling any of these items will cause Power Manager to stop working as expected.
In macOS, you can find the settings for Login Items in the System Settings application:
- System Settings.app > General > Login Items
Allow in the Background for Dragon Systems Software Limited must be enabled.
Power Manager’s login items are implemented as traditional launchd
jobs. They are controlled by files placed in the /Library/LaunchAgents
and /Library/LaunchDaemons
folders. Power Manager launchd
jobs begin with the prefix: uk.co.dssw.powermanager
Finding Problems
When problems arise with Login Items, be they launchd
related or another mechanism, they are difficult to debug. Apple include the command line tool sfltool
in macOS to aid their support engineers in debugging.
sfltool dumpbtm
: Prints the current status of login and background items, including loaded servicemanagement payload UUIDs.
A diagnostic report can be created with the command:
sfltool dumpbtm
The format of the report will differ between computers and between versions of macOS.
With Power Manager installed, this report should show entries associated with our company name, Dragon Systems Software Limited
and Apple assigned identifier QZLG4JVSEE
.
Within these entries, note the Disposition. The entry will not work if disposition includes either:
disabled
disallowed
Below is an extract showing some of Power Manager’s entries:
#X:
UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
Name: Power Manager
Developer Name: Dragon Systems Software Limited
Team Identifier: QZLG4JVSEE
Type: legacy agent (0x10008)
Disposition: [enabled, allowed, visible, notified] (11)
Identifier: uk.co.dssw.pmnotify
URL: file:///Library/LaunchAgents/uk.co.dssw.pmnotify.plist
Executable Path: /Applications/Power Manager.app/Contents/Resources/Power Manager Notifications.app/Contents/MacOS/Power Manager Notifications
Generation: 1
Parent Identifier: Dragon Systems Software Limited
#X+1:
UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXY
Name: Power Manager
Developer Name: Dragon Systems Software Limited
Team Identifier: QZLG4JVSEE
Type: legacy agent (0x10008)
Disposition: [enabled, allowed, visible, notified] (11)
Identifier: uk.co.dssw.pmuser
URL: file:///Library/LaunchAgents/uk.co.dssw.pmuser.plist
Executable Path: /Applications/Power Manager.app/Contents/Resources/uk.co.dssw.powermanager.pmuser
Generation: 1
Parent Identifier: Dragon Systems Software Limited
#X+2:
UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXYY
Name: Power Manager.app
Developer Name: Dragon Systems Software Limited
Team Identifier: QZLG4JVSEE
Type: legacy daemon (0x10010)
Disposition: [enabled, allowed, visible, notified] (11)
Identifier: uk.co.dssw.powermanager.pmd
URL: file:///Library/LaunchDaemons/uk.co.dssw.powermanager.pmd.plist
Executable Path: /Applications/Power Manager.app/Contents/Resources/uk.co.dssw.powermanager.pmd
Generation: 1
Parent Identifier: Dragon Systems Software Limited
Resetting the Background Task Management (BTM) Database on macOS
If an entry with the sfltool dumpbtm
report includes conflicting disposition states, this suggests an underlying problem:
enabled
/disallowed
disabled
/allowed
Within macOS it should not be possible to have an entry that is both enabled
and disallowed
. Unfortunately we have seen customers with this combination and have talked to Apple Developer Technical Support (DTS).
In this situation, the only option recommended was to rebuild the underlying task database:
Open System Settings.app > General > Login Items;
Record the items in the top list and which items are disabled in the bottom list;
Run the following Terminal command:
sfltool resetbtm
Restart the computer;
As macOS powers back on, the BTM database will be rebuilt;
Open System Settings.app > General > Login Items and restore the settings from step 2.