Dicas e truques¶
Esta página explica alguns recursos úteis da CLI do Flatpak.
Testando um aplicativo com um runtime diferente¶
Você pode (para testar) executar um aplicativo com um runtime diferente do que normalmente usa. Por exemplo, para executar o gedit estável com o ultimo runtime instável do GNOME, você pode:
$ flatpak run --runtime-version=master org.gnome.gedit
Você também pode usar um runtime completamente diferente (mas o mesmo número de versão):
$ flatpak run --runtime=org.gnome.Sdk org.gnome.gedit
Se você deseja apenas usar o sdk em vez da plataforma como a acima, uma abordagem melhor é usar -d
.
Aviso
A execução em um runtime com uma ABI completamente diferente é um comportamento indefinido e sem suporte.
Fazendo downgrade¶
É possível fazer o downgrade de um aplicativo instalado (ou runtime) para uma compilação mais antiga.
Primeiro você procura o commit no qual está interessado:
$ flatpak remote-info --log flathub org.gnome.Recipes
Então, você implanta o commit:
$ sudo flatpak update \
--commit=ec07ad6c54e803d1428e5580426a41315e50a14376af033458e7a65bfb2b64f0 \
org.gnome.Recipes
Nota
O exemplo aqui usa o sudo
para instalações do sistema porque, diferentemente das atualizações normais, os downgrades são considerados uma ação privilegiada. Se o aplicativo for instalado por usuário, você o executará como esse usuário.
Se você possui o Flatpak 1.5.0 ou posterior, também pode impedir que o aplicativo seja incluído nas atualizações (manuais ou automáticas):
$ flatpak mask org.gnome.Recipes
Fazendo bisect em regressões em compilações de aplicativos¶
Caso as versões mais recentes de um aplicativo introduzam regressões, você pode usar flatpak-bisect
para descobrir qual commit introduziu a regressão. Funciona como git bisect
.
Caso sua distribuição não instale o utilitário `` flatpak-bisect``, você poderá encontrá-lo distribuído juntamente com o código-fonte Flatpak, em https://github.com/flatpak/flatpak/blob/main/scripts/flatpak-bisect
Primeiro, você atualiza o aplicativo e obtém seu histórico:
$ flatpak-bisect org.gnome.gedit start
Em seguida, você deve definir o commit atual como o primeiro commit incorreto:
$ flatpak-bisect org.gnome.gedit bad
Agora você precisa encontrar o hash do primeiro bom commit conhecido. Para isso, você pode ver o histórico da compilação executando:
$ flatpak-bisect org.gnome.gedit log
Para começar a dividir, faça o checkout do primeiro commit conhecido que você encontrar:
$ flatpak-bisect org.gnome.gedit checkout 5cd2b0648618c9038fbc6830733817309ade29541cdd8383830bbb76f6accf0d
Após definir o commit incorreto e o primeiro commit válido, é possível iniciar o aplicativo para verificar se o commit atual na sessão de divisão é bom ou ruim.
Para marcar um commit como bom ou ruim, execute:
$ flatpak-bisect org.gnome.gedit good
Ou:
$ flatpak-bisect org.gnome.gedit bad
flatpak-bisect
vai lhe informar quando o primeiro commit ruim for encontrado.
Adicionando uma instalação personalizada¶
Por padrão, o Flatpak instala aplicativos em todo o sistema e também pode ser instalado por usuário com a opção --user
aceita pela maioria dos comandos. Uma terceira opção é configurar uma instalação personalizada, que pode ser armazenada em um disco rígido externo.
Primeiro, certifique-se de que o diretório de configuração existe:
$ sudo mkdir -p /etc/flatpak/installations.d
Em seguida, abra um arquivo nesse diretório como root:
$ sudoedit /etc/flatpak/installations.d/extra.conf
E escreva algo assim:
[Installation "extra"]
Path=/run/media/mwleeds/ext4_4tb/flatpak/
DisplayName=Extra Installation
StorageType=harddisk
Veja flatpak-installation(5) para a especificação completa do formato. Substitua o caminho pelo caminho real que você deseja usar. Você pode usar df
para ver sistemas de arquivos montados e mkdir
para criar um diretório flatpak
para que o caminho especificado por Path=
exista.
Então você pode adicionar um controle remoto usando um comando como:
$ flatpak --installation=extra remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
E instale nele com:
$ flatpak --installation=extra install flathub org.inkscape.Inkscape
Nota
Se sua instalação personalizada for a única com o controle remoto do qual você está instalando, --installation
pode ser omitido.
E execute aplicativos a partir dele com:
$ flatpak --installation=extra run org.inkscape.Inkscape
Nota
Se sua instalação personalizada for a única com o aplicativo que você está executando, --installation
pode ser omitido.
Configurando limites de recursos para aplicativos¶
Quando o systemd está disponível, o Flatpak tenta colocar os processos do aplicativo em um escopo como app-flatpak-com.brave.Browser-*.scope
(no caso do Brave), com *
substituído por um sufixo arbitrário. Isso significa que você pode criar um arquivo como ~/.config/systemd/user/app-flatpak-com.brave.Browser-.scope.d/memory.conf
com conteúdos como:
[Scope]
MemoryHigh=1G
Então, após um systemctl --user daemon-reload
, esses parâmetros systemd.resource-control(5)
serão aplicados a todas as instâncias desse aplicativo.