مقدمة
هذه المقالة مخصصة للفت انتباه مسؤولي النظام الذين يقومون بإعداد أماكن عمل نموذجية على أجهزة الكمبيوتر التي تعمل بنظام التشغيل 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
ونحصل على شيء مثل هذا:
من المهم أن يكون إصدار نظام التشغيل 1903 أو 1909 (يجب أن تكون إصدارات نظام التشغيل المحددة مع التحديث التراكمي KB4566116 مثبتًا) ، أو 2004 (رقم البنية لا يقل عن 19041) ، ولا يهم باقي المعلومات. إذا كان رقم الإصدار أقل من ذلك ، فمن المستحسن أن تقوم بالترقية إلى أحدث إصدار من Windows لإعادة إنتاج النتائج في هذه المقالة بشكل صحيح.
لتسهيل الإجراءات الإضافية ، قم بتثبيت Windows Terminal المجاني باستخدام Microsoft Store (هناك أيضًا إمكانية التنزيل من مصادر أخرى):
نقوم بتثبيت X Server X410 من خلال نفس متجر Microsoft ، يتم دفع هذا البرنامج ، ولكن هناك فترة مجانية مدتها 15 يومًا ، وهي كافية للاختبارات المختلفة.
كبديل مجاني لـ X410
في أي مكان مناسب على القرص ، نقوم بإنشاء دليل نخزن فيه ملفاتنا. كمثال ، لنقم بإنشاء دليل C:wsl
.
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 وفقًا لـ
إذا لزم الأمر،
نقوم بتشغيل Windows Terminal وحدد وضع موجه الأوامر بالضغط على المفاتيح Ctrl+Shift+2
.
بادئ ذي بدء ، قمنا بتعيين وضع تشغيل WSL2 ، لذلك أدخل الأمر:
wsl --set-default-version 2
غيّر إلى دليل أداة تحميل التشغيل المستقل Ubuntu 20.04 ، في حالتي هذا هو wslUbuntu-20.04
وتشغيل الملف ubuntu2004.exe
. عندما يُطلب منك اسم مستخدم ، أدخل اسم المستخدم engineer
(يمكنك إدخال أي اسم آخر) ، أدخل كلمة المرور الخاصة بك وقم بتأكيد كلمة المرور التي تم إدخالها للحساب المحدد:
تظهر مطالبة طرفية ، تم تثبيت Ubuntu 20.04 kernel. دعنا نتحقق من صحة إعدادات وضع WSL2 ، لهذا ، في Windows Terminal ، حدد علامة التبويب Windows PowerShell وأدخل الأمر:
wsl -l -v
يجب أن تكون نتيجة الإعدام على النحو التالي:
نقوم بتكوين جدار حماية Microsoft Defender ، أي قم بتعطيله للشبكة العامة:
إعداد نظام التشغيل 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
أضف أحدث إصدار من سطح مكتب كيدي بلازما:
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
، انظر لقطة الشاشة:
تحرير ملف تكوين 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
على النحو التالي:
بدء تشغيل سطح المكتب كيدي بلازما
نتحقق من اكتمال جميع الخطوات التحضيرية ، نحاول تشغيل الاختصار Plasma-desktop
. يظهر طلب كلمة المرور ، أدخل كلمة المرور للحساب و ... تُغلق النافذة. لا بأس في المرة الأولى. نحاول مرة أخرى - ونرى شريط مهام KDE Plasma المألوف. نقوم بتخصيص مظهر شريط المهام ، في المثال ، لسهولة الاستخدام ، يتم نقل اللوحة إلى الجانب الأيمن من الشاشة وتوسيطها. نتحقق من إعدادات الترجمة ، إذا لزم الأمر ، أضف اللغة الروسية:
إذا لزم الأمر ، نأتي باختصارات لتطبيقات Linux المثبتة إلى شريط مهام KDE Plasma.
إذا تطلب Ubuntu 20.04 منك تسجيل الخروج من حساب المستخدم الخاص بك من أجل تطبيق التغييرات على الإعدادات ، أو كنت بحاجة إلى إعادة تشغيل نظام التشغيل ، للقيام بذلك ، في Windows Terminal ، أدخل الأمر:
wsl -d Ubuntu20.04 --shutdown
مع الاختصار Plasma-desktop
أو Konsole
يمكنك تشغيل KDE Plasma Ubuntu 20.04 GUI. على سبيل المثال ، قم بالتثبيت باستخدام Konsole
محرر رسومات GIMP:
بعد اكتمال التثبيت ، قم بالتشغيل من Konsole
محرر رسومات GIMP:
يعمل برنامج GIMP ، وهو ما أردت التحقق منه.
وإليك كيفية عمل تطبيقات Linux المختلفة في KDE Plasma في WSL2:
يوجد شريط مهام KDE Plasma المخصص على الجانب الأيمن من الشاشة. ويتم تشغيل الفيديو في نافذة Firefox بالصوت.
إذا لزم الأمر ، يمكنك تكوين الوصول إلى 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
:
وفقًا لذلك ، يجب إدخال عنوان IP هذا في إعدادات الجلسة SSH
и RDP
قبل البدء.
هذا ما يبدو عليه الوصول عن بعد SSH
باستخدام MobaXterm:
وهذا ما يبدو عليه الوصول عن بعد RDP
:
استخدام x server vcxsrv بدلاً من x410
الإطلاق والإعداد vcxsrv
، قم بتعيين مربعات الاختيار المناسبة بعناية:
حفظ التكوين الذي تم تكوينه في الدليل wslvcxsrv
بالاسم القياسي config.xlaunch
.
تحرير ملفات الخفافيش Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
حسب تعليماتهم.
بدء تشغيل الاختصار Plasma-desktop
و هذا ما نحصل عليه:
يقوم سطح مكتب KDE Plasma بإغلاق سطح مكتب Windows تمامًا ، للتبديل بين نوافذ تطبيقات Linux و windows ، نستخدم مجموعة المفاتيح المعروفة Alt+Tab
، وهي ليست مريحة للغاية.
بالإضافة إلى ذلك ، تم الكشف عن ميزة غير سارة لخادم X vcxsrv
- يتعطل عند تشغيل بعض التطبيقات ، ولا سيما نفس برنامج GIMP أو LibreOffice Writer. ربما يجب أن ننتظر حتى يقوم المطورون بإزالة "الأخطاء" الملحوظة ، لكن هذا غير مؤكد ... لذا ، للحصول على نتائج مقبولة ، من الأفضل استخدام X Server Microsoft x410.
اختتام
ومع ذلك ، يجب أن نشيد بـ Microsoft ، فقد تبين أن منتج WSL2 يعمل بشكل جيد ، وفي رأيي غير المتمرس ، كان ناجحًا للغاية. وبقدر ما أعرف ، يواصل المطورون "إنهاء" بشكل مكثف ، وربما - في غضون عام أو عامين ، سيظهر هذا النظام الفرعي بكامله الوظيفي.
المصدر: www.habr.com