Criar seu primeiro programa Linux em .appimage

Nessa matéria iremos criar um APP empacotado em .appimage e assim o APP será compatível a todas as distribuições GNU/Linux, confira.




Appimage

 

AppImage, anteriormente conhecido como klik e PortableLinuxApps, é um sistema de gerenciamento e formato de pacote para distribuição de aplicativos portáteis no Linux sem a necessidade de permissões administrativas para instalar. Wikipédia

 


 

Seu primeiro programa Linux em .appimage

 

Nessa matéria irei passar o básico para empacotar o Deepin-terminal em .appimage.

Empacotar um APP em .appimage depende de conhecimento avançado de Linux e estudo da documentação do Appimage que é onde você ira buscar ajuda para outros programas.

 

Faça o download appimage-resources que iremos usar para criar o chroot usado na instalação do Deepin-terminal e todas as suas dependências isolado do seu sistema operacional, são esses pacotes da instalação que farão parte do seu .appimage. Abra o terminal.

git clone https://github.com/boolean-world/appimage-resources

Entre no diterório.

cd appimage-resources

Execute o setup do chroot 

sudo ./tempenv.sh setup

Inicie o chroot.

sudo ./tempenv.sh start

Instale o deepin-terminal usando o comando para a sua distribuição Linux.


Para Arch Linux
pacman -S deepin-terminal

Para Debian e Ubuntu
apt install deepin-terminal

Para Fedora
dnf install deepin-terminal

Para openSUSE
zypper install deepin-terminal


Saia do chroot.

exit

Volte para a sua home.

cd

Crie o diretório de criação do seu .appimage.

 

mkdir ~/dde-terminal.AppDir

Precisamos copiar os pacotes da instalação do deepin-terminal criados pelo chroot em 

~/appimage-resources/tempenv/files/



 

Copie com o comando.

 

sudo cp -r ~/appimage-resources/tempenv/files/* ~/dde-terminal.AppDir

 

Já temos a estrutura e os pacotes do deepin-terminal para gerar o .appimage

 


 

Variáveis de ambiente


Crie o arquivo para as variáveis de ambiente ( Outro tema que você deve estudar.

sudo touch ~/dde-terminal.AppDir/AppRun

Abra o AppRun para edição.

sudo nano ~/dde-terminal.AppDir/AppRun

Cole as linhas abaixo.

 

#!/bin/sh

SELF_DIR="$(dirname "$(readlink -f "$0")")"
LIBS_PATH="$SELF_DIR/usr/lib:$SELF_DIR/usr/lib/x86_64-linux-gnu/:"

if [ -z "$LD_LIBRARY_PATH" ]; then
LD_LIBRARY_PATH="$LIBS_PATH"
else
LD_LIBRARY_PATH="$LIBS_PATH:$LD_LIBRARY_PATH"
fi

export LD_LIBRARY_PATH

exec "$SELF_DIR/usr/bin/deepin-terminal" 


Ficando como na imagem.

 


Salve teclando CTRL + x tecle s e tecle Enter para fechar o Nano.

Torne o arquivo executável.

sudo chmod +x ~/dde-terminal.AppDir/AppRun

 

Lançador

 

Crie o lançados .desktop.

sudo touch ~/dde-terminal.AppDir/deepin-terminal.desktop

Abra o deepin-terminal.desktop para edição.

sudo nano ~/dde-terminal.AppDir/deepin-terminal.desktop

Cole as linhas abaixo.

 

[Desktop Entry]
Categories=System;
Comment=Use the command line
Exec=/usr/bin/deepin-terminal
GenericName=Terminal
Icon=deepin-terminal
Keywords=shell;prompt;command;commandline;
Name=Deepin Terminal
StartupNotify=false
Type=Application
X-Deepin-Vendor=deepins 


Ficando como na imagem.



Salve teclando CTRL + x tecle s e tecle Enter para fechar o Nano.


Ícone

 

O ícone é o único problema, ele deve ser no tamanho de 256x256, como o do deepin-terminal é menos, devemos alterar ele.

Navegue até

~/dde-terminal.AppDir/usr/share/icons/hicolor/scalable/apps/

Abra a imagem com o Gimp vá emImagem > Redimencionar imagem e altere para 256x256.



Após redimencionar vá em Arquivo > Exportar como altere o nome e formato para deepin-terminal.png e exporte para a sua home.



Copie o ícone 256x256 para a pasta do seu appimage.


sudo cp ~/deepin-terminal.png ~/dde-terminal.AppDir

Pronto, já temos tudo para gerar o .appimage.



Gerar o .appimage


Faça o download do appimagetool.

wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage

Torne o .appimage executável.

chmod +x appimagetool-x86_64.AppImage

 Gere o seu primeiro .appimage.

 

sudo ./appimagetool-x86_64.AppImage ~/dde-terminal.AppDir

Torne o seu .appimage executável.

chmod +x Deepin_Terminal-x86_64.AppImage

Execute o seu primeiro .appimage

./Deepin_Terminal-x86_64.AppImage

Ai está.

 


 

Comentários

  1. Olá!

    Essa seria a regra básica para empacotar outros programas em appimage?

    ResponderExcluir
    Respostas
    1. Exatamente, apenas se aprofunde no estudo de variável de ambiente.

      Excluir
  2. Tudo amigo, gostei das explicações, mas lhe pergunto... um .exe seria possível?

    ResponderExcluir
    Respostas
    1. Não, mesmo porque não lidamos com coisas das profundezas, aqui é só Linux ;)

      Excluir
    2. amigo criar um AppImage do programa urlhelper 3.42 do windows porque no linux nao tem programa igual ele ja pesquisei em tudo e nao achei

      Excluir
    3. O meu trabalho e para programas abertos e para Linux, além de ser crime não tem como empacota programas windows nesse formato. Se precisa dele use Windows e pague pela licença.

      Excluir
  3. E como fazer para executar o AppImage sem o uso do terminal? Por exemplo, apenas clicando no arquivo e abrindo imediatamente

    ResponderExcluir

Postar um comentário

olá, seja bem vindo ao Linux Dicas e suporte !!

Você precisa ver isso

Todos os arquivos do blog

Mostrar mais