Como começar a GUI Debian no Windows Top 10 com WSL

Como começar a GUI Debian no Windows Top 10 com WSL
Microsoft Windows é um sistema operacional popular. Com o Windows 10 vem um novo recurso chamado WSL (Subsistema Windows para Linux). É um recurso opcional que permite aos desenvolvedores e usuários avançados executar um ambiente GNU/Linux diretamente no Windows, sem a necessidade de virtualização tradicional ou uma configuração de inicialização dupla.

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.

  • raiz
  • GDM

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!