Estou procurando uma maneira de criar programas estilo download e instalação para Linux. Para esclarecer o que quero dizer com "baixar e instalar", quero dizer que o processo de instalação ocorre assim:
- O usuário baixa o instalador gráfico (NÃO um arquivo deb, rpm, etc.... Estou falando de um executável ELF real) do site
- O usuário executa o instalador gráfico (de preferência clicando duas vezes nele) como um usuário regular (não como root) - o instalador coloca o programa e suas dependências (incluídas no instalador) em um local agradável no diretório inicial e adiciona coisas aos menus do ambiente de trabalho para facilitar a corrida
- O usuário agora pode executar o programa a partir dos menus do ambiente de trabalho
- O desinstalador é instalado junto com o programa, que pode ser executado a qualquer momento
Este estilo de download e instalação é muito semelhante ao método que a maioria dos usuários de computadores pessoais tradicionais (em contraste com os usuários de PCs móveis que estão acostumados a lojas de aplicativos) estão acostumados e desejo distribuir quaisquer programas que eu faça usando esse método .Além disso, eu realmente gosto desse método de distribuição de software. Parece certo.
Eu uso predominantemente C++ e FLTK para programas Linux.
Estou interessado em todas as diferentes opções disponíveis para replicar esta experiência, então fique à vontade para mencionar diferentes métodos de "chegar lá"
Suponha que um programa já tenha sido criado e que precise ser "retroajustado" neste estilo de instalação
A ferramenta de instalação mais comum do tipo que você procura, usada hoje em dia no Linux, é o MojoSetup . Muitos, muitos jogos usam isso, e descobri que também é usado para aplicativos de uso geral. Como outros já mencionaram, você precisará tomar cuidado com as bibliotecas de que precisa; 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 de futuro, é usar Flatpak ; que cuidará da maioria dos problemas de dependência e tempo de execução que você provavelmente encontrará.
No que diz respeito à integração da área de trabalho, a opção mais segura é soltar um
.desktop
arquivo bem formado no local apropriado; a maioria dos ambientes dos usuários irá pegá-los. Outros usuários estarão acostumados a adicionar um lançador onde quiserem; não tente fazer isso por eles...