Tengo una simple automator aplicación que se ejecuta un script sencillo. Se utiliza ssh
a abrir un archivo en el equipo local, MachineA
, con una aplicación en la máquina remota, MachineB
, y los registros de la llamada ssh.
on run {input, parameters}
repeat with fn in input
set fn to POSIX path of fn
set fn to "/Volumes/MachineA" & fn
set fn to "\"/usr/bin/open -a /Applications/Preview.app " & fn & "\""
set cmd to "ssh -x MachineB.local " & quoted form of fn
do shell script "echo " & cmd & " >> ~/cmd.log"
do shell script cmd
end repeat
end run
El registro de salida es:
ssh -x MachineB.local "/usr/bin/open -a /Applications/Preview.app /Volumes/MachineA/Users/<USER>/Documents/<FOLDER>/<FILE>.pdf"
Cuando yo uso la aplicación para abrir un archivo (drag & drop), se genera un error.
Sin embargo, si puedo copiar el resultado en el archivo de registro para la línea de comandos, el éxito, el archivo se abre en la máquina remota. ¿Por qué la diferencia?