Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Introducción

Este artículo está dirigido a administradores de sistemas que preparan estaciones de trabajo típicas en computadoras con el sistema operativo Windows 10, incluyendo a desarrolladores de software.

Cabe destacar que existe un problema relacionado con la imposibilidad de integrar software adquirido en la tienda en línea Microsoft Store para su uso en una imagen de usuario de Windows 10. Sin entrar en detalles, aclaro que este problema se debe a que los programas instalados desde Microsoft Store se vinculan con la cuenta de administrador, y al finalizar la creación de la imagen de usuario con la herramienta sysprep se producen errores causados por esta circunstancia.

El método discutido en este artículo permite evitar tal problema al preparar una imagen del sistema operativo Windows 10 con la subsistema WSL2 configurada previamente, así como con una imagen de Ubuntu 20.04 con GUI KDE Plasma que puede tener su propio conjunto de software personalizado.

En internet hay una gran cantidad de ejemplos y guías sobre la configuración de subsistemas WSL (es decir, WSL1 y el relativamente nuevo WSL2), con la configuración de interfaces GUI para sistemas Linux basados en versiones de Ubuntu desde la 16.04 hasta la 20.04, pero principalmente se ha tratado de escritorios basados en lo que se denomina «liviano» xfce4, que tiene limitaciones comprensibles en configuraciones de usuario. Pero en lo que respecta a GUI KDE Plasma para Ubuntu 20.04, no se encontró información sustancial en la red. Sin embargo, esta opción brinda al usuario final un conjunto prácticamente ilimitado de configuraciones tanto para la apariencia del sistema como para la configuración del hardware, por supuesto teniendo en cuenta las actuales capacidades de integración de sistemas Linux implementadas en el subsistema WSL2.

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

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

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

Para facilitar las acciones posteriores, instalamos el Windows Terminal gratuito utilizando Microsoft Store (también se puede descargar de otras fuentes):

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Instalamos X Server X410 a través del mismo Microsoft Store, este software es de pago, pero tiene un período gratuito de 15 días, lo cual es suficiente para realizar diversas pruebas.

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Como alternativa gratuita a X410 descargamos e instalamos el servidor X VcXsrv.

En cualquier lugar conveniente en el disco, creamos un directorio donde almacenaremos nuestros archivos. Como ejemplo, crearemos el directorio C:wsl.

Descargamos y instalamos el instalador autónomo de Ubuntu 20.04, descomprimimos el archivo obtenido con un descompresor (por ejemplo, 7-zip). Renombramos el directorio descomprimido con un nombre largo Ubuntu_2004.2020.424.0_x64 a algo más razonable, por ejemplo, Ubuntu-20.04 y lo copiamos al directorio C:wsl (en adelante simplemente wsl).

Descargamos y descomprimimos en el directorio wsl servidor de sonido multiplataforma PulseAudio v.1.1., también hacemos modificaciones a sus archivos de configuración.

En el archivo wslpulseaudio-1.1etcpulsedefault.pa en la sección Cargar controladores de audio de forma estática editamos la línea:

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


y en la sección Acceso a la red editamos la línea:

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


En el archivo wslpulseaudio-1.1etcpulsedaemon.conf descomentamos y cambiamos la línea

exit-idle-time = -1


Configuramos la subsistema WSL2 de acuerdo con documentación Microsoft. La única observación es que ya hemos descargado la distribución de Ubuntu, y la instalaremos en el siguiente paso. Principalmente, la configuración se reduce a habilitar los componentes adicionales 'Subsistema de Windows para Linux' y 'Plataforma de máquina virtual', y reiniciar para aplicar los cambios en la configuración del ordenador:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Si es necesario descargamos y instalamos el paquete de actualizaciones para el núcleo de Linux en WSL2.
Iniciamos el Windows Terminal y elegimos el modo de operación del Símbolo del sistema presionando las teclas Ctrl+Shift+2.

Primero, establecemos el modo de operación WSL2, para ello introducimos el comando:

wsl  --set-default-version 2


Pasamos al directorio con el cargador de arranque autónomo Ubuntu 20.04, en mi caso es wslUbuntu-20.04 y ejecutamos el archivo ubuntu2004.exe. Al aparecer la solicitud de nombre de usuario, indico el nombre engineer (puedes introducir cualquier otro nombre), ingreso mi contraseña y confirmo la contraseña ingresada para la cuenta especificada:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Apareció la línea de invitación del terminal, el núcleo de Ubuntu 20.04 está instalado. Verificaremos la configuración del modo WSL2, para ello en el Windows Terminal seleccionamos la pestaña Windows PowerShell e ingresamos el comando:

wsl -l -v


el resultado debe ser el siguiente:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Configuramos el firewall de Microsoft Defender, es decir, lo desactivamos para la red pública:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Configuración de Ubuntu 20.04

En el Windows Terminal nuevamente seleccionamos la pestaña Command Prompt e instalamos actualizaciones para Ubuntu 20.04. Para ello en la línea de comandos ingresamos:

sudo apt update && sudo apt upgrade -y


Instalamos el escritorio KDE Plasma:

sudo apt install kubuntu-desktop -y


la instalación tarda hasta 30 minutos dependiendo del rendimiento del computador y el ancho de banda de la conexión a Internet, al aparecer un aviso del instalador confirmamos OK.
Instalamos la localización y diccionarios en ruso para Ubuntu 20.04. Para ello en la línea de comandos ingresamos:

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 # nota: seleccionamos ru_RU.UTF-8 UTF-8, consulte las capturas de pantalla a continuación.
sudo apt-get install --reinstall locales


Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Agregamos 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 conjunto de aplicaciones de consola, por ejemplo mc y neofetch:

sudo apt install mc neofetch -y


Verificamos lo que obtenemos, ingresamos en la línea de comandos neofetch, consulte la captura de pantalla:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Editamos el archivo de configuración de WSL /etc/wsl.conf:

sudo nano /etc/wsl.conf


en la ventana vacía del editor de texto copiamos el texto:

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


guardamos los cambios (Ctrl+O), confirmamos la operación y salimos del editor de texto (Ctrl+X).

Exportamos la imagen de Ubuntu-20.04 configurada en el directorio que hemos creado wsl. Para ello en el Windows Terminal nuevamente seleccionamos la pestaña Windows PowerShell e ingresamos el comando:

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


la imagen creada nos ayudará a automatizar las operaciones de inicio/reinstalación de Ubuntu 20.04 configurado, y si es necesario permitirá trasladarlo fácilmente a otro computador.

Preparación de archivos bat y accesos directos en el escritorio de Windows

Con el editor Notepad++ creamos archivos bat (obligatoriamente en codificación OEM-866 para la correcta visualización de caracteres cirílicos):
Archivo Install-Ubuntu-20.04-plasma-desktop.bat — está destinado a automatizar la instalación inicial de la imagen creada de Ubuntu 20.04 en una computadora con el subsistema WSL2 ya configurado y un servidor X. Si el nombre de usuario y la contraseña son diferentes a los indicados en el ejemplo, se deben realizar los cambios correspondientes en este archivo bat:

@echo off
wsl --set-default-version 2
cls
echo Espere a que finalice la instalación de la distribución Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo ¡La distribución Ubuntu-20.04 se ha instalado correctamente!
echo No olvide cambiar la cuenta predeterminada «root» por una cuenta de usuario existente,
echo o usar la cuenta preinstalada «engineer», contraseña: «password».
pause


Archivo Reinstall-Ubuntu-20.04-plasma-desktop.bat — está destinado a 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 Espere a que finalice la reinstalación de la distribución Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo ¡La distribución Ubuntu-20.04 se ha reinstalado correctamente!
pause


Archivo Set-default-user.bat — para establecer el usuario «predeterminado».

@echo off
set /p answer=Ingrese la cuenta existente en Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo ¡La cuenta de usuario %answer% en Ubuntu-20.04 se ha establecido como predeterminada!
pause


Archivo Start-Ubuntu-20.04-plasma-desktop.bat — el propio lanzamiento del entorno de escritorio KDE Plasma.

@echo off
echo ===================================== ¡Atención! ============================================
echo  Para el correcto funcionamiento de la GUI de Ubuntu 20.04 en WSL2 es necesario utilizar un servidor X.
echo  Nota: en caso de utilizar VcXsrv Windows X Server, es necesario descomentar
echo  las líneas en el archivo Start-Ubuntu-20.04-plasma-desktop.bat que contienen "config.xlaunch" y
echo  "vcxsrv.exe", y comentar todas las líneas que contienen "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


Archivo Start-Ubuntu-20.04-terminal.bat — lanzamiento de la terminal gráfica sin el entorno de escritorio KDE Plasma.

