Introdução
Este artigo destina-se aos administradores de sistema que preparam locais de trabalho típicos em computadores que executam o Windows 10, incluindo desenvolvedores de software.
Deve-se observar que existe um certo problema relacionado à impossibilidade de integração de software obtido da Microsoft Store on-line para uso em uma imagem personalizada do Windows 10. Sem entrar em detalhes, esclarecerei que esse problema se deve ao fato de os programas instalados da Microsoft Store estarem vinculados com a conta de serviço do Administrador e, quando o utilitário concluir a criação de uma imagem personalizada
sysprep, ocorrerão erros causados por essa circunstância.
O método discutido neste artigo para evitar esse problema ao preparar uma imagem do Windows 10 com um subsistema WSL2 pré-configurado, bem como com uma imagem pré-preparada e configurada do Ubuntu 20.04 com a KDE Plasma GUI, que por sua vez pode ter seu próprio conjunto de software personalizado.
Há um grande número de exemplos e guias na Internet para configurar subsistemas WSL (ou seja, WSL1 e o relativamente novo WSL2), com a configuração da interface GUI para sistemas Linux baseados em SO começando no Ubuntu 16.04 e terminando no Ubuntu 20.04, mas principalmente relacionado desktops com base nos chamados. "Leve" xfce4, que tem limitações compreensíveis nas configurações do usuário. Mas, no que diz respeito à GUI do KDE Plasma para Ubuntu 20.04, não havia informações substanciais na rede. Mas é esta opção que fornece ao usuário final um conjunto quase ilimitado de configurações para a aparência do sistema e as configurações de hardware, é claro, levando em consideração os recursos de integração atuais dos sistemas Linux implementados no subsistema WSL2.
Instalando o pacote de software necessário e configurando WSL2
Verificamos a versão atual do Windows, para isso, digite o comando na barra de pesquisa do Windows
winvere obtenha algo como o seguinte:

É importante que o sistema operacional tenha a versão 1903 ou 1909 (as versões do sistema operacional especificadas devem ter a atualização cumulativa KB4566116 instalada) ou 2004 (número de compilação não inferior a 19041), o restante das informações não importa. Se o número da versão for inferior, é recomendável que você atualize para a versão mais recente do Windows para repetir corretamente os resultados apresentados neste artigo.
Para maior comodidade de outras ações, instale o Terminal Windows gratuito usando a Microsoft Store (também existe a possibilidade de baixar de outras fontes):

Instalamos o X Server X410 através da mesma Microsoft Store, este software é pago, mas existe um período gratuito de 15 dias, o que é suficiente para vários testes.

Como alternativa gratuita ao X410, baixe e instale o servidor VcXsrv X.
Em qualquer lugar conveniente do disco, crie um diretório no qual armazenaremos nossos arquivos. Vamos criar um diretório como exemplo
C:\wsl.
Baixe e instale o instalador offline do Ubuntu 20.04, descompacte o arquivo resultante usando um arquivador (por exemplo, 7-zip). Renomeamos o diretório descompactado com um nome longo
Ubuntu_2004.2020.424.0_x64para algo mais aceitável, por exemplo, Ubuntu-20.04e o copiamos para o diretório C:\wsl(doravante simplesmente \wsl).
Baixe e descompacte o
\wslservidor de som de plataforma cruzada PulseAudio v.1.1 no diretório e também faça correções em seus arquivos de configuração.
No arquivo
\wsl\pulseaudio-1.1\etc\pulse\default.paemLoad audio drivers statically edite a linha:
load-module module-waveout sink_name=output source_name=input record=0
e na seção,
Network accessedite a linha:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
No arquivo,
\wsl\pulseaudio-1.1\etc\pulse\daemon.confdescomente e altere a linha
exit-idle-time = -1
Configuramos o subsistema WSL2 de acordo com a documentação da Microsoft. A única observação é que já baixamos a distribuição do Ubuntu e vamos instalá-la na próxima etapa. Basicamente, a configuração se resume em ativar os componentes adicionais "Windows Subsystem for Linux" e "Virtual Machine Platform" e, em seguida, reiniciar para aplicar as alterações nas configurações do computador:

Se necessário, baixe e instale o pacote de atualização para o kernel Linux em WSL2.
Inicie o Terminal do Windows e selecione o modo Prompt de Comando pressionando as teclas
Ctrl+Shift+2.
Em primeiro lugar, definimos o modo de operação WSL2, para isso inserimos o comando:
wsl --set-default-version 2
Vá para o diretório com o bootloader offline do Ubuntu 20.04, no meu caso, este é
\wsl\Ubuntu-20.04e execute o arquivo ubuntu2004.exe. Quando solicitado a fornecer um nome de usuário, eu especifico um nome engineer(você pode inserir qualquer outro nome), insira sua senha e confirmo a senha inserida para a conta especificada:

