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é
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á.
Olá!
ResponderExcluirEssa seria a regra básica para empacotar outros programas em appimage?
Exatamente, apenas se aprofunde no estudo de variável de ambiente.
ExcluirTudo amigo, gostei das explicações, mas lhe pergunto... um .exe seria possível?
ResponderExcluirNão, mesmo porque não lidamos com coisas das profundezas, aqui é só Linux ;)
Excluiramigo 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
ExcluirO 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.
ExcluirE como fazer para executar o AppImage sem o uso do terminal? Por exemplo, apenas clicando no arquivo e abrindo imediatamente
ResponderExcluir