OS X - Enable access for assistive devices via the command line
Published: 03-09-2013 | Author: Remy van Elst | Text only version of this article
Table of Contents
This command enables access for assistive decives on Apple OS X machines via the command line, or via Apple Remote Desktop. This is needed for software like SpectacleApp or Sizeup.
In Mavericks Apple changed the permissions so that every app has to be given permission individually. Therefore we need to do a bit more work. We first need to get the applications Bundle Identifier:
/usr/libexec/PlistBuddy -c 'Print CFBundleIdentifier' /Applications/<Appname.app>/Contents/Info.plist com.apple.Safari
/usr/libexec/PlistBuddy -c 'Print CFBundleIdentifier' /Applications/Spectacle.app/Contents/Info.plist com.divisiblebyzero.Spectacle
Then we use the Bundle ID in the following command to modify the permission database:
sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db "INSERT INTO access VALUES('kTCCServiceAccessibility','<Bundle-ID>',0,1,1,NULL);"
sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db "INSERT INTO access VALUES('kTCCServiceAccessibility','com.divisiblebyzero.Spectacle',0,1,1,NULL);"
To remove an application from the list we use the following command, with the correct bundle ID:
sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db "delete from access where client='<Bundle ID>';"
Mountain Lion and Lion
On OS X Mountain Lion (10.8) or Lion (10.7) simply run this command as root:
Tags: apple , apple-remote-desktop , ard , assistive , command-line , mac , mavericks , os-x , snippets , spectacle