Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

introducción

Este artículo está destinado a los administradores de sistemas que preparan lugares de trabajo típicos en equipos que ejecutan Windows 10, incluidos los desarrolladores de software.

Cabe señalar que existe un cierto problema asociado a la imposibilidad de integrar el software obtenido de la tienda en línea de Microsoft Store para su uso en una imagen personalizada de Windows 10. Sin entrar en detalles, aclararé que este problema está relacionado con el hecho de que los programas instalados desde Microsoft Store se comunican con la cuenta de servicio del administrador, y cuando la utilidad completa la creación de la imagen personalizada sysprep se producen errores debido a esta circunstancia.

El método discutido en este artículo evita este problema al preparar una imagen del sistema operativo Windows 10 con un subsistema WSL2 preconfigurado, así como una imagen del sistema operativo Ubuntu 20.04 preconfigurada y preparada con una GUI de KDE Plasma, que a su vez puede tener su propia conjunto de software personalizado.

Hay muchos ejemplos y tutoriales en Internet para configurar subsistemas WSL (es decir, WSL1 y el relativamente nuevo WSL2), con la configuración de una interfaz GUI para sistemas operativos basados ​​en Linux desde Ubuntu 16.04 a Ubuntu 20.04, pero esto se refiere principalmente a escritorios basados ​​en en el llamado. xfce4 "ligero", que tiene limitaciones comprensibles en la configuración del usuario. Pero en lo que respecta a la GUI de KDE Plasma para Ubuntu 20.04, no se encuentra mucha información en la red. Pero es esta opción la que brinda al usuario final un conjunto casi ilimitado de configuraciones tanto para la apariencia del sistema como para la configuración del hardware, por supuesto, teniendo en cuenta las capacidades de integración actuales de los sistemas Linux implementados en el subsistema WSL2.

Instalación del conjunto de software necesario y configuración de WSL2

Verificamos la versión actual de Windows, para esto, en la barra de búsqueda de Windows, ingrese el comando winver y obtenemos algo como esto:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Es importante que la versión del sistema operativo sea 1903 o 1909 (las versiones de sistema operativo especificadas deben tener instalada la actualización acumulativa KB4566116), o 2004 (número de compilación no inferior a 19041), el resto de la información no importa. Si el número de versión es menor, se recomienda que actualice a la última versión de Windows para reproducir correctamente los resultados de este artículo.

Para la conveniencia de otras acciones, instale la Terminal de Windows gratuita usando Microsoft Store (también existe la posibilidad de descargar desde otras fuentes):

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Instalamos X Server X410 a través de la misma Microsoft Store, este software es de pago, pero hay un periodo gratuito de 15 días, que es suficiente para varias pruebas.

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Como alternativa gratuita a X410 descargar e instale el servidor VcXsrv X.

En cualquier lugar conveniente del disco, creamos un directorio en el que almacenaremos nuestros archivos. Como ejemplo, vamos a crear un directorio C:wsl.

Descargar e instale el instalador independiente de Ubuntu 20.04, descomprima el archivo resultante usando un archivador (por ejemplo, 7-zip). Cambie el nombre del directorio desempaquetado con un nombre largo Ubuntu_2004.2020.424.0_x64 en algo más aceptable, como Ubuntu-20.04 y copiarlo en el directorio C:wsl (en adelante simplemente wsl).

Descargar y descomprimir en un directorio wsl servidor de sonido multiplataforma PulseAudio v.1.1., también realizamos correcciones a sus archivos de configuración.

En archivo wslpulseaudio-1.1etcpulsedefault.pa sección Load audio drivers statically editar la línea:

load-module module-waveout sink_name=output source_name=input record=0


y en la seccion Network access editar la línea:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1


En archivo wslpulseaudio-1.1etcpulsedaemon.conf descomentar y cambiar la linea

exit-idle-time = -1


Configuramos el subsistema WSL2 de acuerdo con documentación Microsoft. El único comentario es que ya hemos descargado la distribución de Ubuntu y la instalaremos en el siguiente paso. Básicamente, la configuración se reduce a habilitar los componentes adicionales "Subsistema de Windows para Linux" y "Plataforma de máquina virtual", y luego reiniciar para aplicar cambios a la configuración de la computadora:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

