Neste guia, confira como iniciar a GUI Debian no Windows 10 com WSL.
Debian no WSL
A ferramenta WSL foi originalmente desenvolvida pela Microsoft em colaboração com a Canonical, o criador do Ubuntu. É basicamente uma camada de compatibilidade do kernel baseada no Ubuntu.
Em 2020, a Microsoft lançou o WSL 2. Traz várias melhorias cruciais sobre o WSL 1. Oferece melhor compatibilidade do sistema, melhor gerenciamento de VM, suporte completo do kernel Linux e muito mais. Confira a diferença entre WSL 1 e WSL 2. Observe que o WSL 2 está disponível apenas para o Windows 10 versão 2004 Build 19041 ou superior. Execute o seguinte comando para verificar a versão do Windows 10 que você está executando.
$ winver
Como a WSL foi originalmente baseada no Ubuntu, ele suporta Debian por padrão. Debian para WSL está disponível na Microsoft Store. No entanto, demonstraremos como instalar o Debian, mesmo sem uma conta da Microsoft.
No caso do Windows, todos os comandos serão executados no Windows PowerShell com privilégio administrativo. É o equivalente ao Linux de executar um sudo concha. Para iniciar o PowerShell com o privilégio administrativo, pressione “Win + X” e selecione “Windows PowerShell (Admin)”.
Ativando WSL
Recursos opcionais como o WSL não são ativados por padrão. Felizmente, ativar a WSL é muito simples. Execute o seguinte comando em PowerShell.
$ dever.EXE /Online /Enable-Feature /FeatureName: Microsoft-Windows-Subsystem-Linux /All /Norestart
WSL 2 também requer o Plataforma de máquina virtual recurso.
$ dever.EXE /Online /Enable-Feature /FeatureName: VirtualMachinePlataform /All /Norestart
Essas mudanças requerem um reinício do sistema para ser totalmente funcional.
Após a reinicialização, inicie o PowerShell com privilégio de administrador. Aplicar o WSL 2 como a versão padrão.
$ wsl--def-default-version 2
Observe que, se você estiver executando a versão do Windows 10 de 64 bits, pode ser necessário fazer o download e instalar o pacote de atualização do kernel Linux para WSL 2.
Baixando e instalando o Debian
Primeiro, confira todas as distritos disponíveis suportadas pela WSL.
$ WSL -List --online
Diga à WSL para instalar o Debian. Debian está disponível como um pacote instalável da Microsoft Store.
$ wsl - -instala -d Debian
Pode levar alguns minutos para o processo terminar.
Configurando Debian
Debian está agora instalado. Se você instalou usando WSL, um novo shell aparecerá automaticamente. Durante a primeira partida, o Debian Shell pedirá para criar um novo usuário.
Se você quiser acessar o Debian mais tarde, use o seguinte comando wsl. A partir deste ponto, usarei o terminal do Windows para facilitar o uso.
$ wsl -d debian
Atualize o cache apt e atualize todos os pacotes.
$ sudo apt update && sudo apt upgrade -y
Em seguida, precisamos verificar se estamos executando a última versão do Debian. No momento da redação deste guia, o último lançamento estável é Debian 11, codinomeado alvo.
$ CAT /etc /OS
No meu caso, é o Debian 9 (Stretch), onde deve ser o Debian 11 (Bullseye). Requer uma atualização de distro para chegar ao último lançamento do Debian.
Primeiro, faça uma cópia de backup do fontes.lista arquivo.
$ sudo cp/etc/apt/fontes.Lista/etc/apt/fontes.lista.Bak
De fontes.lista Arquivo, substitua todas as instâncias de Stretch (Debian 9) por Bullseye (Debian 11). Isso efetivamente dirá a Apt para trabalhar com pacotes para o Debian 11. Abra fontes.lista em um editor de texto e substitua todas as instâncias de alongamento para alvo.
$ sudo nano/etc/apt/fontes.lista
Aqui está uma lista de amostras de repositórios para o Debian 11 Bullseye.
$ deb http: // Deb.Debian.Org/Debian Bullseye Principal Contrible não livre
$ deb http: // Deb.Debian.Org/Debian Bullseye update
$ deb http: // segurança.Debian.Org/Debian-Segurança Bullseye-Segurança Contribuinte
Interessado em sed? Confira este mega guia em 50 exemplos de sed.
Agora, execute os comandos de atualização APT novamente.
$ sudo apt clean && sudo apt update
$ sudo apt completo upgrade
Será permissão para reiniciar vários serviços durante o processo. Selecione "Sim".
Agora podemos nos livrar com segurança dos pacotes obsoletos no sistema.
$ sudo apt autoremove
Reinicie a sessão do Debian para levar as mudanças em vigor. Verifique a mudança.
$ CAT /etc /OS
Configurando a GUI
O sistema Debian está totalmente funcional neste momento. No entanto, a única maneira de interagir com o sistema é através da interface da linha de comando. Não há GUI por padrão para usar.
Podemos contornar isso implementando VNC. O processo de configuração é um tanto complicado, mas muito factível.
Pré -requisitos
Existem alguns pré -requisitos neste método. Primeiro, verifique se o distro WSL está configurado para executar com o WSL 2.
$ wsl-set-version debian 2
Instalação de componentes
Agora, acesse o Debian Shell. Precisamos de alguns componentes adicionais como ondulação e wget.
$ sudo apt update && sudo apt install -y surl wget
Estaremos instalando o TaskSel, uma ferramenta super útil para gerenciar vários componentes de desktop e serviço. Execute o seguinte comando apt.
$ sudo apt install taskSel
Correr TaskSel com sudo privilégio.
$ sudo -tarefa
Ele mostrará uma lista de grupos de pacotes e pacotes. Pressione a barra de espaço para selecionar/desmarcar um grupo. Depois de selecionar os desejados, selecione "OK".
A ferramenta vai baixar e instalar todos os componentes necessários. Vai levar algum tempo.
Instalando o servidor VNC
O próximo passo é instalar o servidor VNC. Para esse fim, estaremos instalando o TigervNC.
$ sudo apt-get install tigervnc-padrão-server
Instalação .Tempo de execução líquido
O .A NET é uma estrutura de uso geral para criar aplicativos para Windows, Linux e MacOS pela Microsoft. Precisamos disso para a próxima parte da configuração.
Execute os seguintes comandos para instalar .Tempo de execução líquido. Para obter instruções de instalação mais aprofundadas, consulte o oficial .Guia de instalação da rede da Microsoft.
$ wget https: // pacotes.Microsoft.com/config/Debian/10/Packages-Microsoft-Prod.Deb -o Packages-Microsoft-Prod.Deb
$ sudo apt install ./Packages-Microsoft-Prod.Deb
$ RM Packages-Microsoft-Prod.Deb
$ sudo apt update && sudo apt install apt-transport-https
$ sudo apt update && sudo apt install dotnet-runtime-5.0
Instalação Systemd-Genie
WSL, por si só, é apenas uma implementação da estrutura do BareBones Linux. Usando o Systemd-Genie é a maneira de dar a Debian uma estrutura Linux funcional e completa. Confira mais sobre o Systemd-Genie.
Já instalamos sua dependência (.Tempo de execução líquido). Tudo o que resta é configurar o repo Systemd-Genie e instalar o pacote. Confira documentação detalhada sobre a instalação do Systemd-Genie no Debian.
Primeiro, configure o repo APT para Systemd-Genie.
$ wget -o/etc/apt/confiável.gpg.d/wsl-transdebian.gpg https: // arkane-systems.Github.io/wsl-transdebian/apt/wsl-transdebian.gpg
$ chmod a+r/etc/apt/confiável.gpg.d/wsl-transdebian.gpg
$ cat << EOF > /etc/apt/fontes.lista.d/wsl-transdebian.lista
$ deb https: // arkane-systems.Github.io/wsl -transdebian/apt/$ (lsb_release -cs) principal
$ deb-src https: // arkane-systems.Github.io/wsl -transdebian/apt/$ (lsb_release -cs) principal
$ Eof
$ APT ATUALIZAÇÃO
Finalmente, instale o Systemd-Genie.
$ sudo apt install systemd-genie
Todas as ferramentas necessárias são instaladas. Hora de configurá -los para obter o comportamento esperado.
Configurando a senha do servidor VNC
Na configuração do VNC, cada usuário terá senhas exclusivas. Para funcionalidade completa, precisamos de pelo menos três senhas, uma para cada um dos seguintes usuários.
Primeiro, configure a senha do VNC para o usuário atual.
$ vncpasswd
Em seguida, configure a senha do VNC para raiz.
$ sudo -h vncpasswd
Finalmente, configure a senha do VNC para GDM. Observe que você pode pular esta etapa se não optar por instalar o ambiente da área de trabalho do Gnome.
$ sudo -h -u Debian -Gdm VncPasswd
Substituindo o padrão X por XVNC
A função padrão do gerenciador de exibição é ligar para X Instâncias para cada sessão do usuário (incluindo a tela de login). No entanto, porque vamos usar o servidor VNC, ele não vai cortar. Para trabalhar com o VNC, o XVNC é o candidato adequado.
Em seguida, nosso objetivo é trocar x para xvnc. Requer ajuste o script Xorg que chama o XVNC em vez do serviço de exibição X/Xorg.
Antes de prosseguir, é sempre recomendável fazer um backup do script Xorg existente.
$ sudo mv/usr/bin/xorg/usr/bin/xorg.velho
Agora, crie um novo script Xorg.
$ sudo nano/usr/bin/xorg.novo
Digite o seguinte código.
#!/BIN/BASH
para arg do
mudança
caso $ arg em
vt*)
set - "$@" "$ arg // vt/tty"
;;
-Keeptty)
;;
-NOVTSWITCH)
;;
*)
set - "$@" "$ arg"
;;
ESAC
feito
# Exibir geometria
Command = ("/usr/bin/xvnc" "-geometry" "1366x768" -PasswordFile "" $ home:-/root/.vnc/passwd "" $@")
Systemd -Cat -t/usr/bin/xorg echo "Lançar xvnc:" "$ comando [@]"
EXEC "$ comando [@]"
Salve o arquivo e feche o editor. O arquivo deve ter permissões de arquivo corretas para funcionar corretamente.
$ sudo chmod 0755/usr/bin/xorg.novo
Crie um link para o arquivo para emular o script Xorg original.
$ sudo ln -sf/usr/bin/xorg.novo/usr/bin/xorg
Configurando variáveis de ambiente
Precisamos ajustar algumas variáveis de ambiente para que Xorg lê do usuário executando o gênio comando. Para fazer isso, precisamos ajustar o Bashrc arquivo da raiz e do usuário atual. Observe que o BASHRC é diferente de Bash_profile.
Abra o Bashrc do usuário atual.
$ nano ~//.Bashrc
Adicione os seguintes códigos no final do arquivo.
exportar xdg_runtime_dir =/run/user/$ uid
exportar exibição = $ (gato /etc /resolv.conf | Grep NameServer | awk 'print $ 2; saída; '): 0.0
sudo /etc /init.d/dbus start &>/dev/null
Fazer o mesmo com o Bashrc arquivo do usuário root.
$ su -
$ nano ~//.Bashrc
exportar xdg_runtime_dir =/run/user/$ uid
exportar exibição = $ (gato /etc /resolv.conf | Grep NameServer | awk 'print $ 2; saída; '): 0.0
sudo /etc /init.d/dbus start &>/dev/null
Finalmente, recarregue o Bashrc para o usuário atual.
$ fonte ~//.Bashrc
Lançamento Systemd-Genie
Agora, o Systemd está configurado para deixar GDM Inicie automaticamente e crie uma instância de X Display na instância de login. Por causa da configuração, ele criará instâncias XVNC em vez disso. Ele começará a ouvir de 5900.
O próximo comando mostrará a mensagem "Conectando -se ao Systemd", seguida de alguns erros. Os erros são esperados. Você deve pousar na tela de login.
$ genie -l
Pronto! Agora você fez login com sucesso no Debian, habilitado para GUI, com WSL 2! Tudo o que resta está se conectando ao servidor WSL através do VNC. O comando a seguir reportará o endereço IP do servidor.
$ hostname -i
Para conectar -se ao sistema, use um cliente VNC (na porta 5900). Para fazer login, use o GDM Senha VNC. Isso deve pousar você na tela de login.
Pensamentos finais
Para usuários do Windows, o WSL é uma excelente maneira de se acostumar com o mundo do Linux sem ter que aprender tudo do zero. Este guia demonstra o método recomendado de instalação e configuração do Debian 11 com a GUI na WSL com a ajuda de um servidor VNC (TIGERVNC).
Com uma configuração VNC adequada, você pode obter muito mais. Confira este guia detalhado sobre a instalação e a configuração de um servidor VNC no Debian.
Computação feliz!