Usando Flatpak

Esta página fornece uma introdução à interface da linha de comandos flatpak e explica as convenções técnicas essenciais, bem como os comandos mais comuns.

Geralmente, os usuários finais não precisam usar esta página ou a interface da linha de comando do Flatpak, pois o Flatpak pode ser facilmente usado por meio de ferramentas gráficas de gerenciamento de software, embora eles sejam livres para usar a linha de comando, se preferirem!

O comando flatpak

flatpak é o comando principal do Flatpak, ao qual comandos específicos são anexados. Por exemplo, o comando para instalar algo é flatpak install e o comando para desinstalar é flatpak uninstall.

Identificadores

O Flatpak identifica cada aplicativo e runtime usando um identificador exclusivo de três partes, como com.empresa.Aplicativo. O segmento final desse endereço é o nome do objeto e a parte anterior identifica o desenvolvedor, para que o mesmo desenvolvedor possa ter vários aplicativos, como com.empresa.Aplicativo1 e com.empresa.Aplicativo2.

Trios identificadores

Normalmente, é suficiente fazer referência a objetos usando seu ID. No entanto, em algumas situações, é necessário fazer referência a uma versão específica de um objeto ou a uma arquitetura específica. Por exemplo, alguns aplicativos podem estar disponíveis como uma versão estável e uma versão de teste; nesse caso, é necessário especificar qual você deseja instalar.

O Flatpak permite que arquiteturas e versões sejam especificadas usando o trio identificador de um objeto. Este assume a forma de nome/arquitetura/ramo, como com.empresa.Aplicativo/i386/stable. (Ramo é o termo usado para se referir a versões do mesmo objeto.) A primeira parte do trio é o ID, a segunda parte é a arquitetura e a terceira parte é o ramo.

Os trios identificadores também podem ser usados para especificar apenas a arquitetura ou o ramo, deixando parte do trio em branco. Por exemplo, com.empresa.Aplicativo//stable apenas especificaria o ramo, e com.empresa.Aplicativo/i386// apenas especifica a arquitetura.

A CLI do Flatpak fornece feedback se a arquitetura ou o ramo de um objeto precisar ser especificada/o.

Sistema e usuário

Os comandos do Flatpak podem ser executados em todo o sistema ou por usuário. Os aplicativos e runtime instalados em todo o sistema estão disponíveis para todos os usuários no sistema. Os aplicativos e runtimes instalados por usuário estão disponíveis apenas para os usuários que os instalaram.

O mesmo princípio se aplica aos repositórios – os repositórios que foram adicionados em todo o sistema estão disponíveis para todos os usuários, enquanto os repositórios por usuário só podem ser usados por um usuário específico.

Os comandos do Flatpak são executados em todo o sistema, por padrão. Se você estiver instalando aplicativos para o uso diário, é recomendável manter esse comportamento padrão.

No entanto, a execução de comandos por usuário pode ser útil para fins de teste e desenvolvimento, pois os objetos instalados dessa maneira não estarão disponíveis para outros usuários no sistema. Para fazer isso, use a opção --user, que pode ser usada em combinação com a maioria dos comandos flatpak.

Os comandos se comportam exatamente da mesma maneira se forem executados por usuário em vez de em todo o sistema.

Comandos básicos

Esta seção abrange os comandos básicos necessários para instalar, executar e gerenciar aplicativos Flatpak. Para obter a lista completa dos comandos do Flatpak, execute flatpak --help ou consulte Referência de comandos do Flatpak.

Listar remotos

Para listar os remotos que você configurou no seu sistema, execute:

$ flatpak remotes

Isso fornece uma lista dos remotos existentes que foram adicionados. A lista indica se cada remoto foi adicionado por usuário ou em todo o sistema.

Adicionar um remoto

A maneira mais conveniente de adicionar um remoto é usando um arquivo .flatpakrepo, que inclui os detalhes do remoto e sua chave GPG:

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Aqui, flathub é o nome local que é dado ao remoto. O URL aponta para o arquivo .flatpakrepo do remoto. --if-not-exist impede que o comando produza um erro se o remoto já existir.

Remover um remoto

Para remover um remoto, execute:

$ flatpak remote-delete flathub

Neste caso, flathub é o nome local do remoto.

Instalar aplicativos

Para instalar um aplicativo, execute:

$ flatpak install flathub org.gimp.GIMP

Aqui, flathub é o nome do remoto do qual o aplicativo deve ser instalado e org.gimp.GIMP é o ID do aplicativo.

Às vezes, um aplicativo requer um runtime específico, e isso será instalado antes do aplicativo.

Os detalhes do aplicativo a ser instalado também podem ser fornecidos por um arquivo .flatpakref, que pode ser remoto ou local. Para especificar um .flatpakref em vez de fornecer manualmente o ID remoto e do aplicativo, execute:

$ flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

Se o arquivo .flatpakref especificar que o aplicativo deve ser instalado a partir de um remoto que ainda não foi adicionado, você será perguntado se deseja adicioná-lo antes da instalação do aplicativo.

Desde o Flatpak 1.2, o comando install pode procurar aplicativos. Um simples:

$ flatpak install gimp

confirmará o remoto e o aplicativo e prosseguirá com a instalação.

Executando aplicativos

Depois que um aplicativo é instalado, ele pode ser iniciado usando o comando run e seu ID do aplicativo:

$ flatpak run org.gimp.GIMP

Atualizando

Para atualizar todos os aplicativos e runtimes instalados para a versão mais recente, execute:

$ flatpak update

Listas aplicativos instalados

Para listas os aplicativos e runtimes que você tem instalado, execute:

$ flatpak list

Alternativamente, para apenas listar os aplicativos instalados, execute:

$ flatpak list --app

Remover um aplicativo

Para remover um aplicativo, execute:

$ flatpak uninstall org.gimp.GIMP

Solução de problemas

O Flatpak possui alguns comandos que podem ajudá-lo a fazer as coisas funcionarem novamente quando algo der errado.

Para remover runtimes e extensões que não são usados pelos aplicativos instalados, use:

$ flatpak uninstall --unused

Para corrigir inconsistências com sua instalação local, use:

$ flatpak repair

O Flatpak também possui vários comandos para gerenciar as permissões do portal dos aplicativos instalados. Para redefinir todas as permissões do portal para um aplicativo, use flatpak permission-reset:

$ flatpak permission-reset org.gimp.GIMP

Para descobrir quais alterações foram feitas na instalação do Flatpak ao longo do tempo, você pode dar uma olhada nos logs (desde a versão 1.2):

$ flatpak history