Si es necesario, descargar e instale el paquete de servicio del kernel de Linux en WSL2.
Lanzamos Windows Terminal y seleccionamos el modo Símbolo del sistema presionando las teclas Ctrl+Shift+2.

En primer lugar, configuramos el modo de funcionamiento de WSL2, para ello ingresamos el comando:

wsl  --set-default-version 2


Cambie al directorio del cargador de arranque independiente de Ubuntu 20.04, en mi caso, este es wslUbuntu-20.04 y ejecuta el archivo ubuntu2004.exe. Cuando se le solicite un nombre de usuario, ingrese el nombre de usuario engineer (puede ingresar cualquier otro nombre), ingrese su contraseña y confirme la contraseña ingresada para la cuenta especificada:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Aparece un indicador de terminal, el kernel de Ubuntu 20.04 está instalado. Verifiquemos la corrección de la configuración del modo WSL2, para esto, en la Terminal de Windows, seleccione la pestaña Windows PowerShell e ingrese el comando:

wsl -l -v


el resultado de la ejecución debería ser así:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

Configuramos el firewall de Microsoft Defender, es decir. desactívelo para la red pública:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

Configurando Ubuntu 20.04

En la Terminal de Windows, seleccione la pestaña Símbolo del sistema nuevamente e instale las actualizaciones para Ubuntu 20.04. Para hacer esto, en la línea de comando, ingrese:

sudo apt update && sudo apt upgrade –y


Instale el escritorio KDE Plasma:

sudo apt install kubuntu-desktop -y


la instalación demora hasta 30 minutos, dependiendo del rendimiento de la computadora y el ancho de banda del canal de acceso a Internet, cuando lo solicite el instalador, confirmamos OK.
Instale la localización y los diccionarios rusos Ubuntu 20.04. Para hacer esto, en la línea de comando, ingrese:

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


Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Agregue la última versión del escritorio KDE Plasma:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y


Agregamos nuestro propio conjunto de aplicaciones de consola, por ejemplo mc и neofetch:

sudo apt install mc neofetch -y


Verificamos lo sucedido, ingresamos a la línea de comando neofetch, ver captura de pantalla:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Edición del archivo de configuración de WSL /etc/wsl.conf:

sudo nano /etc/wsl.conf


copie el texto en la ventana vacía del editor de texto que se abre:

