ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

معرفی

این مقاله برای توجه مدیران سیستم در نظر گرفته شده است که محل های کاری معمولی را روی رایانه های دارای ویندوز 10 آماده می کنند، از جمله توسعه دهندگان نرم افزار.

لازم به ذکر است که مشکل خاصی در رابطه با عدم امکان ادغام نرم افزار به دست آمده از فروشگاه اینترنتی مایکروسافت استور برای استفاده در یک تصویر سفارشی ویندوز 10 وجود دارد. برنامه های نصب شده از فروشگاه مایکروسافت با حساب سرویس Administrator ارتباط برقرار می کنند و زمانی که ایجاد تصویر سفارشی توسط ابزار تکمیل می شود sysprep خطاها به دلیل این شرایط رخ می دهد.

روش مورد بحث در این مقاله هنگام تهیه یک تصویر سیستم عامل ویندوز 10 با یک زیرسیستم WSL2 از پیش پیکربندی شده و همچنین یک تصویر از پیش آماده و پیکربندی شده سیستم عامل Ubuntu 20.04 با رابط کاربری گرافیکی KDE Plasma که به نوبه خود می تواند خود را داشته باشد، از این مشکل جلوگیری می کند. مجموعه نرم افزارهای سفارشی

مثال‌ها و آموزش‌های زیادی در اینترنت برای راه‌اندازی زیرسیستم‌های WSL (یعنی WSL1 و WSL2 نسبتاً جدید) با راه‌اندازی یک رابط رابط کاربری گرافیکی برای سیستم‌های سیستم‌عامل مبتنی بر لینوکس از اوبونتو 16.04 تا اوبونتو 20.04 وجود دارد، اما این امر عمدتاً مربوط به دسکتاپ‌های مبتنی بر لینوکس است. در به اصطلاح. xfce4 "سبک" که محدودیت های قابل درک در تنظیمات کاربر دارد. اما تا آنجا که به رابط کاربری گرافیکی پلاسما KDE برای اوبونتو 20.04 مربوط می شود، اطلاعات زیادی در شبکه یافت نمی شود. اما این گزینه است که تنظیمات تقریباً نامحدودی را برای تنظیمات ظاهری سیستم و سخت افزار در اختیار کاربر نهایی قرار می دهد، البته با در نظر گرفتن قابلیت های یکپارچه سازی فعلی سیستم های لینوکس پیاده سازی شده در زیرسیستم WSL2.

نصب مجموعه نرم افزار مورد نیاز و پیکربندی WSL2

ما نسخه فعلی ویندوز را بررسی می کنیم، برای این، در نوار جستجوی ویندوز، دستور را وارد کنید winver و چیزی شبیه به این دریافت می کنیم:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
مهم است که نسخه سیستم عامل 1903 یا 1909 باشد (نسخه های سیستم عامل مشخص شده باید با به روز رسانی تجمعی KB4566116 نصب شده باشد)، یا 2004 (شماره ساخت کمتر از 19041) باشد، بقیه اطلاعات مهم نیست. اگر شماره نسخه کمتر است، توصیه می شود برای بازتولید صحیح نتایج در این مقاله، آن را به آخرین نسخه ویندوز ارتقا دهید.

برای راحتی اقدامات بیشتر، ترمینال رایگان ویندوز را با استفاده از فروشگاه مایکروسافت نصب کنید (امکان دانلود از منابع دیگر نیز وجود دارد):

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
X Server X410 را از طریق همین مایکروسافت استور نصب می کنیم، این نرم افزار پولی است اما 15 روز مهلت رایگان دارد که برای تست های مختلف کافی است.

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
به عنوان یک جایگزین رایگان برای X410 دانلود و سرور VcXsrv X را نصب کنید.

در هر مکان مناسب روی دیسک، یک دایرکتوری ایجاد می کنیم که فایل های خود را در آن ذخیره می کنیم. به عنوان مثال، اجازه دهید یک دایرکتوری ایجاد کنیم C:wsl.

در حال بارگیری و نصب کننده مستقل Ubuntu 20.04 را نصب کنید، فایل حاصل را با استفاده از یک بایگانی (مثلاً 7-zip) از بسته بندی خارج کنید. دایرکتوری بدون بسته بندی را با یک نام طولانی تغییر نام دهید Ubuntu_2004.2020.424.0_x64 به چیزی قابل قبول تر، مانند Ubuntu-20.04 و آن را در دایرکتوری کپی کنید C:wsl (از این پس به سادگی wsl).

