На мой взгляд, единственный элегантный способ решить эту проблему - использовать терминальный мультиплексор, например tmux, и иметь ваш файловый менеджер
открыть новые окна терминала внутри существующего сеанса или запустить новый эмулятор терминала с новым сеансом tmux.Следующий сценарий оболочки достигает именно этого:
#!/bin/sh
set -e
TMUX=tmux
#TERMINAL_EMULATOR='gnome-terminal -x'
cd "$1"
if $TMUX has-session; then
exec $TMUX new-window
else
exec ${TERMINAL_EMULATOR:-x-terminal-emulator -x} $TMUX
fi
TERMINAL_EMULATOR содержит желаемый эмулятор терминала для новых окон терминала (если вам не нравится значение по умолчанию x-terminal-emulator указывает на параметр командной строки для команды, выполняемой внутри эмулятора.
Вы можете зарегистрировать скрипт обработчика файлов, как и любую другую ассоциацию типов файлов в вашем файловом менеджере.