Это решение кажется самым надежным для меня. Он рекурсивно ищет родительский PID, пока не найдет тот, который принадлежит терминалу GNOME.
find-parent() {
i=($(ps -o pid= -o ppid= -o cmd= -p $1))
((i[0] == 1)) && return 1
if [[ ${i[2]} =~ (^|/)gnome-terminal$ ]]; then echo ${i[0]}; else find-parent ${i[1]}; fi
}; find-parent $PPID