Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

介绍

本文旨在为在运行操作系统的计算机上配置标准工作站的系统管理员提供参考。 Windows 10包括软件开发人员。

需要注意的是,存在一个特殊问题,即无法将从 Microsoft Store 获取的软件集成到自定义映像中使用。 Windows 10无需赘述细节,我在此澄清一下,这个问题与从 Microsoft Store 安装的程序与管理员服务帐户关联有关,并且当该实用程序完成创建自定义映像时也会出现此问题。 sysprep 由于这种情况而发生错误。

本文讨论的方法可以帮助您在准备操作系统镜像时避免这个问题。 Windows 10 带有预配置的 WSL2 子系统以及预先准备和配置的操作系统映像 Ubuntu 20.04 版本采用 KDE Plasma GUI,而 KDE Plasma GUI 本身也可以拥有自己的一套用户软件。

互联网上有大量关于如何设置 WSL 子系统(例如 WSL1 和相对较新的 WSL2)的示例和指南,其中包含基于 Linux 操作系统的 GUI 界面设置,操作系统版本从 10.0 开始。 Ubuntu 16.04 及之后 Ubuntu 20.04,但这主要涉及基于所谓“轻量级”xfce4的桌面系统,其用户设置方面存在一些可以理解的局限性。至于KDE Plasma GUI, Ubuntu 截至4月20日,网上尚未找到任何重要信息。然而,考虑到WSL2子系统中已实现的现有Linux系统集成功能,该版本为最终用户提供了几乎无限的系统外观和硬件设置自定义选项。

安装所需的软件集并配置 WSL2

正在检查当前版本 Windows在搜索栏中输入此内容 Windows 输入命令 winver 我们得到这样的东西:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
您的操作系统版本必须为 1903 或 1909(这些版本必须安装累积更新 KB4566116),或者 2004(内部版本号至少为 19041)。否则,版本号并不重要。如果版本号较低,我们建议您升级到最新版本,以确保本文所述结果能够正确复现。 Windows.

为了方便后续操作,我们安装了一个免费的 Windows 终端,使用 Microsoft Store(也可以从其他来源下载):

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
我们通过同一个Microsoft Store安装X Server X410,这个软件是付费的,但是有15天的免费期,足够各种测试用了。

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
作为 X410 的免费替代品 下载 并安装 VcXsrv X 服务器。

在磁盘上任何方便的地方,我们创建一个目录来存储我们的文件。 例如,让我们创建一个目录 C:wsl.

下载 并安装独立安装程序 Ubuntu 4月20日,使用压缩软件(例如7-zip)解压缩生成的文件。将解压缩后的目录重命名为一个长名称。 Ubuntu_2004.2020.424.0_x64 变成更容易接受的东西,比如 Ubuntu-20.04 并将其复制到目录 C:wsl (以下简称 wsl).

下载 并解压到一个目录 wsl 跨平台声音服务器 PulseAudio v.1.1.,我们还对其配置文件进行了更正。

在文件中 wslpulseaudio-1.1etcpulsedefault.pa 部分 Load audio drivers statically 编辑行:

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


并在部分 Network access 编辑行:

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


在文件中 wslpulseaudio-1.1etcpulsedaemon.conf 取消注释并更改行

exit-idle-time = -1


我们按照配置WSL2子系统 文档 微软。唯一的不足之处在于分发方式。 Ubuntu 我们已经下载好了,下一步会进行安装。基本上,安装过程就是启用“子系统”的其他组件。 Windows 为 Linux选择“虚拟机平台”,然后重启计算机以应用更改:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

如果有必要, 下载 并安装内核更新包 Linux 在 WSL2 中。
我们启动 Windows 打开终端,然后按按键选择命令提示符操作模式。 Ctrl+Shift+2.

首先,我们设置 WSL2 操作模式,为此我们输入命令:

wsl  --set-default-version 2


进入独立引导加载程序所在的目录 Ubuntu 20.04,就我而言是 wslUbuntu-20.04 并运行文件 ubuntu2004.exe. 当提示输入用户名时,输入用户名 engineer (您可以输入任何其他名称),输入您的密码并为指定帐户确认输入的密码:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
终端提示符出现,内核 Ubuntu 20.04 版本已安装。让我们检查一下 WSL2 模式是否配置正确。为此, Windows 在终端上,选择书签 Windows 使用 PowerShell 并输入以下命令:

wsl -l -v


执行结果应该是这样的:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

我们配置 Microsoft Defender 防火墙,即为公共网络禁用它:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

调整 Ubuntu 20.04

В Windows 在终端中,再次选择“命令提示符”选项卡,然后安装更新。 Ubuntu 20.04. 为此,请在命令行中输入以下命令:

sudo apt update && sudo apt upgrade –y


安装 KDE Plasma 桌面:

sudo apt install kubuntu-desktop -y


安装最多需要 30 分钟,具体取决于计算机的性能和互联网访问通道的带宽,当安装程序提示时,我们确认 OK.
安装俄语本地化和词典 Ubuntu 20.04. 为此,请在命令行中输入以下命令:

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配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
添加最新版本的 KDE Plasma 桌面:

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


我们添加自己的一组控制台应用程序,例如 mc и neofetch:

sudo apt install mc neofetch -y


我们检查发生了什么,进入命令行 neofetch,见截图:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
编辑 WSL 配置文件 /etc/wsl.conf:

sudo nano /etc/wsl.conf


将文本复制到打开的空文本编辑器窗口中:

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


保存更改 (Ctrl+O), 确认操作并退出文本编辑器 (Ctrl+X).

导出已配置的图像 Ubuntu我们创建的目录中 -20.04 wsl。要执行此操作,请在 Windows 再次在终端选择书签 Windows 使用 PowerShell 并输入以下命令:

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


创建的镜像将帮助我们自动执行启动/重新安装已配置程序的操作。 Ubuntu 20.04 版本(如有必要)可以让您轻松地将其传输到另一台计算机。

准备批处理文件和桌面快捷方式 Windows

使用 Notepad++ 编辑器,创建 bat 文件(需要 OEM-866 编码才能正确输出西里尔字符):
文件 Install-Ubuntu-20.04-plasma-desktop.bat — 旨在自动执行所创建映像的初始安装 Ubuntu 在预配置了 WSL2 子系统和 X 服务器的计算机上运行 20.04 版本。如果用户名和密码与示例中指定的不同,则需要对以下 .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


文件 Reinstall-Ubuntu-20.04-plasma-desktop.bat — 旨在重新安装已准备好的映像 Ubuntu 电脑上是 20.04。

@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


文件 Set-default-user.bat - 设置默认用户。

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


文件 Start-Ubuntu-20.04-plasma-desktop.bat - 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


文件 Start-Ubuntu-20.04-terminal.bat - 在没有 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


也为了便于在目录中使用 wsl 我们准备指向相应 bat 文件的快捷方式。 然后是目录的内容 wsl 如下:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

启动 KDE Plasma 桌面

我们检查所有准备步骤是否已经完成,我们尝试启动快捷方式 Plasma-desktop. 出现密码请求,输入帐户密码,然后...窗口关闭。 第一次没关系。 我们再试一次——我们看到了熟悉的 KDE Plasma 任务栏。 我们自定义任务栏的外观,在示例中,为了方便使用,面板被移动到屏幕的右侧并居中。 我们检查本地化设置,如有必要,添加俄语:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

如有必要,我们将已安装的 Linux 应用程序的快捷方式添加到 KDE Plasma 任务栏。

如果 Ubuntu 20.04 版本要求您注销用户帐户才能应用设置更改,或者您需要重启操作系统。 Windows 在终端中输入命令:

wsl -d Ubuntu20.04 --shutdown


用捷径 Plasma-desktop или Konsole 你可以运行 KDE Plasma 图形用户界面 Ubuntu 20.04. 例如,我们将使用以下方式进行安装 Konsole GIMP 图形编辑器:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
安装完成后,运行 Konsole GIMP 图形编辑器:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
GIMP 有效,这正是我想要检查的。
以下是各种 Linux 应用程序在 WSL2 中的 KDE Plasma 中的工作方式:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
自定义的 KDE Plasma 任务栏位于屏幕右侧。 并且 Firefox 窗口中的视频播放有声。

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

如有必要,您可以配置访问权限 Ubuntu20.04至 SSH и RDP,为此您需要使用以下命令安装适当的服务:

sudo apt install ssh xrdp -y


注意:启用密码访问 SSH 你需要编辑文件 /etc/ssh/sshd_config, 即参数 PasswordAuthentication no 必须设置为 PasswordAuthentication yes保存更改并重启 Ubuntu20.04.

每次我启动 Ubuntu4月20日,内部IP地址将发生变更。在设置远程访问之前,您需要使用以下命令检查当前的IP地址。 ip a:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
因此,必须在会话设置中输入此 ip 地址 SSH и RDP 在开始之前。
这就是远程访问的样子 SSH 使用 MobaXterm:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
这就是远程访问的样子 RDP:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南

使用 x 服务器 vcxsrv 而不是 x410

启动和设置 vcxsrv, 仔细设置适当的复选框:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
将配置好的配置保存在目录中 wslvcxsrv 有标准名称 config.xlaunch.

编辑 bat 文件 Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat 根据他们的指示。

启动快捷方式 Plasma-desktop,这就是我们得到的:

Windows 10 + Linux配置 KDE Plasma GUI Ubuntu 4 月 20 日 WSL2 分步指南
KDE Plasma桌面完全覆盖了桌面。 Windows要在 Linux 和 Windows 应用程序窗口之间切换,我们使用一个众所周知的组合键。 Alt+Tab,这不是很方便。
此外,还揭示了 X 服务器的一个令人不快的功能 vcxsrv - 当您运行某些应用程序时它会崩溃,尤其是相同的 GIMP 或 LibreOffice Writer。 也许我们应该等到开发人员删除注意到的“错误”,但这并不确定......因此,为了获得可接受的结果,最好使用 X Server Microsoft x410。

结论

尽管如此,我们还是要向微软致敬,WSL2 产品结果证明非常有效,并且在我没有经验的情况下,非常成功。 据我所知,开发人员继续集中“完成”它,也许 - 在一两年内,这个子系统将显示其所有功能完整性。

来源: habr.com

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster