Como você observou, invocar firefox uma segunda vez simplesmente solicitará à instância em execução que abra outra janela. A opção -no-remote pode ser usada para inibir esse comportamento.
Algo semelhante acontece com nautilus : é usado para exibir a janela da área de trabalho (com seus ícones), portanto, ela já está em execução quando você a inicia.