اگر بخواهید ویندوز و لینوکس را روی یک کامپیوتر داشته باشید، دیگر الزاماً لازم نیست بین نصب دوگانه و ماشین مجازی یکی را انتخاب کنید. Windows Subsystem for Linux یا WSL به شما اجازه میدهد یک توزیع لینوکس را در کنار ویندوز اجرا کنید و بدون راهاندازی مجدد سیستم از ابزارهای لینوکس استفاده کنید. در WSL 2 نیز هسته واقعی لینوکس در یک محیط مجازیسازیشده و سبک اجرا میشود.
WSL چیست و چه تفاوتی با نصب دوگانه لینوکس دارد؟
در روش Dual Boot، ویندوز و لینوکس روی یک کامپیوتر نصب میشوند اما هنگام روشن شدن سیستم باید یکی از آنها را انتخاب کنید. اگر وسط کار به برنامه یا محیط سیستمعامل دیگر نیاز داشته باشید، باید سیستم را ریاستارت کنید.
ماشین مجازی این مشکل را برطرف میکند، اما برای اجرای یک سیستمعامل کامل در کنار ویندوز به منابع بیشتری نیاز دارد. WSL برای همین سناریو طراحی شده است و امکان اجرای محیط لینوکس و ابزارهای آن را مستقیماً در ویندوز فراهم میکند.
در WSL میتوانید توزیعهایی مانند Ubuntu و Debian را نصب کنید و به ابزارهای خط فرمان لینوکس دسترسی داشته باشید. فایلهای لینوکس نیز در محیط مخصوص همان توزیع نگهداری میشوند و امکان دسترسی متقابل بین فایلهای ویندوز و لینوکس وجود دارد.
تفاوت مهم WSL 2 با WSL قدیمی این است که WSL 2 از هسته واقعی لینوکس استفاده میکند و معماری آن بر پایه یک ماشین مجازی سبک است. این روش در مقایسه با یک ماشین مجازی کامل، یکپارچگی بیشتری با ویندوز دارد و برای اجرای ابزارهای توسعه لینوکس مناسبتر است.
چرا WSL برای اجرای لینوکس در ویندوز کاربردی است؟
مهمترین مزیت WSL این است که لازم نیست برای استفاده از لینوکس محیط ویندوز را ترک کنید. به عنوان مثال میتوانید همزمان یک پروژه را در ویندوز ویرایش کنید و دستورات یا ابزارهای لینوکسی موردنیاز آن را در محیط WSL اجرا کنید.
این موضوع برای برنامهنویسی اهمیت بیشتری دارد. بسیاری از ابزارهای توسعه و سرورهای وب بر پایه محیط لینوکس طراحی شدهاند و WSL امکان استفاده از چنین ابزارهایی را بدون نصب کامل لینوکس فراهم میکند. مستندات مایکروسافت نیز WSL را بهطور ویژه برای اجرای ابزارها و محیطهای توسعه لینوکس در ویندوز معرفی میکند.
یکی دیگر از قابلیتهای مفید WSL، ارتباط دوطرفه میان ویندوز و لینوکس است. میتوانید فایلهای لینوکس را از File Explorer ویندوز مشاهده کنید و از داخل محیط لینوکس نیز به فایلهای ویندوز دسترسی داشته باشید. همچنین امکان اجرای فایلهای اجرایی ویندوز از محیط لینوکس و اجرای دستورات لینوکس از ویندوز وجود دارد.
به همین دلیل WSL بیشتر از اینکه یک سیستمعامل جداگانه باشد، یک پل بین محیط ویندوز و لینوکس است. برای کارهای توسعه، اسکریپتنویسی و استفاده از ابزارهای خط فرمان لینوکس این یکپارچگی میتواند بسیار کاربردی باشد.
چگونه WSL را در ویندوز ۱۱ نصب کنیم؟
در نسخههای جدید ویندوز، نصب WSL نسبتاً ساده شده است. مایکروسافت استفاده از دستور wsl --install را برای نصب توصیه میکند. این دستور اجزای موردنیاز WSL و Virtual Machine Platform را فعال میکند و در حالت پیشفرض توزیع Ubuntu را نیز نصب میکند.
ابتدا PowerShell را با دسترسی Administrator اجرا کنید.
منوی استارت → PowerShell → Run as administrator
سپس دستور زیر را وارد کنید:
wsl --install
پس از پایان نصب ممکن است لازم باشد ویندوز را ریاستارت کنید. بعد از راهاندازی مجدد، مراحل راهاندازی توزیع لینوکس ادامه پیدا میکند و باید نام کاربری و رمز عبور لینوکس خود را تعیین کنید.
اگر به توزیع دیگری نیاز داشته باشید، WSL فقط به Ubuntu محدود نیست و امکان نصب توزیعهایی مانند Debian و Kali نیز وجود دارد.
آیا با WSL میتوان برنامههای گرافیکی لینوکس را اجرا کرد؟
بله. WSL 2 علاوه بر ابزارهای خط فرمان، از اجرای برخی برنامههای گرافیکی لینوکس نیز پشتیبانی میکند. این قابلیت از طریق محیط یکپارچه WSLg فراهم میشود و برنامههای گرافیکی لینوکس میتوانند در کنار برنامههای معمول ویندوز اجرا شوند.
برای اجرای برنامههای گرافیکی لینوکس، سیستم باید شرایط لازم برای WSL 2 را داشته باشد و درایور مناسب پردازنده گرافیکی نیز نصب شده باشد. مایکروسافت برای پردازندههای گرافیکی Intel و AMD و NVIDIA پشتیبانی لازم را مستند کرده است.
برنامههای لینوکس در این حالت میتوانند در منوی استارت ویندوز نیز ظاهر شوند و حتی امکان جابهجایی بین برنامههای ویندوز و لینوکس با Alt + Tab وجود دارد. البته WSL جایگزین یک دسکتاپ کامل لینوکس نیست و برای اجرای محیط گرافیکی کامل یک توزیع لینوکس طراحی نشده است.
دسترسی به فایلهای ویندوز و لینوکس در WSL چگونه است؟
یکی از ویژگیهایی که هنگام کار روزمره بیشتر به چشم میآید، دسترسی متقابل فایلها است. در محیط لینوکس میتوانید به درایوهای ویندوز دسترسی داشته باشید و فایلهای لینوکس نیز از طریق File Explorer قابل مشاهده هستند.
برای مشاهده فایلهای WSL در File Explorer میتوانید در نوار آدرس عبارت زیر را وارد کنید:
\wsl$
سپس توزیعهای نصبشده را مشاهده خواهید کرد. در محیط لینوکس نیز درایوهای ویندوز معمولاً از مسیر /mnt در دسترس هستند.
این قابلیت باعث میشود برای بسیاری از کارها نیازی به انتقال دستی فایل بین دو محیط نداشته باشید. با این حال، برای پروژههای لینوکسی بهتر است ساختار فایلها و محل ذخیره پروژه را با توجه به نوع کار انتخاب کنید تا عملکرد فایلسیستم به شکل مطلوب باقی بماند.
اجرای همزمان دستورات ویندوز و لینوکس با WSL
WSL فقط امکان دسترسی به فایلها را فراهم نمیکند و ارتباط دستوری بین دو محیط نیز وجود دارد. میتوانید از داخل محیط لینوکس فایلهای اجرایی ویندوز را اجرا کنید و از داخل ویندوز نیز دستورات لینوکس را با wsl اجرا کنید.
به عنوان مثال، اجرای دستور ping ویندوز از محیط لینوکس با پسوند exe امکانپذیر است:
ping.exe google.com
در طرف مقابل، میتوانید یک دستور لینوکس را از PowerShell یا Command Prompt با wsl اجرا کنید:
wsl ping google.com
این ارتباط دوطرفه یکی از دلایلی است که WSL را برای محیطهای توسعه ترکیبی ویندوز و لینوکس کاربردی میکند.
WSL برای چه کسانی مناسبتر است؟
اگر فقط قصد دارید لینوکس را بهعنوان یک سیستمعامل کامل تجربه کنید، نصب مستقیم لینوکس یا استفاده از ماشین مجازی ممکن است سناریوی متفاوتی برای شما باشد. اما اگر ویندوز سیستمعامل اصلی شماست و فقط به ابزارها و محیط لینوکس نیاز دارید، WSL راهکار یکپارچهتری ارائه میکند.
WSL بهخصوص برای برنامهنویسان و افرادی که با Bash و ابزارهای توسعه لینوکس کار میکنند مفید است. میتوانید محیط ویندوز را حفظ کنید و همزمان ابزارهایی مانند Bash و بستههای لینوکسی را در کنار برنامههای ویندوز اجرا کنید.
در مجموع، WSL باعث شده استفاده از لینوکس در ویندوز دیگر الزاماً به معنی نصب یک سیستمعامل دوم یا اجرای یک ماشین مجازی کامل نباشد. با WSL 2 میتوان یک محیط لینوکس کاربردی را در کنار ویندوز داشت و در بسیاری از سناریوهای توسعه، فایلها و ابزارهای هر دو محیط را به شکل یکپارچه به کار گرفت.
سادهگو