O Windows 11 expandiu o Windows Subsystem for Linux (WSL2) com suporte completo para GUI e X Windows. Participe deste webinar para entender melhor o WSL2, como ele funciona, configuração adequada, opções de configuração e aprender a direcioná-lo no desenvolvimento de seu aplicativo. Teste seus aplicativos Linux na área de trabalho do Windows sem a necessidade de um segundo computador ou a sobrecarga de uma máquina virtual. Aprenda a aproveitar os recursos e APIs adicionais do Linux de seus aplicativos.
Table of Contents
Subsistema Windows para Linux
- Introduzido no Windows 10
- Curiosidades: Substitui os Serviços do Windows para Unix a partir de 2004
- Também disponível no Windows 11 e Windows Server 2019
- Desenvolvido em colaboração com a Canonical e outros
- Desempenho aprimorado do WSL2 com um kernel Linux real
- Usa um subconjunto de recursos do Hyper-V
- Não tão isolado ou com tanta sobrecarga quanto uma VM
- Desempenho rivaliza com Linux nativo
- WSLg adiciona suporte a GUI ○ Fornecido no Windows 11 ou Windows 10 Insider 21364
Microsoft & Linux (endereçando ao elefante na sala…)
Benefícios e casos de uso
- Capacidade de executar binários ELF64 Linux não modificados, expandir o kit de ferramentas e os recursos
- Flexibilidade de combinar a cadeia de ferramentas Windows e Linux em um computador
- Menos sobrecarga do que uma máquina virtual tradicional significa melhor desempenho
- Ambiente de compilação local com contêineres, etc.
- Testando aplicativos de servidor do Windows sem infraestrutura adicional
- Não há necessidade de mexer com inicialização dupla ou instalação de VM de terceiros
- Invocar binários do Linux do Windows e executáveis do Windows do Linux
- Funciona conforme você precisa, menos gerenciamento
- Memória e espaço em disco são compartilhados dinamicamente
Guia de instalação do WSL
- Habilite o recurso opcional “Windows Subsystem for Linux” (via Admin PowerShell ou Recursos do Windows)
- Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- Instale a distribuição Linux preferida
- Windows Store ou manualmente via script
- Inicie o Linux Distro para inicializá-lo, fornecer senha, etc.
- Você também pode criar uma distribuição personalizada
- Iniciar WSL 4 maneiras
- Ícone no menu iniciar
- [distro], por exemplo ubuntu
- wsl.exe ou bash.exe
- wsl [comando] ou bash -c [comando]
- https://docs.microsoft.com/en-us/windows/wsl/install
Distribuições disponíveis
- Ubuntu, Kali e Pengwin estão no
- Família Debian (usando .deb pkgs – apt)
- Kali está focada em segurança
- Pengwin é projetado em torno da WSL
- SUSE e Fedora estão na família RPM com Red Hat
- Alpine é uma distribuição Linux independente, leve e orientada para a segurança
- Algumas distribuições incluem várias versões
Gerenciando distribuições WSL
- Listar distribuições
- wsl –list –all ou wsl –list –running
- Definir distribuição padrão
- wsl –setdefault <DistributionName> ou wsl -s <DistributionName>
- Execute uma distribuição específica
- wsl –distribution <DistributionName>
- Executar como usuário especificado
- wsl –user <Username> (ou use o nome de distribuição específico)
- Cancelar o registro e desinstalar uma distribuição
- wsl –unregister <DistributionName>
- Desligar todas as instâncias do WSL
- wsl – desligar
Primeira corrida
- Na primeira execução, você geralmente é solicitado a fornecer um nome de usuário e uma senha
- openSUSE usa YaST2 para uma boa GUI ASCII
Conectando a partir do IDE
- Ferramentas -> Opções -> Implantação -> Gerenciador de perfis de conexão
- O endereço IP e as portas são compartilhados com o host
- Então você se conecta a 127.0.0.1
- Só pode usar cada número de porta uma vez (mesmo se você tiver várias configurações de distros)
- Portanto, use números de porta diferentes para várias instâncias se quiser executá-las simultaneamente
Redefinição de senha de usuário Linux
- Anote seu nome de usuário
- No terminal do Windows, obtenha o nome da distribuição
- wsl -l
- Do terminal do Windows, mude o usuário padrão para o root
- configuração do ubuntu –usuário padrão root
- Inicie a distribuição WSL (você estará logado como root)
- Ubuntu
- Alterar a senha do usuário
- nome de usuário passwd
- Altere o usuário padrão de volta
- configuração do ubuntu – nome de usuário padrão do usuário
- Inicie a distribuição WSL novamente
Acessando arquivos entre sistemas
- Acesse o Windows a partir do Linux
- cd /mnt/c/
- Abra o WSL no diretório atual do Windows
- wsl
- wsl -d ubuntu
- Ubuntu
- Acesse o Linux a partir do Windows
- wsl.localhost
- Abra o caminho atual do Linux no Windows
- explorer.exe.
- cmd.exe
- powershell.exe
Recursos do Windows Subsystem para Linux
- Blog de linha de comando (inclui WSL) http://aka.ms/cliblog
- Aprenda WSL http://aka.ms/learnwsl
- Documentos WSL http://aka.ms/wsldocs
- Conecte o USB ao WSL https://aka.ms/wsl-usbip
- WSL: execute aplicativos de GUI do Linux youtu.be/kC3eWRPzeWw
- Mergulho Profundo no WSL2 youtu.be/lwhMThePdIo
- Atualizações da ferramenta de desenvolvimento do Windows: WSL, Terminal, Gerenciador de Pacotes e mais youtu.be/m5tt9mDRPSw
Mais recursos WSL
- Advanced WSL Launcher / Installer (Simplifique fazendo sua própria distribuição WSL)
- Outras distribuições pré-construídas baseadas em WSLDL
- Coleção de utilitários WSL
- Um gerenciador de instâncias GUI WSL2
- Lista incrível para WSL
Recursos do FMXLinux
- DocWiki: Desenvolvimento de aplicativos Linux
- DocWiki: Instalando o Platform Assistant no Linux
- DocWiki: FireMonkey para Linux
- Script para automatizar a configuração no Ubuntu
- Script para automatizar a configuração no Redhat
Configurando o CentOS (baseado em Redhat)
- Instale o Docker no Ubuntu docs.docker.com/engine/install/ubuntu/
- Siga as etapas docs.microsoft.com/en-us/windows/wsl/use-custom-distro
- Criar pasta no Windows C:WSLCentOS
- Do Ubuntu
- início do docker de serviço sudo
- sudo docker run -t dokken/centos-stream-9 bash ls /
- dockerContainerID=$(sudo docker container ls -a | grep -i dokken/centos-stream-9 | awk ‘{print $1}’)
- sudo docker export $dockerContainerID > /mnt/c/WSL/CentOS/centos.tar
- sudo docker rm $dockerContainerID
- Do PowerShell
- cd C:WSLCentOS
- wsl –import CentOS C:WSLCentOS .centos.tar
- Do CentOS
- yum update -y && yum install passwd sudo -y
- meuUsuário=jim
- adduser -G wheel $myUsername
- echo -e “[usuário]ndefault=$myUsername” >> /etc/wsl.conf
- passwd $ myUsername
- Do PowerShell
- wsl –terminar CentOS