Aplicativos portáteis para Linux?

11

Fazer essa pergunta me fez pensar - existem aplicativos portáteis disponíveis para Linux? Sei que muitas ferramentas simples podem ser executadas de maneira independente, mas enfrentarei limitações de segurança nas distribuições comuns do Linux?

Considerando a disponibilidade de ferramentas etc. na maioria dos sistemas Linux padrão, existe alguma necessidade disso?

EDIT: Para esclarecer, estou procurando por aplicativos que possam ser executados em um sistema Linux existente - não quero carregar todo o sistema operacional, se não for necessário.

Andy Mikula
fonte

Respostas:

6

A maioria dos aplicativos que usam a cadeia de ferramentas GNU pode ser criada a partir da fonte assim:

./configure --prefix=[directory which will contain your 'portable' application]
make
make install

e depois mudou-se para um computador diferente com bibliotecas compatíveis.

O Linux não possui registro. Muitas aplicações geralmente não precisam ser 'instaladas'; elas podem ser construídas a partir da fonte. Portanto, tornar "Meus aplicativos Specialy Portable © para Linux" é absolutamente inútil, então eu acho que ninguém se importa com isso.

Basta olhar para a resposta mais importante para esta pergunta e você entenderá esse conceito estúpido de tornar os aplicativos 'portáteis' 'úteis' apenas no mundo dos aplicativos proprietários e de registro com gerenciamento de licenças.

Alex Bolotov
fonte
Obrigado! Eu não tinha certeza que era estúpido antes, mas você realmente deixou que ponto casa;)
Andy Mikula
4

O ./configuretruque funcionará para alguns aplicativos. Muitos aplicativos, no entanto, codificam o prefixo em si mesmos e o usam em tempo de execução para encontrar arquivos de suporte. Eles também precisam carregar seus arquivos de biblioteca compartilhada (embora a LD_LIBRARY_PATHvariável de ambiente possa ser configurada para ajudar nisso). O resultado disso, no entanto, é que os aplicativos portáteis provavelmente não serão muito portáteis - eles dependerão do prefixo especificado. Provavelmente funcionará em muitos lugares (a maioria das distros modernas monta mídia /media/DISKNAME), mas impede que o aplicativo seja verdadeiramente portátil e independente de local.

A resposta final, portanto, é que criar aplicativos Linux portáteis, embora não seja impossível, é repleto de sutilezas. Suspeito que esse seja um dos principais fatores que contribuem para o fato de não ser feito tanto quanto no Windows. Além disso, os recursos públicos de computação (onde a maior parte do benefício do aplicativo portátil surge) normalmente não executam o Linux. Uma exceção notável são os laboratórios universitários, mas geralmente você pode instalar algum software extra em seu diretório pessoal lá.

Michael Ekstrand
fonte
1

O Linux for Travellers controla esse tópico e tem vários truques para contornar o fato de que ainda não existem instalações de aplicativos portáteis direcionadas ao Linux - provavelmente pelo motivo que você mencionou: se você tiver privilégios de instalação, já é fácil adicionar novos aplicativos. para não precisar usar seus portáteis.

  • Instale o WINE e execute os aplicativos em PortableApps.com ou em outro lugar. Parece exagero, mas permite que você use uma instalação de aplicativos portáteis que você já possui.
  • Execute o Damn Small Linux dentro da sua instalação existente do Linux (por exemplo, no Ubuntu ). Este é útil se você ainda não possui privilégios de instalação em um determinado sistema Linux.
quark
fonte
1

Você pode verificar aplicativos portáteis do Linux . Basta baixar binários portáteis e torná-los executáveis. todas as dependências necessárias estão incluídas no binário.

do utilizador
fonte
1

Para tornar qualquer aplicativo portátil, você poderá criar links simbólicos que você coloca na pasta pessoal ao fazer login; o aplicativo salvará as preferências por meio do link simbólico para onde quer que ele vá, digamos a unidade flash. Eu usei isso para salvar Minecraft portátil.

Andrew Wonnacott
fonte
1

O problema com a execução de aplicativos em sistemas Linux existentes é que geralmente os aplicativos são compilados para usar bibliotecas compartilhadas. Existem muitas distribuições Linux e muitas versões de bibliotecas base. Se você tiver sorte, o sistema Linux existente terá as mesmas versões e seu aplicativo será vinculado à versão correta das bibliotecas. Caso contrário, não funcionará. Uma solução alternativa seria compilar os aplicativos necessários com bibliotecas vinculadas estaticamente, mas isso leva a tamanhos de programas muito maiores.

vtest
fonte
1

Outra opinião sobre a sua pergunta é a noção de startups hoje em dia que costuma escrever código do lado do cliente uma vez que utiliza estruturas para fazer o trabalho pesado de sintetizar clientes para iOS, Android e Web. Aqui, a lógica de negócios é portátil, mas é portada automaticamente por essas ferramentas. Existem muitas estruturas, Meteor é uma delas.

Por esse caminho, uma proporção significativa de qualquer aplicativo encontrado nas lojas de aplicativos tem esse legado portátil.

Para embaçar ainda mais essa idéia, agora temos o WebAssembly, que permite escrever o código do navegador (que por definição é javascript) em um número crescente de idiomas do lado do servidor tradicionalmente compilados estaticamente, que são analisados ​​para sintetizar o javascript para atingir o cliente.

Você está perguntando sobre aplicativos linux, no entanto, com ferramentas como a Electron, que efetivamente é uma GUI ou linha de comando envolvida em nodejs, a idéia de aplicativos linux portáteis está experimentando uma explosão de opções

Scott Stensland
fonte
0

Há um novo jogador em campo, AppImage . Os aplicativos são empacotados como um único arquivo, com todas as dependências incluídas, para que possam ser executados independentemente da distribuição subjacente.

Há um repositório de imagens de aplicativos no AppImageHub .

DevSolar
fonte