A ferramenta de instalação mais comum do tipo que você procura, atualmente usada no Linux, é o MojoSetup . Muitos, muitos jogos usam isso, e eu o vi usado para aplicativos de uso geral também. Como outras pessoas mencionaram, você precisa cuidar de todas as bibliotecas necessárias. muitos jogos fornecem um binário vinculado dinamicamente junto com todas as suas dependências, junto com um binário vinculado estaticamente.
Outra abordagem, talvez mais à prova do futuro, é usar Flatpak ; que cuidará da maioria dos problemas de dependência e tempo de execução com os quais você provavelmente se deparará.
No que diz respeito à integração de desktop, a opção mais segura é descartar um arquivo .desktop
bem formado no local apropriado; a maioria dos ambientes dos usuários vai buscá-los. Outros usuários serão usados para adicionar um lançador onde quiserem; não tente fazer isso por eles ...