- يقوم WSL2 بدمج توزيعات Linux الحقيقية في Windows، مع دعم كامل للنواة ودعم كامل لمكالمات النظام.
- يتم تبسيط عملية التثبيت باستخدام الأمر wsl --install، الذي يقوم بتمكين المكونات وتثبيت نواة النظام وتكوين Ubuntu بشكل افتراضي.
- يتيح الجمع بين WSL2 وWindows Terminal وVS Code بيئة تطوير متطابقة تقريبًا مع بيئة الإنتاج.
- يعمل WSL2 على تحسين استخدام Docker وقواعد البيانات وأدوات Linux بشكل كبير، مع الحفاظ على راحة سطح مكتب Windows.
إذا كنت تبرمج على ويندوز وتنشر على خوادم لينكس، فمن المرجح أنك واجهتَ صعوباتٍ أكثر من مرة مع اختلافات البيئة، أو المكتبات التي لا تتعطل إلا في الإنتاج، أو تشغيل Docker بشكل غير منتظم. صُممت WSL خصيصًا لتجنب هذا الكابوس، ومع WSL2 لقد نجحت مايكروسوفت أخيرا في الوصول إلى الهدف: نظام Linux شبه أصلي، مدمج في Windows وبدون الحاجة إلى إعداد جهاز افتراضي ثقيل.
هذا هو الخيار المفضل لآلاف المطورين، إذ يتيح لك فتح نافذة طرفية لأوبونتو أو ديبيان أو كالي داخل نظامي التشغيل ويندوز 10 أو 11، وتشغيل الأوامر، ودوكر، وقواعد البيانات، وأدوات سطر الأوامر كما لو كنت على خادم لينكس، دون التخلي عن تطبيقات وألعاب ويندوز. لنرَ كيف يعمل، وكيفية تثبيته، وكيف يختلف عن WSL1، وكيف تستفيد منه إلى أقصى حد في عملك اليومي.
ما هو WSL ولماذا يغير حياة مطور Windows؟
وسل هو اختصار ل النظام الفرعي ويندوز لينكسالنظام الفرعي الذي يُمكّنك من تشغيل توزيعات جنو/لينكس داخل ويندوز دون الحاجة إلى جهاز افتراضي تقليدي أو إقلاع مزدوج. يمكنك تثبيت أوبونتو، أو ديبيان، أو كالي، أو أوبن سوزي، أو آرتش (باستخدام appx)، أو توزيعات أخرى، واستخدام أدوات وحدة التحكم الخاصة بها مباشرةً من سطح مكتب ويندوز.
على عكس WSL1، WSL2 إنه يستخدم نواة لينكس حقيقية يعمل هذا النظام على جهاز افتراضي خفيف الوزن يُدار بواسطة Windows (Hyper-V ومنصة الجهاز الافتراضي)، مع دعم كامل لمكالمات نظام ELF64. كانت WSL1 طبقة ترجمة نظام، سريعة لمهام معينة، ولكن مع قيود كبيرة على التوافق، خاصةً مع أدوات مثل Docker.
بالنسبة لمطوري الويب ومطوري الواجهة الخلفية أو DevOps أو المتخصصين في البيانات، فهذا يعني أنه يمكنك العمل في بيئة متطابقة تقريبًا مع بيئة الإنتاج (وهو في أغلب الأحيان لينكس)، باستخدام نفس المكتبات، ومديري قواعد البيانات، وقوائم الانتظار، وخوادم المراسلة، وما إلى ذلك، دون التخلي عن ويندوز. أصبح مبدأ "يعمل على جهازي" التقليدي شيئًا من الماضي، لأنك تُطوّر على ويندوز وتُنشر على توزيعة لينكس مختلفة تمامًا.
WSL2 ليس سطح مكتب رسومي كامل لنظام Linux على غرار الآلات الافتراضية GNOME أو KDE، الواجهة الأساسية هي الطرفية. ومع ذلك، يمكنك اليوم أيضًا تشغيل تطبيقات واجهة المستخدم الرسومية (GUI) لنظام Linux على WSL2، بل ويمكنك أيضًا الاستفادة من تسريع وحدة معالجة الرسومات (GPU) لأحمال العمل مثل التعلم الآلي أو الرسومات المتقدمة. إذا كنت بحاجة إلى الوصول إلى التطبيقات عن بُعد، يمكنك تكوين سطح المكتب البعيد من Chrome على نظام التشغيل Windows.
Windows مقابل Linux: مشكلة بيئة التطوير الكلاسيكية
يظل Windows هو نظام التشغيل الأكثر تثبيتًا على أجهزة الكمبيوتر المكتبيةعلى الرغم من أن معظم عمليات نشر تطبيقات الإنتاج تتم على Linux، إلا أن هذه الثنائية خلقت دائمًا صدامًا للمطورين الذين يعملون في Windows ولكنهم يقومون بصيانة التطبيقات أو نشرها على خوادم Linux.
لقد واجه مستخدمو نظام التشغيل macOS تقليديًا احتكاكًا أقل لأن نظام macOS يشترك في أساس مشابه لنظام يونكس، والعديد من أدواته تعمل بشكل مشابه لنظام لينكس. كان هذا أحد أسباب انتقال العديد من المطورين إلى ماك منذ سنوات: كانوا يبحثون عن محطة طرفية جيدة وبيئات أقرب إلى بيئة الإنتاج.
لقد جاءت نقطة التحول الكبيرة مع عامل في حوض السفنأصبحت الحاويات ضرورية للتطوير والنشر، ولكن على نظام ويندوز، كان الأداء وتجربة المستخدم ضعيفين للغاية، مع طبقات توافق غير فعّالة. يحل WSL2 العديد من هذه المشاكل، ويوفر بيئة عمل Docker أفضل بكثير.
WSL1 مقابل WSL2: الاختلافات ولماذا يجب عليك استخدام الإصدار 2
يوجد WSL في نسختين رئيسيتين: WSL1 و WSL2على الرغم من أن كلاهما يسمح لك بتشغيل Linux على Windows، إلا أن البنية تغيرت كثيرًا من أحدهما إلى الآخر، وهذا واضح في الأداء والتوافق.
- WSL1 يترجم نداءات نظام Linux إلى نواة ويندوز. هذا يُنتج أوقات تشغيل سريعة جدًا وتكاملًا جيدًا للملفات، إلا أن توافقه مع بعض التطبيقات، وخاصةً تلك التي تتطلب نواة لينكس حقيقية، مثل بعض محركات قواعد البيانات أو Docker الذي يعمل بكامل طاقته.
- يستخدم WSL2 جهازًا افتراضيًا خفيف الوزن مع نواة Linux كاملة.مُدار بواسطة Windows. يوفر توافقًا كاملاً مع استدعاءات النظام، وأداءً مُحسّنًا لنظام الملفات (خاصةً على نظام ملفات Linux نفسه)، ويُمكّن ميزات متقدمة مثل Docker الأصلي على WSL2 والوصول المباشر إلى النواة.
- تتشارك كلا الإصدارين بعض الميزاتتشمل مزاياه التكامل مع ويندوز، وسرعة الإقلاع، والتوافق مع أدوات المحاكاة الافتراضية مثل VMWare أو VirtualBox (في الإصدارات الحديثة)، ودعم توزيعات متعددة. مع ذلك، يتميز WSL2 فقط بنواة لينكس كاملة ودعم كامل لنداءات النظام.
كل ما ورداعلاه، الخيار الموصى به اليوم هو استخدام WSL2إلا إذا كان لديك سببٌ واضحٌ للاستمرار في استخدام WSL1. على سبيل المثال، صُمم Docker Desktop للتكامل مع WSL2، والعديد من الأدلة والأدوات الحديثة تُعد هذا الإصدار معيارًا.

متطلبات تثبيت WSL2 على Windows 10 وWindows 11
لاستخدام WSL2، تحتاج إلى إصدار حديث نسبيًا من Windows. بشكل عام، يجب استيفاء الشروط التالية:
- Windows 10 الإصدار 2004 أو أحدث (الإصدار 19041+) لاستخدام الأمر المبسّط
wsl --install. - بالنسبة لـ WSL2 على وجه التحديد، Windows 10 الإصدار 1903، الإصدار 18362 أو أعلىأو Windows 11.
- بنية 64 بتWSL2 غير متوفر على نظام التشغيل Windows 10 ذي 32 بت.
وبالإضافة إلى ذلك، يجب التأكد من تمكين المحاكاة الافتراضية في BIOS فريقك. إذا لم يكن كذلك، فقد تواجه أخطاء مثل 0x80370102عادةً ما تشير هذه الرسائل إلى أن المحاكاة الافتراضية للأجهزة غير نشطة. ادخل إلى BIOS/UEFI، وابحث عن الخيارات المتعلقة بوحدة المعالجة المركزية (CPU) أو "تقنية المحاكاة الافتراضية"، ثم فعّلها.
قم بتثبيت WSL2 من البداية باستخدام الأمر wsl –install
في الإصدارات الحديثة من Windows 10 وWindows 11، تم تبسيط عملية التثبيت إلى حد كبير: فهي تتطلب أمرًا واحدًا فقط وإعادة التشغيل.
1. افتح PowerShell كمسؤولابحث عن "PowerShell" في قائمة "ابدأ"، وانقر بزر الماوس الأيمن، ثم حدد "تشغيل كمسؤول". اقبل مطالبة "التحكم في حساب المستخدم" (UAC) إذا ظهرت.
2. قم بتشغيل أمر التثبيت الكامل:
قيادة: wsl --install
يتعامل هذا الأمر مع العديد من الخطوات الداخلية دون الحاجة إلى لمس أي شيء آخر:
- تفعيل المكونات الاختيارية الضرورية: نظام Windows الفرعي لنظام Linux y منصة الآلة الافتراضية.
- قم بتنزيل وتثبيت ملف أحدث نواة لينكس ل WSL.
- بتكوين WSL2 كإصدار افتراضي.
- قم بتنزيل وتثبيت توزيع Linux الافتراضي (عادةً أوبونتو).
3. أعد تشغيل الكمبيوتر عندما يطالبك Windows بذلك.يعد هذا أمرًا ضروريًا لكي تصبح الميزات الممكّنة حديثًا جاهزة للتشغيل.
4. عند التشغيل الأول لتوزيعة Linux (أوبونتو، إلا إذا حددت خلاف ذلك)، ستُفتح نافذة وحدة تحكم تُستخرج منها الملفات. تستغرق المرة الأولى وقتًا أطول قليلاً؛ أما عمليات التشغيل اللاحقة فعادةً ما تكون فورية تقريبًا.
اختيار وتغيير توزيع Linux في WSL
- بشكل افتراضي، الأمر
wsl --installيقوم عادةً بتثبيت Ubuntu كتوزيع افتراضي. مع ذلك، يمكنك اختيار توزيع مختلف أثناء التثبيت وبعده. - لرؤية قائمة التوزيعات المتوفرة عبر الإنترنتافتح PowerShell واكتب:
- قائمة:
wsl.exe --list --online - لتثبيت توزيع معين من وحدة التحكم، استخدم الخيار
-dيشير إلى اسمك: - تثبيت التوزيع:
wsl.exe --install -d NombreDeLaDistro - إذا كنت تريد تغيير التوزيع الافتراضي (الذي يفتح عندما تقوم بالركض ببساطة
wsl), يمكنك القيام بما يلي: - تقصير:
wsl.exe --set-default NombreDeLaDistro - وإذا كنت تريد فقط إطلاق توزيع محدد على أساس لمرة واحدة بدون تغيير الإعداد الافتراضي، استخدم:
- الإطلاق في الوقت المحدد:
wsl.exe --distribution NombreDeLaDistro
بالإضافة إلى توزيعات Microsoft Store، من الممكن استيراد توزيعات مخصصة من ملف TAR أو تثبيت الحزم .appx في بعض الحالاتمثل Arch Linux. يمكنك أيضًا إنشاء صور WSL مخصصة لتوحيد بيئات العمل داخل الشركة.

