Com base no que foi dito antes talvez você se pergunte: "e se um aplicativo não estiver no Flathub, como instalar no openSUSE Kalpa?"
Há duas opções: pode-se instalar usando o "transactional-update" que adiciona um novo programa ao sistema principal, tornando-o parte do principal, somente leitura. Ou usando a forma recomendada para aplicativos que não são ferramentas do sistema: usando distrobox. O Kalpa vêm com o Distrobox pré-instalado.
Exemplo usando transactional-update:
sudo transactional-update pkg install btop
Exemplo usando distrobox:
distrobox enter
Se for a primeira vez que você executa este comando, o Distrobox fará o download da imagem do contêiner e o configurará. Isso pode levar alguns minutos. Nas vezes seguintes, será instantâneo.
Após isso você estará em um contêiner do openSUSE Tumbleweed! O que significa que para todos os efeitos você está em um openSUSE "normal" (mutável) e pode instalar o que quiser usando o zypper, o gerenciador de pacotes do openSUSE, como, por exemplo:
sudo zypper install ffmpeg
Isso instalará o "ffmpeg" no contêiner, não no sistema "somente leitura". E funcionará sempre que estiver dentro do contêiner.
Para cessar o contêiner, sempre que quiser, use:
distrobox enter <nome do container>
Para listar os existentes use:
distrobox list
Para criar um novo, use:
distrobox create
Você pode até criar um container de outra distribuição como:
distrobox create -n arch -i archlinux:latest
Entrar e usar o pacman, gerenciador do Arch
Linux, para instalar o que deseja.
Mas não é o foco do artigo falar sobre distrobox e sim apresentar o openUSE Kalpa.
Acho que você está pegando a ideia. Você "brinca", digamos assim, usando contêineres sem afetar o sistema base.
Então agora se pergunte: "mas para usar um programa, fora do sistema principal, toda vez terei que entrar em um contêiner?"
Não. Você pode exportar o programa para o sistema principal e assim pular a parte de ter que entrar no contêiner. No exemplo dado do ffmpeg, ainda dentro do contêiner, poderá usar:
distrobox-export --bin /usr/bin/ffmpeg
Ou
distrobox-export --app <nome do aplicativo>
O "--app" é uma versão mais "completa" da exportação, que inclui a integração com o menu de aplicativos, enquanto o "--bin" é uma exportação mais "simples", focada apenas no terminal. Se for um aplicativo gráfico use "--app".
Assim poderá usar o ffmpeg no sistema principal diretamente. Quando você remove um contêiner com o comando "distrobox rm", todos os aplicativos e atalhos associados a ele são removidos automaticamente, tanto os que estavam somente dentro do contêiner quanto os que foram exportados para o seu sistema principal. Sem afetar seus arquivos pessoais.
Para remover o que foi exportado também poderá usar: "distrobox-unexport --app
" ou "distrobox-unexport --bin ".