De acordo com a resposta a esta pergunta Como posso definir terminal padrão usado no Unity? Eu criaria um script da seguinte forma:
eval "$(gsettings get org.gnome.desktop.default-applications.terminal exec)"
Se você gostaria de iniciar um programa dentro do terminal, há também a propriedade 'exec-arg' que especifica o argumento necessário para executar algo no terminal por esse terminal específico. Por exemplo, quando você quer executar um 'tail -f / var / log / messages':
CMD='tail -f /var/log/messages'
eval "$(gsettings get org.gnome.desktop.default-applications.terminal exec) $(gsettings get org.gnome.desktop.default-applications.terminal exec exec-arg) $CMD"
O 'eval' é usado porque 'gsettings' retorna o comando e o argumento entre aspas simples.
Esta seria então uma solução genérica para todos os desktops que executam o GNOME / Unity.