Once in a while you run into a package or program that will only work properly with a user logged in. This can ruin your day if you need to automated the deployment.
I found this method of automatically logging in a user (which is quite awesome).
Using that perl script along with a wrapper script can enable you to automate these can other cases where your only option is to have a user logged in.
I started writing a script to handle this, but it turned out I didn’t need it. The script is unfinished, but it may give you a head start if you are considering something similar.
It depends on a modified version of the perl script that accepts a username and password. Just swap out the user and password lines with these that accept arguments.
my $user = $ARGV;
my $pass = $ARGV;
and I comment out the line to automatically restarts the loginwindow.
I kept getting errors uploading to Google App Engine on Mac.
ERROR appcfg.py:1128 An unexpected error occurred. Aborting.
I run as a normal user. Apparently appcfg.py requires some elevated privileges, as running it as root uploaded without a problem.
Here is the command to run the appcfg.py inside the GoogleAppEngineLauncher app.
sudo /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/appcfg.py update appdirectory/ --noisy -v --email email@example.com
Substitute your own appdirectory and username and path to the GoogleAppEngineLauncher.app.