I’ve had this idea for ages to remote control more of Capture One from the iPhone/iPad – more specifically have my scripting run when I call it from the phone. With COVID in full force, more remoting options are good things and so I thought I’d write this up!

I was messing around for ages with an app called Entangler. This let you make launcher-widgets on the phone, which fired AppleScripts on a target mac through one’s iCloud account. I used this to run session setups remotely and get reports on the number of shots in each folders etc to my inbox. It’s sadly become unreliable of late (another victim of Catalina’s “security theatre” perhaps) but either way, I needed an alternative.

iOS 13 shortcuts app came with an interesting new action – Run Script over SSH. As Applescripts can be run from the command line using the command “osascript” I thought this could be a solution.

What is SSH?

SSH – or Secure Shell – is an admin tool used to access and remote manage machines over the network. You can log in to the machine and execute command line as if you are sitting at the machine.

Mac setup

You will need to switch on remote control options in system prefs, and note your network address. You will need this later.

  1. Enable remote login, and the users allowed to perform SSH actions. Note your network address – something like ssh [user]@192.168.0.xx

iOS setup

2. Open the Shortcuts app

3. The three dots menu can be used to rename, customise the icon, set color, and sharing options of the shortcut. For now, press Add action

4. Search for SSH in the search bar. Tap the Action to add it to the workflow.

5. Press the small arrow to add your personal info to the action

6. You will need to add the following fields:

  • Host: The IP address of the target Mac from step 1.
  • User: The user account name (ideally an admin account on the target mac)
  • Password: The users password
  • Script: This is the command-line script you are effectively asking the target machine to run when the action on the phone is run.

7. After setup, the panel should look like this.

The shell script is quite simple: the command “osascript”, followed by the path on disk of the script in question to run. e.g

osascript /path/to/script/to/run

*Keeping the script in shared is a good idea so the paths to the resources are always absolute, not relative in a particular user account.

8. To finish up, press the “…” icon in the corner and finalise setup. Name, color, icon etc can all be tweaked.

9. All done. Tap the red box w/baby icon to launch the testScript on the target mac!

The testScript.scpt for this post was a simple script (of course saved in shared) and speaks the following string just to let me know the command worked. You can of course put whatever script you have in place of this: reporting, configuration, whatever.

tell application "SpeechRecognitionServer"
	say "Lads. That photo is amazing." using "Daniel"
end tell

Sending messages is an interesting use case though… perhaps when socially distancing – say when reviewing photos on Pilot from another part of the studio – and want to let the team know the shoot is going great, I can have the computer send them some positive vibes. Daniel sounds like a bit of a sarcastic prick though so maybe I’ll experiment with the voices.

If you have a use case you’d like to this out on, let me know in the comments.