Mac OS X questions

TODO: Many of these questions need to be moved to the orbital-transfer project.

  1. Which package format is preferred for distributing a GUI application for non-developers? What's the technical difference between .dmg, .pkg, and .app?

  2. Has anyone here turned homebrew formulae into a package? I'm using timsutton/brew-pkg for .pkg right now and it doesn't appear to work properly in this VM that I have (not all files are in the archive) and doesn't distinguish between build-time and run-time deps.

  3. Do any of those formats work under their own prefix so that they don't get affected by the rest of the system libraries? Or should I relocate the homebrew prefix before installing and install there?

  4. What about if the application is a script with many libraries? This seems like it would help http://sveinbjorn.org/platypus.

    This script uses Platypus for Perl https://github.com/miyagawa/perl-app-builder/blob/master/perl-app-builder.pl.

  5. Does it matter which version of macOS I build the package on? Will that effect my ability to distribute it to older versions of macOS? Which macOS version does it make sense to target? N releases behind the latest version?

  6. Is there any remote desktop protocol for a headless VM? I'm using a OS X Vagrant box https://atlas.hashicorp.com/AndrewDryga/boxes/vagrant-box-osx. All my GUI tests work fine, but I can't see the GUI. I need to be able to start it from the terminal --- VNC would be great.

    ``` osx-guest $ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -off -restart -agent -privs -all -allowAccessFor -allUsers -clientopts -setvncpw -vncpw secret -setvnclegacy -vnclegacy yes

    then do host $ vagrant ssh -- -L5908:localhost:5900

    host $ xvnc4viewer :8 [password: secret] ```

    via http://serverfault.com/questions/120559/vnc-viewer-not-connecting-to-mac-from-pc