@echo off
echo ===================================== ¡Atención! ============================================
echo  Para un funcionamiento correcto de la GUI de Ubuntu 20.04 en WSL2 es necesario usar un X Server.
echo  Nota: si usas VcXsrv Windows X Server, debes descomentar
echo  las líneas en el archivo Start-Ubuntu-20.04-plasma-desktop.bat que contienen "config.xlaunch" y
echo  "vcxsrv.exe", y comentar todas las líneas que contienen "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 directorio wsl preparamos accesos directos que apuntan a los archivos bat correspondientes. Después, el contenido del directorio wsl se ve de la siguiente manera:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Iniciar el escritorio de KDE Plasma

Verificamos que todas las acciones preparatorias se hayan realizado, intentamos iniciar el acceso directo Plasma-desktop. Aparece un aviso de contraseña, introducimos la contraseña de la cuenta y… la ventana se cierra. La primera vez es normal. Intentamos de nuevo — y vemos la familiar barra de tareas de KDE Plasma. Personalizamos la apariencia de la barra de tareas, por conveniencia trasladamos la barra a la parte derecha de la pantalla y la centramos. Verificamos la configuración de localización, si es necesario añadimos el idioma ruso:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Si es necesario, colocamos accesos directos para las aplicaciones de linux instaladas en la barra de tareas de KDE Plasma.

Si Ubuntu 20.04 requiere cerrar la sesión del usuario para aplicar cambios en la configuración, o necesitas reiniciar el sistema operativo, ingresa el comando en Windows Terminal:

wsl -d Ubuntu20.04 --shutdown


Con el acceso directo Plasma-desktop o Konsole se puede iniciar la GUI de KDE Plasma de Ubuntu 20.04. Por ejemplo, instalemos usando Konsole el editor gráfico GIMP:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Después de completar la instalación, ejecutamos desde Konsole el editor gráfico GIMP:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
GIMP funciona, que es lo que se quería comprobar.
Así es como funcionan varias aplicaciones de linux en KDE Plasma en WSL2:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
la barra de tareas configurada de KDE Plasma se encuentra en la parte derecha de la pantalla, y el video se reproduce con sonido en la ventana de Firefox.

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Si es necesario, se puede configurar el acceso a Ubuntu20.04 a través de SSH y RDP, para ello es necesario instalar los servicios correspondientes con el comando:

sudo apt install ssh xrdp -y


nota: para habilitar el acceso por contraseña, SSH es necesario editar el archivo /etc/ssh/sshd_config, a saber, el parámetro PasswordAuthentication no debe establecerse en el valor PasswordAuthentication yes, guarda los cambios y reinicia Ubuntu 20.04.

Cada vez que se inicia Ubuntu 20.04 se cambia la dirección IP interna, antes de configurar el acceso remoto es necesario verificar la dirección IP actual con el comando ip a:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Por lo tanto, esta dirección IP debe incluirse en la configuración de las sesiones SSH y RDP antes de iniciar.
Así es como se ve el acceso remoto a través de SSH con MobaXterm:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Y así es como se ve el acceso remoto a través de RDP:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso

Uso del servidor X vcxsrv en lugar de x410

Iniciamos y configuramos vcxsrv, estableciendo cuidadosamente las casillas correspondientes:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
Guardamos la configuración establecida en el directorio wslvcxsrv con el nombre estándar config.xlaunch.

Editamos los archivos bat Start-Ubuntu-20.04-plasma-desktop.bat y Start-Ubuntu-20.04-terminal.bat de acuerdo con las instrucciones que contienen.

Iniciamos el acceso directo Plasma-desktop, y esto es lo que obtenemos:

Windows 10 + Linux. Configuración de GUI KDE Plasma para Ubuntu 20.04 en WSL2. Guía paso a paso
El escritorio KDE Plasma cubre completamente el escritorio de Windows, para alternar entre las ventanas de aplicaciones linux y windows utilizamos la conocida combinación de teclas Alt+Tab, lo que no es del todo conveniente.
Además, se descubrió una característica desagradable del servidor X vcxsrv – se ‘cierra’ al iniciar algunas aplicaciones, en particular GIMP o LibreOffice Writer. Puede que debamos esperar a que los desarrolladores solucionen los ‘bugs’ observados, pero no es seguro… Así que para obtener resultados aceptables es mejor usar el X Server Microsoft x410.

Conclusión

Sin embargo, hay que reconocer que la compañía Microsoft, el producto WSL2 es bastante funcional, y a mi inexperto parecer — muy exitoso. Y hasta donde sé, los desarrolladores continúan mejorándolo intensamente, y es posible que dentro de un año o dos, este subsistema se presente en toda su plenitud funcional.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster