Update: this does not work. Tunnelblick launches anyway.
I ran it again, checked it to be sure it was set, and it still launches:
jre@Mac:~ $ defaults write net.tunnelblick.tunnelblick doNotLaunchOnLogin -bool yes
jre@Mac:~ $ defaults read net.tunnelblick.tunnelblick | grep -i launch
SUHasLaunchedBefore = 1;
doNotLaunchOnLogin = 1;
lastLanguageAtLaunchWasRTL = 0;
lastLaunchTime = "522259551.496262";
launchAtNextLogin = 0;
I did a little investigating the third time I rebooted, running a series of "ps" commands looking for "tun" while my mac was in the process of booting, as soon as the GUI was responsive:
jre@Mac:~ $ ps waux | grep -i tun
jre 483 12.0 0.0 2470520 2888 ?? R 12:08PM 0:00.13 defaults read net.tunnelblick.tunnelblick launchAtNextLogin
jre 479 0.1 0.0 2443632 1020 ?? S 12:08PM 0:00.00 /bin/bash /Applications/Tunnelblick.app/Contents/Resources/launchAtLogin.sh
jre 496 0.0 0.0 2442020 796 s000 S+ 12:08PM 0:00.00 grep -i tun
jre 482 0.0 0.0 2452848 624 ?? S 12:08PM 0:00.00 /bin/bash /Applications/Tunnelblick.app/Contents/Resources/launchAtLogin.sh
jre 418 0.0 0.2 2498196 13584 ?? Ss 12:08PM 0:00.06 /Applications/iTunes.app/Contents/PlugIns/iTunesCacheExtension.appex/Contents/MacOS/iTunesCacheExtension
jre@Mac:~ $ ps waux | grep -i tun
jre 535 0.0 0.0 2433828 640 s000 R+ 12:08PM 0:00.00 grep -i tun
jre 503 0.0 0.4 2594772 32476 ?? S 12:08PM 0:00.97 /Applications/Tunnelblick.app/Contents/MacOS/Tunnelblick
jre 418 0.0 0.2 2498196 13660 ?? Ss 12:08PM 0:00.06 /Applications/iTunes.app/Contents/PlugIns/iTunesCacheExtension.appex/Contents/MacOS/iTunesCacheExtension
jre@Mac:~ $ ps waux | grep -i tun
jre 503 0.0 0.4 2584472 30972 ?? S 12:08PM 0:00.98 /Applications/Tunnelblick.app/Contents/MacOS/Tunnelblick
jre 564 0.0 0.0 2432804 776 s000 S+ 12:08PM 0:00.00 grep -i tun
The nuclear approach to working around the inconvenience of this starting that I chose, was the following:
jre@Mac:~ $ sudo mv /Applications/Tunnelblick.app/Contents/Resources/launchAtLogin.sh /Applications/Tunnelblick.app/Contents/Resources/hell-no.sh
This retains a copy of whatever this script needs to be here for that I have yet to discover, but also pooches whatever process is calling it to execute that we've been unable to locate.
I'm happy now, but it'd be cool to make this a checkbox in the UI somewhere.
I like a "clean machine" when I reboot. Absolutely no TSRs, cloud drives, remote viewers, itunes helpers - I often do wireshark captures for my profession, and when I restart, I like as close to "nothing" as possible to be running, unless I specifically invoke it.
Hope this helps anyone else with the same issue.
Thanks for the space/airtime :)
Joe