xdg-open
aguarda o término do programa. Isso é por design. Se o programa é um programa em modo texto, ele deve permanecer em primeiro plano no terminal. Mesmo que o programa seja um GUI, esse comportamento é útil no caso de xdg-open
ser usado em um script e o script desejar executar algo após o arquivo ter sido editado (por exemplo, enviar a nova versão para algum lugar ou fazer algo com o novo versão).
Se você não quiser esperar, execute xdg-open
no plano de fundo. Você pode executar qualquer comando shell em segundo plano colocando um e comercial no final.
xdg-open http://www.google.com &
Com alguns programas, xdg-open
retorna imediatamente. O que acontece é que o programa que xdg-open
invoca retorna imediatamente. Isso normalmente acontece com programas GUI que abrem todos os arquivos em uma única instância: quando você os inicia pela segunda vez, eles enviam uma mensagem à instância em execução para avisar que ela abre o arquivo e sai imediatamente.