در حال بارگیری و در یک دایرکتوری باز کنید wsl سرور صدای کراس پلتفرم PulseAudio نسخه 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 را مطابق با پیکربندی می کنیم مستندات مایکروسافت. تنها نکته این است که ما قبلاً توزیع اوبونتو را دانلود کرده ایم و در مرحله بعد آن را نصب خواهیم کرد. اساساً، پیکربندی به فعال کردن اجزای اضافی "Windows Subsystem for Linux" و "Virtual Machine Platform" و سپس راه اندازی مجدد برای اعمال تغییرات در تنظیمات رایانه خلاصه می شود:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

در صورت لزوم دانلود و سرویس پک کرنل لینوکس را در WSL2 نصب کنید.
ما Windows Terminal را راه اندازی می کنیم و با فشار دادن کلیدها حالت Command Prompt را انتخاب می کنیم Ctrl+Shift+2.

اول از همه، حالت WSL2 را تنظیم می کنیم، برای این دستور را وارد می کنیم:

wsl  --set-default-version 2


به دایرکتوری بوت لودر مستقل Ubuntu 20.04 تغییر دهید، در مورد من این است wslUbuntu-20.04 و فایل را اجرا کنید ubuntu2004.exe. وقتی نام کاربری از شما خواسته شد، نام کاربری را وارد کنید engineer (شما می توانید هر نام دیگری را وارد کنید)، رمز عبور خود را وارد کنید و رمز عبور وارد شده را برای حساب مشخص شده تأیید کنید:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
یک فرمان ترمینال ظاهر می شود، هسته اوبونتو 20.04 نصب شده است. بیایید صحت تنظیمات حالت WSL2 را بررسی کنیم، برای این کار، در ترمینال ویندوز، تب Windows PowerShell را انتخاب کرده و دستور را وارد کنید:

wsl -l -v


نتیجه اجرا باید به صورت زیر باشد:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

ما فایروال Microsoft Defender را پیکربندی می کنیم، یعنی. آن را برای شبکه عمومی غیرفعال کنید:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

راه اندازی اوبونتو 20.04

در ترمینال ویندوز، دوباره زبانه Command Prompt را انتخاب کنید و به روز رسانی ها را برای اوبونتو 20.04 نصب کنید. برای انجام این کار، در خط فرمان، وارد کنید:

sudo apt update && sudo apt upgrade –y


دسکتاپ KDE Plasma را نصب کنید:

sudo apt install kubuntu-desktop -y


نصب تا 30 دقیقه طول می کشد، بسته به عملکرد رایانه و پهنای باند کانال دسترسی به اینترنت، زمانی که توسط نصب کننده درخواست شود، ما تأیید می کنیم OK.
بومی سازی و فرهنگ لغت روسی اوبونتو 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


ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در 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، اسکرین شات را ببینید:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در 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 PowerShell را انتخاب کرده و دستور را وارد کنید:

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


تصویر ایجاد شده به ما کمک می کند تا عملیات راه اندازی / نصب مجدد اوبونتو 20.04 پیکربندی شده را خودکار کنیم، در صورت لزوم، به ما امکان می دهد به راحتی آن را به رایانه دیگری منتقل کنیم.

آماده سازی فایل های bat و میانبرها برای دسکتاپ ویندوز

با استفاده از ویرایشگر Notepad ++، فایل های bat ایجاد کنید (برای خروجی صحیح نویسه های سیریلیک در کدگذاری OEM-866 لازم است):
پرونده Install-Ubuntu-20.04-plasma-desktop.bat - طراحی شده برای خودکارسازی نصب اولیه تصویر ایجاد شده از اوبونتو 20.04 بر روی رایانه ای با یک زیرسیستم WSL2 از قبل پیکربندی شده و یک سرور X. اگر نام کاربری و رمز عبور با موارد مشخص شده در مثال متفاوت است، باید تغییرات مناسب را در این فایل 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 - طراحی شده برای نصب مجدد تصویر آماده شده از اوبونتو 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 به نظر می رسد این:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

راه اندازی دسکتاپ پلاسما KDE

ما بررسی می کنیم که تمام مراحل آماده سازی کامل شده است، سعی می کنیم میانبر را راه اندازی کنیم Plasma-desktop. یک درخواست رمز عبور ظاهر می شود، رمز عبور حساب را وارد کنید و ... پنجره بسته می شود. بار اول مشکلی نداره ما دوباره امتحان می کنیم - و نوار وظیفه آشنای KDE Plasma را می بینیم. ما ظاهر نوار وظیفه را سفارشی می کنیم، در مثال، برای سهولت استفاده، پانل به سمت راست صفحه منتقل شده و در مرکز قرار می گیرد. تنظیمات بومی سازی را بررسی می کنیم، در صورت لزوم، زبان روسی را اضافه می کنیم:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