قم بتكوين اسم المستخدم وكلمة المرور لنظام Linux الخاص بك في WSL
في المرة الأولى التي تفتح فيها توزيعة Linux الخاصة بك المثبتة باستخدام WSLسيُطلب منك إنشاء اسم مستخدم وكلمة مرور UNIX. سيكون هذا الحساب هو المستخدم الافتراضي لهذا التوزيع.
ضع في اعتبارك العديد من التفاصيل المهمة حول هذا المستخدم:
- إنه غير مرتبط بحساب مستخدم Windows الخاص بك.يمكنك (ومن المستحسن) جعل الاسم مختلفًا.
- عند كتابة كلمة المرور، لن يتم عرض أي شيء على الشاشة. (بدون علامات نجمية). يُعرف هذا باسم الإدخال "الأعمى"، وهو أمر طبيعي تمامًا في لينكس.
- يعتبر هذا المستخدم مسؤولاً عن هذا التوزيع ويمكن استخدامها
sudoلتنفيذ الأوامر بامتيازات مرتفعة. - كل توزيع لديه مجموعة خاصة به من المستخدمين وكلمات المرور؛ إذا قمت بإضافة توزيع جديد، فسيتعين عليك تكرار عملية إنشاء الحساب.
إذا كنت تريد تغيير كلمة المرور بعد ذلك، افتح التوزيعة وقم بتشغيل: غير كلمة السر: passwd
إذا نسيت كلمة مرور المستخدم للتوزيع ولكن إذا كنت لا تزال تتمتع بحق الوصول كمسؤول في نظام التشغيل Windows، فيمكنك استعادة التحكم بهذه الطريقة:
- افتح موجه الأوامر أو PowerShell كمسؤول وتسجيل الدخول كجذر على التوزيع الافتراضي:
wsl -u root
لتوزيعة محددة:
wsl -d NombreDistro -u root - داخل محطة الجذر تلك، يركض:
passwd nombre_usuarioوتعيين كلمة المرور الجديدة. - تسجيل الخروج من WSL مع
exitوتسجيل الدخول مرة أخرى بشكل طبيعي باستخدام حساب المستخدم المسترد.
طرق تشغيل توزيعات Linux واستخدامها على Windows
بمجرد تثبيت العديد من توزيعات النظام لديكيمكنك فتحها بطرق مختلفة، اعتمادًا على ما هو الأكثر ملاءمة لك في أي وقت.
- محطة Windows الطرفية (الموصى بها). Windows Terminal هو مُحاكي الطرفية الحديث من مايكروسوفت. في كل مرة تُثبّت فيها توزيعة لينكس جديدة في WSL، يظهر ملف تعريف جديد في Windows Terminal، يُمكنك تخصيصه (أيقونة، نظام ألوان، أمر بدء تشغيل، إلخ). إنها الطريقة الأنسب للعمل مع أسطر أوامر متعددة في آنٍ واحد.
- من قائمة ابدأ. يمكنك كتابة اسم التوزيعة (أوبونتو، ديبيان، كالي لينكس...). بالنقر عليها، ستُفتح مباشرةً في نافذة وحدة التحكم الخاصة بها.
- من PowerShell أو CMD. يمكنك كتابة اسم التوزيعة مباشرةً (على سبيل المثال،
ubuntu) أو استخدم الأمر العام:
wslللدخول إلى التوزيع الافتراضي، أو
wsl -d NombreDistroلإدخال واحد محدد. - تنفيذ أمر Linux محدد من Windows. استخدم بناء الجملة:
wsl
على سبيل المثال:wsl ls -la,wsl pwd,wsl dateإلخ. بهذه الطريقة يمكنك مزج أوامر Windows وLinux في نفس خط الأنابيب.

