based on the example of use mplayer play the movie, I write down sthing like
\defineprogram[sample.data][sample.data.sh] \goto{\externalfigure[sample.data][width=0.48\textwidth]}[program(sample.data{})]
and the content of sample.data.sh is
#!/bin/bash FILE=$(basename "$0"); gnome-terminal -e "cat ${FILE/.sh/}"
it does work, but I wanna know if there are better way to make this. as this way has some obvious problem: 1. if I send this pdf file to other guy, the script won't execute, as it can't find out the sample.data file. same thing will happen if I move my sample.data to other directory. 2. it's take too much effort if I have lots of file to analysis, I have to write lots of file like sample.data1.sh, sample.data2.sh... with same content, soft link maybe a solution, but I hope there are more easy solution.