Introdução
O utilitário toolbox-shortcuts
mapeia quaisquer executáveis de um container toolbox para o host e outros containers, usando apenas links simbólicos. Isso ajuda a manter a compatibilidade com aplicações do host com executáveis em um contêiner.
Mais informações sobre o toolbox neste link.
Casos de uso
Criei uma ação no meu gerenciador de arquivos que usa scripts do ImageMagick, o qual está instalado em um contêiner. Com o
toolbox-shortcuts
, consigo criar um link simbólico para o executávelconvert
e toda a integração com o gerenciador irá funcionar normalmente.A IDE - que está instalada no host - precisa de um executável
javac
(compilador java) no $PATH do meu host. Da mesma forma, posso criar um link simbólico comtoolbox-shortcuts
para fornecer um executáveljavac
no meu sistema host.
Instalação
Clone o repositório para uma nova pasta em ~/.local/opt
:
|
|
Supondo que a pasta ~/.local/bin
esteja em seu $PATH
, crie um link simbólico para o utilitário cli:
|
|
Como usar
Imagine o seguinte cenário:
- executável
code
nocontainer1
- executável
node
nocontainer2
- executável
yarn
nocontainer2
- executável
java
nocontainer3
Para integrar todos esses executável ao host:
|
|
Agora você pode executar o code
, o node
, o yarn
e o java
do host ou do container1, container2 ou container3.
Gerenciadores de pacotes
Gerenciadores de pacotes como dnf
, yum
, apt
, apt-get
, pacman
, zypper
, também funcionam normalmente com links simbólicos.
Por exemplo, para instalar o php-cli
do host usando o dnf
:
|
|
Como funciona
Considerando o cenário anterior, os links simbólicos foram criados em ~/.local/bin
:
|
|
Todos os arquivos de contêineres também são links simbólicos:
|
|
A mágica é feita pelo script toolbox-shortcut-handler
, que pode identificar se a execução está sendo feita no host ou em um container.
Limitações
sudo
Executando a partir do host, não funciona com nenhum link simbólico criado pelo toolbox-shortcuts
. No entanto, os gerenciadores de pacotes podem ser executados sem sudo.
O script toolbox-shortcut-handler
tem um identificador especial para lidar com os gerenciadores de pacotes.
Diretório de instalação
Só pode ser instalado na pasta do usuário, devido ao funcionamento do toolbox, que compartilha apenas a pasta pessoal e não a raíz do sistema.