Um prompt de terminal aparece, o kernel Ubuntu 20.04 está instalado. Vamos verificar a exatidão da configuração do modo WSL2, para isso, no Terminal do Windows, selecione a guia Windows PowerShell e digite o comando:
wsl -l -v
o resultado da execução deve ser assim:

Configuramos o firewall do Microsoft Defender, ou seja, desative-o para a rede pública:


Configurando o Ubuntu 20.04
No Terminal do Windows, selecione a guia Prompt de Comando novamente e instale as atualizações para o Ubuntu 20.04. Para fazer isso, na linha de comando, digite:
sudo apt update && sudo apt upgrade –y
Instalando o desktop KDE Plasma:
sudo apt install kubuntu-desktop -y
a instalação demora até 30 minutos, dependendo do desempenho do computador e da largura de banda do canal de acesso à Internet, quando surge o pedido do instalador, confirmamos
OK.
Instalando a localização russa e os dicionários Ubuntu 20.04. Para fazer isso, na linha de comando, digite:
sudo apt install language-pack-ru language-pack-kde-ru -y
sudo apt install libreoffice-l10n-ru libreoffice-help-ru -y
sudo apt install hunspell-ru mueller7-dict -y
sudo update-locale LANG=ru_RU.UTF-8
sudo dpkg-reconfigure locales # : ru_RU.UTF-8 UTF-8, . .
sudo apt-get install --reinstall locales


Adicione a versão mais recente da área de trabalho do KDE Plasma:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Adicionar um conjunto de aplicativos de console, por exemplo
mc, e neofetch:
sudo apt install mc neofetch -y
Verificamos o que aconteceu, inserimos na linha de comando
neofetch, veja a imagem:

Editando o arquivo de configuração WSL
/etc/wsl.conf:
sudo nano /etc/wsl.conf
copie o texto para a janela do editor de texto vazia aberta:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
salve as alterações (
Ctrl+O), confirme a operação e saia do editor de texto ( Ctrl+X).
Exportamos a imagem personalizada do Ubuntu-20.04 para o diretório que criamos
\wsl. Para fazer isso, no Terminal do Windows, selecione a guia Windows PowerShell novamente e digite o comando:
wsl --export Ubuntu-20.04 c:\wsl\Ubuntu-plasma-desktop
a imagem criada nos ajudará a automatizar as operações de início / reinstalação do Ubuntu 20.04 configurado, se necessário, nos permitirá transferi-lo facilmente para outro computador.
Preparando arquivos bat e atalhos para a área de trabalho do Windows
Usando o editor Notepad ++, crie arquivos bat (obrigatório na codificação OEM-866 para a exibição correta de caracteres cirílicos):
Arquivo
Install-Ubuntu-20.04-plasma-desktop.bat- projetado para automatizar a instalação inicial da imagem Ubuntu 20.04 criada em um computador com um subsistema WSL2 e um servidor X já configurado. Se o nome de usuário e a senha forem diferentes daqueles indicados no exemplo, você precisará fazer as alterações apropriadas neste arquivo bat:
@echo off
wsl --set-default-version 2
cls
echo Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:\wsl c:\wsl\Ubuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Ubuntu-20.04 !
echo «root» ,
echo «engineer», : «password».
pause
Arquivo
Reinstall-Ubuntu-20.04-plasma-desktop.bat- projetado para reinstalar a imagem preparada do Ubuntu 20.04 no computador.
@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:\wsl c:\wsl\Ubuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Ubuntu-20.04 !
pause
Arquivo
Set-default-user.bat- para definir o usuário "padrão".
@echo off
set /p answer= Ubuntu (engineer):
c:\wsl\Ubuntu-20.04\ubuntu2004.exe config --default-user %answer%
cls
echo %answer% Ubuntu-20.04 !
pause
O arquivo
Start-Ubuntu-20.04-plasma-desktop.baté o lançamento real da área de trabalho do KDE Plasma.
@echo off
echo ===================================== ! ============================================
echo GUI Ubuntu 20.04 WSL2 X Server.
echo : VcXsrv Windows X Server
echo Start-Ubuntu-20.04-plasma-desktop.bat, "config.xlaunch"
echo "vcxsrv.exe", , "x410".
echo ============================================================================================
rem start "" /B "c:\wsl\vcxsrv\config.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:\wsl\pulseaudio-1.1\bin\pulseaudio.exe" --use-pid-file=false -D > nul
c:\wsl\Ubuntu-20.04\Ubuntu2004.exe run "if [ -z \"$(pidof plasmashell)\" ]; then cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export LIBGL_ALWAYS_INDIRECT=1 ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; plasmashell ; pkill '(gpg|ssh)-agent' ; fi;"
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /T /IM x410.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul
Arquivo
Start-Ubuntu-20.04-terminal.bat- inicia um terminal gráfico sem a área de trabalho do KDE Plasma.
@echo off
echo ===================================== ! ============================================
echo GUI Ubuntu 20.04 WSL2 X Server.
echo : VcXsrv Windows X Server
echo Start-Ubuntu-20.04-plasma-desktop.bat, "config.xlaunch"
echo "vcxsrv.exe", , "x410".
echo ============================================================================================
rem start "" /B "c:\wsl\vcxsrv\config.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:\wsl\pulseaudio-1.1\bin\pulseaudio.exe" --use-pid-file=false -D > nul
c:\wsl\Ubuntu-20.04\Ubuntu2004.exe run "cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; export LIBGL_ALWAYS_INDIRECT=1 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; konsole ; pkill '(gpg|ssh)-agent' ;"
taskkill.exe /F /T /IM x410.exe > nul
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul
Além disso, para facilitar o uso,
\wslpreparamos atalhos no diretório apontando para os arquivos bat correspondentes. Depois disso, o conteúdo do diretório \wslfica assim:

Iniciando o KDE Plasma Desktop
Verificamos se todas as ações preparatórias foram concluídas, tentamos lançar o atalho
Plasma-desktop. Uma solicitação de senha aparece, insira a senha da conta e ... a janela fecha. Está tudo bem na primeira vez. Tentando novamente, vemos a familiar barra de tarefas do KDE Plasma. Configuramos a aparência necessária da barra de tarefas, por exemplo, para facilidade de uso, o painel é movido para o lado direito da tela e centralizado. Verificamos as configurações de localização, se necessário, adicionamos o idioma russo:

Se necessário, coloque atalhos para aplicativos Linux instalados na barra de tarefas do KDE Plasma.
Se o Ubuntu 20.04 exigir que você saia da conta do usuário para aplicar as alterações nas configurações, ou se você precisar reiniciar o sistema operacional, para fazer isso, digite o comando no Terminal do Windows:
wsl -d Ubuntu20.04 --shutdown
Usando o atalho
Plasma-desktopou, Konsolevocê pode iniciar a GUI do KDE Plasma Ubuntu 20.04. Por exemplo, vamos instalar usando o Konsoleeditor gráfico GIMP:

Após a conclusão da instalação, execute o
Konsoleeditor gráfico GIMP a partir do editor gráfico:

O GIMP funciona, que é o que você queria verificar.
E aqui está como os vários aplicativos Linux funcionam no KDE Plasma em WSL2:

a barra de tarefas personalizada do KDE Plasma está no lado direito da tela. e o vídeo na janela do Firefox toca com som.


Se necessário, você pode configurar o acesso ao Ubuntu20.04 por
SSHe RDP, para isso você precisa instalar os serviços apropriados com o comando:
sudo apt install ssh xrdp -y
nota: para habilitar o acesso por senha por software,
SSHé necessário editar o arquivo /etc/ssh/sshd_config, ou seja, o parâmetro PasswordAuthentication nodeve ser definido como valor PasswordAuthentication yes, salve as alterações e reinicie o Ubuntu20.04.
Cada vez que você inicia o Ubuntu20.04, o endereço IP interno muda, antes de configurar o acesso remoto, você precisa especificar o endereço IP atual usando o comando
ip a:

Conseqüentemente, o endereço IP é necessário na configuração da sessão
SSHe RDPantes de iniciar.
É assim que o acesso remoto ao
SSHsoftware se parece com o MobaXterm:

E é assim que o acesso remoto se parece
RDP:

Usando o servidor vcxsrv X em vez de x410
Inicie e configure
vcxsrv, marque cuidadosamente as caixas apropriadas:




Salvamos a configuração configurada em um diretório
\wsl\vcxsrvcom um nome padrão config.xlaunch.
Editamos os arquivos bat
Start-Ubuntu-20.04-plasma-desktop.bate Start-Ubuntu-20.04-terminal.batde acordo com as instruções disponíveis nos mesmos.
Lançamos o atalho
Plasma-desktope é isso que obtemos:

A área de trabalho do KDE Plasma fecha completamente a área de trabalho do Windows, usamos uma combinação de teclas bem conhecida para alternar entre o Windows do Linux e os aplicativos do Windows
Alt+Tab, o que não é muito conveniente.
Além disso, um recurso desagradável do servidor X foi revelado
vcxsrv- ele trava ao iniciar alguns aplicativos, em particular o mesmo GIMP ou LibreOffice Writer. Talvez você deva esperar que os desenvolvedores removam os "bugs" observados, mas isso não é certo ... Portanto, para obter resultados aceitáveis, é melhor usar o Microsoft X Server x410.
Conclusão
Ainda assim, devemos prestar homenagem à Microsoft, o produto WSL2 acabou funcionando bastante e, em minha opinião pouco sofisticada, muito bem-sucedido. E, pelo que eu sei, os desenvolvedores continuam trabalhando duro para "finalizá-lo" e, talvez - em um ou dois anos, esse subsistema aparecerá em toda a sua integridade funcional.