در صورت لزوم، میانبرهایی را برای برنامه های لینوکس نصب شده به نوار وظیفه KDE Plasma می آوریم.

اگر اوبونتو 20.04 برای اعمال تغییرات در تنظیمات از شما می خواهد از حساب کاربری خود خارج شوید یا باید سیستم عامل را مجددا راه اندازی کنید، برای انجام این کار، در ترمینال ویندوز، دستور را وارد کنید:

wsl -d Ubuntu20.04 --shutdown


با برچسب Plasma-desktop یا Konsole می توانید رابط کاربری گرافیکی Ubuntu 20.04 KDE Plasma را اجرا کنید. به عنوان مثال با نصب Konsole ویرایشگر گرافیک GIMP:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
پس از اتمام نصب، از را اجرا کنید Konsole ویرایشگر گرافیک GIMP:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
GIMP کار می کند، چیزی که می خواستم بررسی کنم.
و در اینجا نحوه عملکرد برنامه های مختلف لینوکس در KDE Plasma در WSL2 آمده است:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
نوار وظیفه سفارشی KDE Plasma در سمت راست صفحه قرار دارد. و ویدیو در پنجره فایرفاکس با صدا پخش می شود.

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

در صورت لزوم، می توانید دسترسی به Ubuntu20.04 را پیکربندی کنید SSH и RDP، برای این کار باید سرویس های مناسب را با دستور نصب کنید:

sudo apt install ssh xrdp -y


توجه: برای فعال کردن دسترسی رمز عبور توسط SSH باید فایل را ویرایش کنید /etc/ssh/sshd_config، یعنی پارامتر PasswordAuthentication no باید تنظیم شود PasswordAuthentication yes، تغییرات را ذخیره کنید و Ubuntu20.04 را مجددا راه اندازی کنید.

هر بار که Ubuntu20.04 را راه اندازی می کنید، آدرس IP داخلی تغییر می کند، قبل از تنظیم دسترسی از راه دور، باید آدرس IP فعلی را با استفاده از دستور بررسی کنید. ip a:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
بر این اساس، این آدرس IP باید در تنظیمات جلسه وارد شود SSH и RDP قبل از شروع.
دسترسی از راه دور به این شکل است SSH با استفاده از MobaXterm:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
و این همان چیزی است که دسترسی از راه دور به نظر می رسد RDP:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی

استفاده از سرور x vcxsrv به جای x410

راه اندازی و راه اندازی vcxsrv، چک باکس های مناسب را با دقت تنظیم کنید:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
ذخیره پیکربندی پیکربندی شده در دایرکتوری wslvcxsrv با نام استاندارد config.xlaunch.

ویرایش فایل های خفاش Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat طبق دستور آنها

راه اندازی میانبر Plasma-desktop، و این چیزی است که به دست می آوریم:

ویندوز 10 + لینوکس. راه اندازی رابط کاربری گرافیکی KDE Plasma برای اوبونتو 20.04 در WSL2. راهپیمایی
دسکتاپ KDE Plasma به طور کامل دسکتاپ ویندوز را می بندد، برای جابجایی بین ویندوزهای لینوکس و برنامه های ویندوز از ترکیب کلید معروف استفاده می کنیم. Alt+Tab، که خیلی راحت نیست.
علاوه بر این، یک ویژگی ناخوشایند سرور X فاش شد vcxsrv - هنگام راه اندازی برخی از برنامه ها، به ویژه همان GIMP یا LibreOffice Writer، از کار می افتد. شاید باید منتظر بمانیم تا توسعه دهندگان "اشکالات" مشاهده شده را حذف کنند، اما این قطعی نیست... بنابراین، برای دریافت نتایج قابل قبول، بهتر است از سرور X Microsoft x410 استفاده کنید.

نتیجه

با این حال، ما باید به مایکروسافت ادای احترام کنیم، محصول WSL2 کاملاً کارآمد و به نظر بی‌تجربه من بسیار موفق بود. و تا آنجا که من می دانم، توسعه دهندگان به شدت آن را "تمام" می کنند، و شاید - در یک یا دو سال، این زیرسیستم با تمام کامل عملکرد خود ظاهر شود.

منبع: www.habr.com

اضافه کردن نظر