Skip to content

Configuração Manual do Script ArchAppImage

LinuxDicasPro edited this page Mar 15, 2025 · 13 revisions

O arquivo APP-ArchAppImage em tools, pode ser configurado manualmente sem a interface de configuração. Para isso, você deve configurar as variáveis a seguir. Mas, primeiro você deve fazer uma cópia do script antes de editar.

cd ~/ArchAppImage
cp -a tools/APP-ArchAppImage ./mousepad-ArchAppImage

Aqui estamos assumindo que você tem o diretório de projetos do AppImage em ~/ArchAppImage. Agora, vamos às configurações:

package_name=  

Essa variável é a única que deve ser preenchida obrigatoriamente, que é o nome do pacote.

binary_name=  # opcional  

Já essa é para o nome do binário, que pode ser diferente dependendo do programa. Se ele não for preenchido, o script fará isso por você em:

binary_name="${binary_name:-"$package_name"}"

Se o binary_name não for definido, ele usará o package_name.

dependences=  # opcional  

Também é opcional, dificilmente pode ser necessário se você subir o nível de busca por dependências, a menos que seja uma dependência dinâmica, opcional ou uma que a detecção automática não foi capaz de encontrar ou também se você não quer subir muito o nível de busca por dependências.

use_font="noto-fonts"
# use_font="gnu-free-fonts"

Aqui geralmente você não mexe, a menos que você tenha preferência por uma fonte para testar os programas ou quer testar um programa usando uma fonte específica. Essa configuração não terá nenhum impacto na criação do AppImage, pois geralmente é usado a fonte do sistema como opção de fonte para o AppImage.

use_lib_browser_launcher=0  # 0 (false) ou 1 (true)  

Essa configuração serve para ativar a inclusão de bibliotecas e arquivos necessários para iniciar o navegador padrão.

use_lib_audio_keywords=0    # 0 (false) ou 1 (true)  

E essa configuração é para incorporar ao AppImage o backend de áudio. Entre eles está o alsa, pulseaudio, pipewire e jack.

level_search_deps=1  # Detectar dependências automaticamente (1 - 2 - 3 ...)  

Nessa configuração, você define o nível de busca de dependências que será usado pelo comando pactree dentro do contêiner. O valor padrão é 1, mas o recomendado é de 2 a 3 níveis ou o quanto for preciso.

level_search_add_deps=1  # Detectar dependências adicionais (1 - 2 - 3 ...)  

Aqui já é o nível de busca de dependências dos pacotes adicionados em dependences= que também são dependências do programa, só que configurado manualmente.

mode="default"  # default - container  

Tipo de AppImage, se vai ser no modo padrão ou no modo de contêiner. O modo padrão é recomendado quando o pacote é preparado para ser empacotado em AppImage. E o modo contêiner para situações em que não há uma forma efetiva de resolver problemas de localização de idioma e imagens.

use_apprun_bwrap=0  # modo container: 0 (false) - 1 (true) - 2 (proot)  

Variável que só vai ser configurada se o modo de contêiner for configurado. Ele serve para definir qual AppRun vai ser usado:

  • 0: Vai ser usado o AppRun com o junest.
  • 1: Vai ser usado o AppRun com o comando bwrap.
  • 2: Vai ser usado o AppRun com o comando proot.
enable_auto_integration=0  # 0 (false) ou 1 (true)  

Útil para quem quer trabalhar com AppImage que faz a integração automática com a área de trabalho. Isso altera a variável AUTO_INTEGRATION no AppRun. Assim, toda vez que o AppImage inicia, ele vai verificar se ele já está integrado no sistema e se não estiver integrado, será feita a autointegração.

enable_auto_integration_autostart=0  # 0 (false) ou 1 (true)  

Você também pode configurar o AppImage de programas como por exemplo Telegram e Discord, para iniciarem na inicialização do sistema automaticamente usando essa opção. Isso altera a variável AUTOSTART no AppRun e dessa forma é feita a verificação se o arquivo Desktop do programa está presente em ~/.config/autostart/ para poder ser autoinicializável ao iniciar a sessão do usuário.

autostart_parms=  # opcional  

Alguns programas contam com parâmetros para a auto inicialização e que podem ser definidos nessa variável para que o AppRun os adicionem durante a integração.

bootstrap_type=               # vazio (default) - multilib - chaotic - archlinuxcn - aur  

Essa parte requer um pouco mais de atenção. Por padrão, o ArchAppImage vai usam o mesmo contêiner para empacotar vários programas em AppImage. Mas, é possível fazer uma separação. Você pode configurar um contêiner para o multilib, para outros repositórios diferentes e um para compilação de pacotes e você pode fazer isso usando essa configuração.

Por padrão, o nome do contêiner é arch_bootstrap. Se por exemplo você configurar o multilib, o nome do contêiner será arch_multilib_bootstrap. Agora, se você precisa do multilib e do repositório do ChaoticAUR, você não vai conseguir configurar por aqui, mas é possível ativar nas próximas configurações, embora não recomendado. Para isso, deixe essa variável inalterado e use as opções a seguir.

custom_conteiner_name=  # opcional  

Essa configuração tem vários objetivos:

  • Isolar o empacotamento de um programa;
  • Criar um ambiente personalizado para empacotar os programas.
enable_multilib=0     # 0 (false) ou 1 (true)  
enable_chaoticaur=0   # 0 (false) ou 1 (true)  
enable_archlinuxcn=0  # 0 (false) ou 1 (true)  
enable_build_aur=0    # 0 (false) ou 1 (true)  
use_desktop_file=  # opcional - "$CWD/usr/share/applications/desktopfile.desktop"  
use_icon_file=     # opcional - "$CWD/usr/share/pixmaps/icon.png"  
use_local_junest_bootstrap=0  # 0 (false) ou 1 (true) - opcional  
junest_link=  # opcional
# junest_link="https://pub-a2af2344e8554f6c807bc3db355ae622.r2.dev/junest/junest-x86_64.tar.gz"
# junest_link="https://github.com/ivan-hc/junest/releases/download/continuous/junest-x86_64.tar.gz"
add_basic_stuff=  # opcional  
add_compilers=    # opcional - para aur  
bin_saved=    # opcional - "bin1 bin2 bin3"  
share_saved=  # opcional - "share1 share2 share3"  
lib_saved=    # opcional - "lib1 lib2.so prefixlib"  
remove_others_share_bloatwares=  # opcional - "dir1|dir2|dir3"  
remove_others_libs_bloatwares=   # opcional - "dir1|dir2|lib1"  
remove_others_bins_bloatwares=   # opcional - "bin1|bin2|bin3"  
remove_others_etc_bloatwares=    # opcional - "dir1|dir2|file"  
config_all_locales=0  # modo container: 0 (false) - 1 (true) - 2 (autodetect)  
noupdate=0           # 0 (false) ou 1 (true)  
no_save_bins=0       # 0 (false) ou 1 (true)  
use_ldd_search=0     # 0 (false) ou 1 (true)  
check_rm_python=0    # 0 (false) ou 1 (true)  
recreate_appdir=0    # 0 (false) ou 1 (true)  
create_appimage=0    # 0 (false) ou 1 (true)  

Clone this wiki locally