Esse projeto pode ser utilizado com multipass, WSL e WSL2, ou outros bash para windows que possuam o disco do windows montado.
Esse pequeno projeto tem como objetivo abrir o arquivo de hosts do windows pelo bash e escrever o ip do linux, sempre que o ambiente for iniciado, inicialmente o projeto foi feito pois o serviço em go wsl2host não funcionou comigo.
- WSL 1 ou 2 (Windows subsystem for linux ativado):
-
- Instalando o WSL: wsl-ms-docs
-
- OBS.: A instalação do WSL2 é similar mas requer a build do windows que estará disponível após 28/05/2020
- Distro linux instalada.
-
- A mais popular atualmente é o Ubuntu, porém estou utilizando o Arch-Linux
- Multipass
-
- Instalando o multipass no windows 10 pro: multipass
-
- Utilizando o multipass para criar vms multipass-start
-
- referencia de comandos command-reference
- Python instalado na versão 3.6+
A estrutura do projeto.
wslhost
├── README.md
├── source
│ └── wslhost.py
└── wslhost.sh
A forma mais simples de usar é executando o shell script wslhost.sh
path/./wshost.sh --hp path/hostsfile --bn bash_name
ou
bash path/wshost.sh --hp path/hostsfile --bn bash_name
Para que o arquivo seja executado ao iniciar o shell wsl seja ele ubuntu ou qualquer distro, basta passar o caminho pro shell script no .bashrc do seu perfil.
Ex.:
vim ~/.bashrc
e adicione as seguintes linhas troque "path" pelo caminho até o arquivo wslhost.sh obs.: as reticencias no exemplo são apenas ilustrativas.
export WSLHOST=path/wslhost.sh
...
alias wslhost="bash $WSLHOST --hp path/hosts --bn bash_name"
...
wslhost
agora sempre que você abrir um shell do wsl ele ira mapear o ip para o seu hostfile do windows, agora basta subir seus serviços e acessar no browser seguinte a estrutura abaixo.
bash_name:PORTA
Ex.:
arch.local:8888
ubuntu.local:8888
OBS.: A porta de exemplo é do jupyter-lab
Todas as contriuições sugestões e criticas(construtivas) serão bem vindas.
Obrigado!!!