نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول

مقدمة

هذه المقالة مخصصة للفت انتباه مسؤولي النظام الذين يقومون بإعداد أماكن عمل نموذجية على أجهزة الكمبيوتر التي تعمل بنظام التشغيل Windows 10 ، بما في ذلك مطورو البرامج.

وتجدر الإشارة إلى أن هناك مشكلة معينة مرتبطة باستحالة دمج البرامج التي تم الحصول عليها من متجر Microsoft Store عبر الإنترنت لاستخدامها في صورة Windows 10 مخصصة. وبدون الخوض في التفاصيل ، سأوضح أن هذه المشكلة مرتبطة بحقيقة أن تقوم البرامج المثبتة من Microsoft Store بالاتصال بحساب خدمة المسؤول ، وعند اكتمال إنشاء الصورة المخصصة بواسطة الأداة المساعدة sysprep تحدث أخطاء بسبب هذا الظرف.

تتجنب الطريقة التي تمت مناقشتها في هذه المقالة هذه المشكلة عند إعداد صورة نظام التشغيل Windows 10 مع نظام فرعي WSL2 تم تكوينه مسبقًا ، بالإضافة إلى صورة Ubuntu 20.04 OS المعدة مسبقًا والمهيأة باستخدام واجهة المستخدم الرسومية KDE Plasma ، والتي بدورها يمكن أن يكون لها خاص بها مجموعة من البرامج المخصصة.

هناك الكثير من الأمثلة والبرامج التعليمية على الإنترنت لإعداد أنظمة فرعية لـ WSL (مثل WSL1 و WSL2 الجديد نسبيًا) ، مع إعداد واجهة المستخدم الرسومية لأنظمة التشغيل المستندة إلى نظام التشغيل Linux من Ubuntu 16.04 إلى Ubuntu 20.04 ، ولكن هذا يتعلق بشكل أساسي بأجهزة سطح المكتب القائمة على ما يسمى ب. "lightweight" xfce4 ، التي لها قيود مفهومة في إعدادات المستخدم. ولكن فيما يتعلق بواجهة المستخدم الرسومية KDE Plasma لـ Ubuntu 20.04 ، لا يوجد الكثير من المعلومات الموجودة على الشبكة. ولكن هذا هو الخيار الذي يوفر للمستخدم النهائي مجموعة غير محدودة تقريبًا من الإعدادات لكل من مظهر إعدادات النظام والأجهزة ، بالطبع ، مع الأخذ في الاعتبار إمكانات التكامل الحالية لأنظمة Linux المطبقة في النظام الفرعي WSL2.

تثبيت مجموعة البرامج المطلوبة وتكوين WSL2

نتحقق من الإصدار الحالي من Windows ، لهذا ، في شريط بحث Windows ، أدخل الأمر winver ونحصل على شيء مثل هذا:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
من المهم أن يكون إصدار نظام التشغيل 1903 أو 1909 (يجب أن تكون إصدارات نظام التشغيل المحددة مع التحديث التراكمي KB4566116 مثبتًا) ، أو 2004 (رقم البنية لا يقل عن 19041) ، ولا يهم باقي المعلومات. إذا كان رقم الإصدار أقل من ذلك ، فمن المستحسن أن تقوم بالترقية إلى أحدث إصدار من Windows لإعادة إنتاج النتائج في هذه المقالة بشكل صحيح.

لتسهيل الإجراءات الإضافية ، قم بتثبيت Windows Terminal المجاني باستخدام Microsoft Store (هناك أيضًا إمكانية التنزيل من مصادر أخرى):

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
نقوم بتثبيت X Server X410 من خلال نفس متجر Microsoft ، يتم دفع هذا البرنامج ، ولكن هناك فترة مجانية مدتها 15 يومًا ، وهي كافية للاختبارات المختلفة.

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 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 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 uncomment وتغيير الخط

exit-idle-time = -1


نقوم بتكوين النظام الفرعي WSL2 وفقًا لـ توثيق مايكروسوفت. الملاحظة الوحيدة هي أننا قمنا بالفعل بتنزيل توزيعة Ubuntu ، وسنقوم بتثبيتها في الخطوة التالية. بشكل أساسي ، يأتي التكوين لتمكين المكونات الإضافية "Windows Subsystem for Linux" و "Virtual Machine Platform" ، ثم إعادة التشغيل لتطبيق التغييرات على إعدادات الكمبيوتر:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول

إذا لزم الأمر، تحميل وقم بتثبيت حزمة خدمة Linux kernel في WSL2.
نقوم بتشغيل Windows Terminal وحدد وضع موجه الأوامر بالضغط على المفاتيح 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 20.04 في WSL2. تجول
تظهر مطالبة طرفية ، تم تثبيت Ubuntu 20.04 kernel. دعنا نتحقق من صحة إعدادات وضع WSL2 ، لهذا ، في Windows Terminal ، حدد علامة التبويب Windows PowerShell وأدخل الأمر:

wsl -l -v


