So now everytime the server restarts, the Indigo server is stated automatically in the background. This happens even if no one logs in.
To do this you have to have root access to the machine, and be relatively familiar with the terminal. Basically the system looks for directories in /Library/StartupItems/ and tries to execute the scripts in them
The one I made looks like this:
Here's the files/directories needed, the permissions are important here.
- Code: Select all
root# ls -lR /Library/StartupItems/
total 0
drwxr-xr-x 5 root wheel 170 Dec 25 22:44 IndigoServer
/Library/StartupItems//IndigoServer:
total 16
-r-xr-xr-x 1 root wheel 121 Dec 25 22:44 IndigoServer
-rw-r--r-- 1 root wheel 905 Dec 25 22:29 StartupParameters.plist
drwxr-xr-x 2 root wheel 68 Dec 25 22:31 resources
/Library/StartupItems//IndigoServer/resources:
I'm not sure if the resources directory is actually needed, but my example has one, even though its empty.
The script which launches the server is this:
- Code: Select all
root# cat IndigoServer
#!/bin/sh
/Library/Application\ Support/Perceptive\ Automation/Indigo\ 2/IndigoServer.app/Contents/MacOS/IndigoServer&
The system also needs a file to tell it to execute that:
- Code: Select all
root# cat StartupParameters.plist
<xml>
<DOCTYPE>
<plist>
<dict>
<key>Description</key>
<string>IndigoServer</string>
<key>Messages</key>
<dict>
<key>start</key>
<string>Starting IndigoServer</string>
<key>stop</key>
<string>Stopping IndigoServer</string>
</dict>
<key>OrderPreference</key>
<string>Last</string>
<key>Provides</key>
<array>
<string>IndigoServer</string>
</array>
<key>Requires</key>
<array>
<string>Network</string>
<string>Network Configuration</string>
</array>
<key>Uses</key>
<array>
<string>DirectoryServices</string>
</array>
</dict>
</plist>