Windows Terminal: الرفيق المثالي لـ WSL2
للحصول على أقصى استفادة من WSL2، يجدر بك تثبيت نوافذ الطرفية من متجر Microsoft. إنه أكثر ملاءمة وقوة من موجه الأوامر الكلاسيكي أو حتى نافذة PowerShell الافتراضية.
يسمح لك Windows Terminal بما يلي: إنشاء ملفات تعريف لكل توزيعقم بتحديد المحطة الطرفية التي تفتح بشكل افتراضي (PowerShell، أو CMD، أو Ubuntu، وما إلى ذلك)، واستخدم علامات التبويب، والألواح المقسمة، وموضوعات الألوان المختلفة، والخطوط المخصصة، وصور الخلفية، واختصارات لوحة المفاتيح المتقدمة.
بالنسبة للعديد من المطورين على WindowsWindows Terminal + WSL2 هو المزيج الأقرب إلى تجربة العمل الخاصة بنظام Linux الأصلي أو macOS مع محطة طرفية متقدمة، دون مغادرة بيئة Windows المعتادة لديك.
إعداد بيئة التطوير الخاصة بك: VS Code، وVisual Studio، وGit، وقواعد البيانات
بمجرد تشغيل WSL2، فإن الخطوة المنطقية التالية هي دمج محرر البرامج أو IDE المفضل لديك مع هذه البيئة. لقد بذلت Microsoft الكثير من الجهد لجعل Visual Studio Code وVisual Studio يعملان بشكل مثالي مع WSL.
قانون VS
من الناحية المثالية، يجب عليك تثبيت حزمة التطوير عن بعديتيح لك هذا الامتداد فتح مجلد موجود في WSL كما لو كان مشروعًا محليًا، ولكن مع تشغيل خادم VS Code ضمن التوزيعة. اكتب:
code .
من محطة WSL، في مجلد المشروع الخاص بك، سيفتح VS Code هذا المسار "البعيد" مع نظامه البيئي بأكمله: الإضافات، وتصحيح الأخطاء، والمحطة المتكاملة، وما إلى ذلك، ولكن في الواقع يعمل ضد Linux.
البصرية ستوديو
يتيح لك إعداد WSL كهدف لمشاريع C++ باستخدام CMake. يمكنك التجميع والتصحيح على Windows أو WSL أو الأجهزة البعيدة، مع تبديل الهدف من داخل بيئة التطوير المتكاملة نفسها.
فيما يتعلق بالتحكم في الإصدار، فإن استخدام Git داخل WSL بسيط مثل تثبيته باستخدام مدير الحزم الخاص بالتوزيع الخاص بك (على سبيل المثال، sudo apt install git (على Ubuntu) وتكوين بيانات الاعتماد وملفات الاستبعاد ونهايات الأسطر وما إلى ذلك. يمكنك أيضًا استخدام Windows Credential Manager لدمج المصادقة.
تكوين قواعد البيانات في WSL (MySQL، PostgreSQL، MongoDB، Redis، SQL Server، SQLite، إلخ) يشبه إلى حد كبير استخدامه على أي خادم لينكس. يمكنك تشغيل الخدمات داخل التوزيعة أو استخدام حاويات Docker على WSL2، ثم ربط تطبيقاتك من Windows أو من WSL نفسه، حسب احتياجاتك.
إدارة محركات الأقراص الخارجية وواجهة المستخدم الرسومية والنسخ الاحتياطية للتوزيعات
يسمح WSL2 أيضًا تثبيت الأقراص الخارجية أو محركات أقراص USB مباشرةً في بيئة لينكس. توجد وثائق خاصة لتركيب الأقراص باستخدام الأمر wsl --mountوهذا يمنحك قدرًا كبيرًا من المرونة عند العمل بالبيانات الموجودة في وحدات أخرى.
إذا كنت تريد تشغيل تطبيقات لينكس الرسومية أصبح استخدام واجهة المستخدم الرسومية (GUI) ضمن WSL2 ممكنًا بفضل دعم مايكروسوفت لتطبيقات واجهة المستخدم الرسومية. يتيح لك هذا فتح محررات رسومية، وأدوات تصميم، وبيئات سطح مكتب خفيفة الوزن دون الحاجة إلى تشغيل جهاز افتراضي تقليدي.
إلى النسخ الاحتياطية أو نقل توزيع كامل إلى جهاز كمبيوتر آخريتضمن WSL أمرين مفيدين للغاية:
- تصدير توزيع:
wsl --export NombreDistro backup-wsl.tar
يؤدي هذا إلى إنشاء ملف TAR مع نظام الملفات بأكمله. - استيراد توزيع:
wsl --import NombreDistro C:\ruta\destino backup-wsl.tar --version 2
يؤدي هذا إلى استعادة هذا التوزيع بكل محتوياته إلى مسار آخر، وإذا أردت، يضمن استخدامه لـ WSL2.
تعد آلية التصدير/الاستيراد هذه ملائمة للغاية لاستنساخ بيئات التطوير ومشاركتها مع الزملاء أو ببساطة الاحتفاظ بنسخة احتياطية أمنية قبل إجراء تغييرات كبيرة.
لقد أثبتت WSL2 نفسها كبيئة التطوير الأساسية بالنسبة للعديد من مستخدمي Windows الذين لا يريدون التخلي عن الألعاب أو استخدام برامج محددة أو سير عملهم على هذا النظام، ولكنهم يحتاجون إلى بيئة Linux حقيقية للبرمجة، فإن تجربة WSL2 يمكن أن تغير قواعد اللعبة في كيفية عملك.
محرر متخصص في قضايا التكنولوجيا والإنترنت بخبرة تزيد عن عشر سنوات في الوسائط الرقمية المختلفة. لقد عملت كمحرر ومنشئ محتوى لشركات التجارة الإلكترونية والاتصالات والتسويق عبر الإنترنت وشركات الإعلان. لقد كتبت أيضًا في مواقع الاقتصاد والمالية والقطاعات الأخرى. عملي هو أيضا شغفي. الآن من خلال مقالاتي في Tecnobits، أحاول استكشاف كل الأخبار والفرص الجديدة التي يقدمها لنا عالم التكنولوجيا كل يوم لتحسين حياتنا.