يجب أن تكون نتيجة الإعدام على النحو التالي:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول

نقوم بتكوين جدار حماية Microsoft Defender ، أي قم بتعطيله للشبكة العامة:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول

إعداد نظام التشغيل Ubuntu 20.04

في Windows Terminal ، حدد علامة التبويب Command Prompt مرة أخرى وقم بتثبيت التحديثات لـ 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 20.04 في WSL2. تجول
نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
أضف أحدث إصدار من سطح مكتب كيدي بلازما:

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 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 Terminal ، حدد مرة أخرى علامة التبويب 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 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 - مصمم لإعادة تثبيت صورة 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 - إطلاق محطة رسومية بدون سطح مكتب كيدي بلازما.

@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 نقوم بإعداد اختصارات تشير إلى ملفات الخفافيش المقابلة. ثم محتويات الدليل wsl على النحو التالي:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول

بدء تشغيل سطح المكتب كيدي بلازما

نتحقق من اكتمال جميع الخطوات التحضيرية ، نحاول تشغيل الاختصار Plasma-desktop. يظهر طلب كلمة المرور ، أدخل كلمة المرور للحساب و ... تُغلق النافذة. لا بأس في المرة الأولى. نحاول مرة أخرى - ونرى شريط مهام KDE Plasma المألوف. نقوم بتخصيص مظهر شريط المهام ، في المثال ، لسهولة الاستخدام ، يتم نقل اللوحة إلى الجانب الأيمن من الشاشة وتوسيطها. نتحقق من إعدادات الترجمة ، إذا لزم الأمر ، أضف اللغة الروسية:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول

إذا لزم الأمر ، نأتي باختصارات لتطبيقات Linux المثبتة إلى شريط مهام KDE Plasma.

إذا تطلب Ubuntu 20.04 منك تسجيل الخروج من حساب المستخدم الخاص بك من أجل تطبيق التغييرات على الإعدادات ، أو كنت بحاجة إلى إعادة تشغيل نظام التشغيل ، للقيام بذلك ، في Windows Terminal ، أدخل الأمر:

wsl -d Ubuntu20.04 --shutdown


مع الاختصار Plasma-desktop أو Konsole يمكنك تشغيل KDE Plasma Ubuntu 20.04 GUI. على سبيل المثال ، قم بالتثبيت باستخدام Konsole محرر رسومات GIMP:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
بعد اكتمال التثبيت ، قم بالتشغيل من Konsole محرر رسومات GIMP:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
يعمل برنامج GIMP ، وهو ما أردت التحقق منه.
وإليك كيفية عمل تطبيقات Linux المختلفة في KDE Plasma في WSL2:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
يوجد شريط مهام KDE Plasma المخصص على الجانب الأيمن من الشاشة. ويتم تشغيل الفيديو في نافذة Firefox بالصوت.

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 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:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
وفقًا لذلك ، يجب إدخال عنوان IP هذا في إعدادات الجلسة SSH и RDP قبل البدء.
هذا ما يبدو عليه الوصول عن بعد SSH باستخدام MobaXterm:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
وهذا ما يبدو عليه الوصول عن بعد RDP:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول

استخدام x server vcxsrv بدلاً من x410

الإطلاق والإعداد vcxsrv، قم بتعيين مربعات الاختيار المناسبة بعناية:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
حفظ التكوين الذي تم تكوينه في الدليل wslvcxsrv بالاسم القياسي config.xlaunch.

تحرير ملفات الخفافيش Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat حسب تعليماتهم.

بدء تشغيل الاختصار Plasma-desktopو هذا ما نحصل عليه:

نظام التشغيل Windows 10 + Linux. إعداد KDE Plasma GUI لـ Ubuntu 20.04 في WSL2. تجول
يقوم سطح مكتب KDE Plasma بإغلاق سطح مكتب Windows تمامًا ، للتبديل بين نوافذ تطبيقات Linux و windows ، نستخدم مجموعة المفاتيح المعروفة Alt+Tab، وهي ليست مريحة للغاية.
بالإضافة إلى ذلك ، تم الكشف عن ميزة غير سارة لخادم X vcxsrv - يتعطل عند تشغيل بعض التطبيقات ، ولا سيما نفس برنامج GIMP أو LibreOffice Writer. ربما يجب أن ننتظر حتى يقوم المطورون بإزالة "الأخطاء" الملحوظة ، لكن هذا غير مؤكد ... لذا ، للحصول على نتائج مقبولة ، من الأفضل استخدام X Server Microsoft x410.

اختتام

ومع ذلك ، يجب أن نشيد بـ Microsoft ، فقد تبين أن منتج WSL2 يعمل بشكل جيد ، وفي رأيي غير المتمرس ، كان ناجحًا للغاية. وبقدر ما أعرف ، يواصل المطورون "إنهاء" بشكل مكثف ، وربما - في غضون عام أو عامين ، سيظهر هذا النظام الفرعي بكامله الوظيفي.

المصدر: www.habr.com

إضافة تعليق