Apenas um pequeno desentendimento, você parece estar chamando pelo sourcing, que é normalmente usado, por exemplo, se você fosse usar . ~/.bashrc para fazer alguma configuração no seu sistema.
Mas os arquivos *.desktop do atalho do aplicativo não são executados dessa maneira. Os arquivos .desktop contêm um Exec=somecommand e é o somecommand que é realmente executado pelo sistema quando você clica duas vezes ou executa a partir do menu.
Então, se você quiser usar o terminal para executar exatamente a mesma coisa que um *.desktop , você precisa determinar qual comando Exec=... está sendo executado.
Você pode abrir qualquer visualizador de texto e descobrir qual comando é executado, ou apenas usar o grep em sua linha de comando, por exemplo, para o arquivo R.desktop que eu vejo:
$ grep '^Exec' /usr/share/applications/R.desktop
Exec=R
Isso me diz que todo o meu R.desktop está executando o comando R
Assim, para fazer o equivalente a este atalho R.desktop , tudo o que tenho que fazer é digitar R no prompt de comando, então eu faço isso e recebo R para iniciar
$ R
Então, basta verificar seu arquivo R.desktop , ver qual comando vem depois de Exec= e executá-lo.