[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true


guardar cambios (Ctrl+O), confirme la operación y salga del editor de texto (Ctrl+X).

Exportando la imagen Ubuntu-20.04 personalizada al directorio que creamos wsl. Para hacer esto, en la Terminal de Windows, seleccione nuevamente la pestaña Windows PowerShell e ingrese el comando:

wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop


la imagen creada nos ayudará a automatizar las operaciones de lanzamiento/reinstalación del Ubuntu 20.04 configurado, si es necesario, nos permitirá transferirlo fácilmente a otra computadora.

Preparación de archivos bat y accesos directos al escritorio de Windows

Usando el editor Notepad ++, cree archivos bat (requeridos en la codificación OEM-866 para la salida correcta de caracteres cirílicos):
Expediente Install-Ubuntu-20.04-plasma-desktop.bat - diseñado para automatizar la instalación inicial de la imagen creada de Ubuntu 20.04 en una computadora con un subsistema WSL2 ya configurado y un servidor X. Si el nombre de usuario y la contraseña difieren de los especificados en el ejemplo, debe realizar los cambios apropiados en este archivo bat:

@echo off
wsl --set-default-version 2
cls
echo Ожидайте окончания установки дистрибутива Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно установлен!
echo Не забудьте сменить учетную запись по умолчанию «root» на существующую учетную запись пользователя,
echo либо используйте предустановленную учетную запись «engineer», пароль: «password».
pause


Expediente Reinstall-Ubuntu-20.04-plasma-desktop.bat - diseñado para reinstalar la imagen preparada de Ubuntu 20.04 en la computadora.

@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:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно переустановлен!
pause


Expediente Set-default-user.bat - para establecer el usuario predeterminado.

@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause


Expediente Start-Ubuntu-20.04-plasma-desktop.bat - el lanzamiento real del escritorio 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:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.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


Expediente Start-Ubuntu-20.04-terminal.bat - iniciar una terminal gráfica sin el escritorio 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:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.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


También para facilitar su uso en el catálogo. wsl preparamos accesos directos que apuntan a los bat-files correspondientes. Entonces el contenido del directorio wsl выглядит следующим образом:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

Lanzamiento del escritorio KDE Plasma

Comprobamos que se han completado todos los pasos preparatorios, intentamos lanzar el acceso directo Plasma-desktop. Aparece una solicitud de contraseña, ingrese la contraseña de la cuenta y ... la ventana se cierra. Está bien la primera vez. Lo intentamos de nuevo, y vemos la barra de tareas familiar de KDE Plasma. Personalizamos la apariencia de la barra de tareas, en el ejemplo, para facilitar su uso, el panel se mueve al lado derecho de la pantalla y se centra. Verificamos la configuración de localización, si es necesario, agregamos el idioma ruso:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

Si es necesario, traemos atajos para las aplicaciones de Linux instaladas en la barra de tareas de KDE Plasma.

Si Ubuntu 20.04 requiere que cierre sesión en su cuenta de usuario para aplicar cambios a la configuración, o si necesita reiniciar el sistema operativo, para hacerlo, en la Terminal de Windows, ingrese el comando:

wsl -d Ubuntu20.04 --shutdown


con una etiqueta Plasma-desktop o Konsole puede ejecutar la GUI de KDE Plasma Ubuntu 20.04. Por ejemplo, instale con Konsole Editor de gráficos GIMP:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Una vez finalizada la instalación, ejecute desde Konsole Editor de gráficos GIMP:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
GIMP funciona, que es lo que quería comprobar.
Y así es como funcionan varias aplicaciones de Linux en KDE Plasma en WSL2:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
la barra de tareas personalizada de KDE Plasma está en el lado derecho de la pantalla. y el video en la ventana de Firefox se reproduce con sonido.

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

Si es necesario, puede configurar el acceso a Ubuntu20.04 por SSH и RDP, para esto necesitas instalar los servicios apropiados con el comando:

sudo apt install ssh xrdp -y


nota: para habilitar el acceso con contraseña por SSH necesitas editar el archivo /etc/ssh/sshd_config, a saber, el parámetro PasswordAuthentication no debe establecerse en PasswordAuthentication yes, guarde los cambios y reinicie Ubuntu20.04.

Cada vez que inicia Ubuntu20.04, la dirección IP interna cambia, antes de configurar el acceso remoto, debe verificar la dirección IP actual usando el comando ip a:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
En consecuencia, esta dirección IP debe ingresarse en la configuración de la sesión SSH и RDP antes de empezar.
Así es como se ve el acceso remoto SSH utilizando MobaXterm:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Y así es como se ve el acceso remoto RDP:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial

Usando el servidor x vcxsrv en lugar de x410

Puesta en marcha y puesta en marcha vcxsrv, establezca cuidadosamente las casillas de verificación correspondientes:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
Guardar la configuración configurada en el directorio wslvcxsrv con nombre estándar config.xlaunch.

Edición de archivos bat Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat según sus instrucciones.

Lanzamiento del atajo Plasma-desktop, y esto es lo que obtenemos:

Windows 10 +Linux. Configuración de la GUI de KDE Plasma para Ubuntu 20.04 en WSL2. Tutorial
El escritorio KDE Plasma cierra por completo el escritorio de Windows, para cambiar entre ventanas de linux y aplicaciones de windows usamos la conocida combinación de teclas Alt+Tab, lo cual no es muy conveniente.
Además, se reveló una característica desagradable del servidor X vcxsrv - se bloquea al iniciar algunas aplicaciones, en particular el mismo GIMP o LibreOffice Writer. Tal vez deberíamos esperar hasta que los desarrolladores eliminen los "errores" notados, pero esto no es seguro ... Entonces, para obtener resultados aceptables, es mejor usar el X Server Microsoft x410.

Conclusión

Aún así, debemos rendir homenaje a Microsoft, el producto WSL2 resultó ser bastante funcional y, en mi opinión inexperta, muy exitoso. Y, que yo sepa, los desarrolladores continúan "terminando" intensamente, y tal vez, en un año o dos, este subsistema aparecerá en toda su integridad funcional.

Fuente: habr.com

Añadir un comentario