In https://docs.inductiveautomation.com/display/DOC80/Vision+Client+Launcher there’s a command line section where it describes the commands for Windows and Linux to launch projects from cmd/terminal. It’s pretty obvious that Linux command should work for MacOs terminal. However, it seems not to work because I can’t find the visionclientlauncher.sh anywhere on Mac. Please some help!
Mine was installed in the Applications folder and is called “Client Launcher.app”
MacOS can perform this using the open command as well:
open -a /Users/tester/Desktop/Vision\ Client\ Launcher.app --args -Dapplication=MY_APPLICATION
Great @jcoffman thanks, was this part of
that I didn’t realized how to use. In addition, I want to add some knowledge. If a project has a empty space between it’s better to use \ and not %20 as suggests in docs.
The launcher application should use
%20 - the
\ in JJ’s example is escaping the space in the filename (common to POSIX shells);
%20 is HTML-escaping the space for the parsing logic specific to Ignition.
running for MacOS terminal the %20 didn’t work for me, instead \ did work
@PGriffith or @jcoffman I need an advice, now I’m trying to run this command from system.util.execute in a button in a MacOS Client but I can’t make it work. For example, for Windows I need to call “cmd.exe” in Ubuntu there’s not need o call the terminal. How about MacOS?
Well, you can do two things:
- use the
opencommand, though you will likely need to do some fancy calling from a bash script or something
- call the bundled executable within the .app directly. like
...Launcher.app/Contents/MacOS/Vision\ Client\ Launcher -Dapplication=MY_APPLICATION
I understand your point sir, you’re right the %20 would be valid inside a Ignition function.
The \ is valid within MacOS terminal.
Is good to make that clarification
For testing I will just try to launch Vision Client Launcher app first with no project specified
I still don’t make it work. In a button script:
system.util.execute(['open -a /Applications/Vision\ Client\ Launcher.app'])
But in MacOS terminal
And it opens the app!!
For bundle execution:
system.util.execute(['/Applications/Vision\ Client\ Launcher.app/Contents/MacOS/Vision\ Client\ Launcher'])
system.util.execute(['/Applications/'+"Vision\\ Client\\ Launcher.app"+'/Contents/MacOS/'+"Vision\\ Client\\ Launcher"])
Even giving the full path:
For all of those I have the
system.util.execute(["/Applications/Vision Client Launcher.app/Contents/MacOS/Vision Client Launcher", "-Dapplication=MY_APPLICATION"])
Awesome, it worked…the problem was those \ , I should have tried that…