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:
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):
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.
Como alternativa gratuita a X410
En cualquier lugar conveniente del disco, creamos un directorio en el que almacenaremos nuestros archivos. Como ejemplo, vamos a crear un directorio C:wsl
.
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
).
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
Si es necesario,
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:
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í:
Configuramos el firewall de Microsoft Defender, es decir. desactívelo para la red pública:
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
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:
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
выглядит следующим образом:
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:
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:
Una vez finalizada la instalación, ejecute desde Konsole
Editor de gráficos GIMP:
GIMP funciona, que es lo que quería comprobar.
Y así es como funcionan varias aplicaciones de Linux en KDE Plasma en WSL2:
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.
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
:
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:
Y así es como se ve el acceso remoto RDP
:
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:
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:
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