Se você observar o script ProM68.sh , verá que ele define o caminho da classe relativo ao diretório de trabalho atual, não ao diretório que contém o script. Portanto, se você estiver executando ./ProM68.sh , seu diretório de trabalho atual é o mesmo que o diretório que contém o script, é por isso que funciona se você o executar dessa maneira. Os arquivos da área de trabalho geralmente são iniciados com o diretório base como o diretório de trabalho atual, a menos que você especifique um caminho como Path=/home/bengbers/Programs/Prom . (Além disso, você tem alguns espaços finais após o false para a chave Terminal de acordo com desktop-file-validate , mas isso provavelmente não está causando nenhum problema.)