مايكروسافت در بهروزرسانيهاي اخير ويندوز ۱۰ قابليتي اضافه كرد كه به كمك آن ميتوانيد بدون نياز به هيچ ماشين مجازي واسطه، دستورها و اپليكيشنهاي لينوكس را روي ويندوز اجرا كنيد. اين قابليت كه WSL نام دارد و به Bash يا پوستهي لينوكس روي ويندوز نيز شهرت يافته است، راهكاري براي اجراي باينريهاي دستنخوردهي يك توسعهي لينوكس مانند اوبونتو است. با استفاده از اين راهكار، بهجاي كرنل لينوكس از كرنل ويندوز براي اجراي اوبونتو يا ساير توسعههاي لينوكس استفاده ميشود. WSL اين امكان را به شما ميدهد كه اپليكيشنها و دستورهاي لينوكس را بدون نياز به اجراي هيچگونه ماشين مجازي اجرا كنيد.
براي نصب پوستهي لينوكس روي ويندوز ۱۰ دو راه وجود دارد. يكي از طريق مايكروسافت استور كه آموزش آن را ميتوانيد از اينجا مطالعه كنيد و ديگري بدون نياز به استور كه ما در اين مطلب به آموزش آن ميپردازيم. نسخهي ويندوز ۱۰ مورد استفادهي ما در اين آموزش كريترز است كه از باينريهاي اوبونتو نسخهي ۱۶.۰۴.۲ استفاده ميكند.
اگر قصد اجراي WSL روي ويندوز ۱۰ داريد، ابتدا مطمئن شويد كه سيستم شما و ويندوز آن ۶۴ بيتي است. اگر واجد اين شرايط بوديد، در مرحلهي بعد بررسي كنيد كه ويندوز سيستم شما بهروز باشد. حال مطلوب اين است كه حداقل نسخهي ۱۷.۰۳ بهروزرساني كريترز روي سيستم نصب باشد. براي بررسي اين مورد به مسير زير برويد:
Settings->System->About
سپس به مسير زير برويد و طبق تصوير، حالت Developers (توسعهدهنده) را فعال كنيد:
Settings ->Update & Security ->For Developers
مرحلهي بعد رفتن به Windows Features است. براي پيدا كردن اين قسمت از باكس جستجوي موجود در منوي استارت استفاده كنيد. در پنجرهي بازشده گزينهي Windows Subsystem for Linux را كه همان WSL است تيكدار كنيد.
روي OK كليك كنيد و سيستم را ريستارت كنيد.
حالا، يك پنجرهي cmd باز كنيد. در ويندوز ۱۰ به آن Command Prompt Window ميگويند. پس ميتوانيد با جستجوي اين عبارت در سرچ باكس آن را پيدا كنيد يا مسير زير را طي كنيد:
Start->Windows System->Command Prompt
در پنجرهي بازشده دستور bash را وارد كنيد:
بهجاي اين كار ميتوانيد bash.exe را از منوي استارت جستجو كنيد. در واقع در اين مرحله اجزاي مورد نياز براي نصب پوستهي لينوكسي نصب شدهاند؛ اما خود پوسته هنوز نياز به نصب دارد.
در صفحهي ترمينال y را تايپ كنيد و اينتر بزنيد تا Bash دانلود و نصب شود.
در اين مرحله نياز به ساخت يك حساب كاربري UNIX داريد. الزامي وجود ندارد كه اين حساب، همان حساب كاربري ويندوز شما باشد. حساب كاربري دلخواه را وارد كنيد و اينتر بزنيد. توجه داشته باشيد كه اين نام كاربري هرچيزي جز admin ميتواند باشد.
ميتوانيد پنجرهي پيش رو را ببنديد. حالا نصب پايان يافته است و شما ميتوانيد ابزار بش را مانند هر اپليكيشن ديگر از منوي استارت اجرا كنيد.
حالا ميخواهيم اطمينان پيدا كنيم كه WSL به آخرين نسخه بهروزرساني شده باشد. اين دستورات را در ترمينال يا پنجرهي كنسول وارد كنيد:
sudo apt update
sudo apt upgrade
بعد از اتمام بهروزرساني، ميتوانيد با وارد كردن دستور زير بررسي كنيد كه چه نسخهاي از اوبونتو بهعنوان منبع باينريهاي لينوكس مورد استفاده قرار گرفته است:
lsb_release -a
با وارد كردن دستور زير در ترمينال ميتوانيد هر اپليكيشن لينوكسي را نصب كنيد. بهجاي application_name بايد نام نرمافزار مورد نظر تايپ شود:
sudo apt install
توجه داشته باشيد كه WSL هنوز در مرحلهي بتا يا آزمايشي قرار دارد و ممكن است همه چيز آنطور كه بايد، كار نكند.
براي اينكه برنامههايي كه به زبان C و ++C نوشته شدهاند با GCC به كمك WSL كمپايل كنيد، ميتوانيد آن را به كمك دستورات زير نصب كنيد:
sudo apt install build-essential
براي بررسي اينكه چه نسخهاي از ++g نصب شده است خط زير را وارد كنيد:
g++ -version
چنانچه به هر دليل تصميم به حذف WSL گرفتيد، دستور زير را در cmd ويندوز وارد كنيد:
lxrun/uninstall/full
توجه داشته باشيد كه اين كار هر آنچه در فايلسيستم لينوكس ذخيره كرده باشيد حذف ميكند.
اگر با پوستهي بش در لينوكس يا مك كار كرده باشيد، كار با آن براي شما ساده خواهد بود. اگر بهعنوان كاربر root از پوسته استفاده ميكنيد نيازي به وارد كردن sudo در ابتداي دستورها نخواهيد داشت. كاربر روت در پلتفرمهاي يونيكس حكم كاربر Administrator را در ويندوز دارد. فايلسيستم ويندوز شما در پوستهي بش در مسير mnt/c/ وجود خواهد داشت.
اگر تجربهي كار با دستورهاي ترمينال لينوكس داريد، ميتوانيد از همان دستورات در اينجا استفاده كنيد؛ اما اگر با سيستم DOS در ويندوز كار كردهايد، دستورها كمي متفاوت خواهند بود. در جدول زير مقايسهي تعدادي از دستورات پايه در لينوكس و داس را ميبينيد.
دستور | داس | لينوكس |
---|---|---|
تغيير دايركتوري | cd يا chdir | cd |
فهرست كردن محتويات دايركتوري | dir | ls |
انتقال يك فايل | move | mv |
كپي كردن يك فايل | copy | cp |
حذف كردن يك فايل | del يا erase | rm |
ساخت يك دايركتوري | mkdir | mkdir |
استفاده از يك ويرايشگر متن | edit | vi يا nano |
بر خلاف ويندوز، محيط بش به حروف كوچك و بزرگ حساس است؛ به اين معني كه براي بش، مثلا نام File.txt از file.txt متفاوت است. بنابراين، هنگام وارد كردن اسامي فايلها در دستورات به بزرگي و كوچكي حروف دقت كنيد.
ساير دستوراتي كه ممكن است در تعامل با اپليكيشنها به آنها نياز پيدا كنيد، به همراه كاربرد آنها در زير شاهد هستيد. كافي است در دستورات زير قسمت رنگي را با عبارت مورد نظر خود جايگزين كنيد.
كاركرد | دستور |
---|---|
نصب يك اپليكيشن | sudo apt-get install packagename |
حذف يك اپليكيشن | sudo apt-get remove packagename |
جستجوي يك اپليكيشن | sudo apt-cache search word |
دانلود و نصب بهروزرساني اپليكيشنهاي موجود | sudo apt-get upgrade |
بعد از نصب هر اپليكيشن، كافي است نام آن را در ترمينال بنويسيد و اينتر بزنيد تا اجرا شود.
براي تجربهي بهتر با شباهت بيشتر به اوبونتو، ميتوانيد فونت اوبونتو را نيز نصب و آن را در ترمينال فعال كنيد.
به اين منظور Ubunto Font Family را از وبسايت اوبونتو دانلود كنيد. فايل زيپ دانلودشده را باز كنيد و فايل UbuntuMono-R.ttf را پيدا كنيد. اين تنها فونتي است كه در ترمينال مورد استفاده قرار ميگيرد و لازم است فقط همين فونت را نصب كنيد.
بنابراين، روي UbuntuMono-R.ttf جفتكليك كنيد تا پيشنمايشي از آن را مشاهده كنيد. در قسمت بالاي پنجرهي بازشده روي Install كليك كنيد تا فونت در سيستم شما نصب شود.
براي فعال كردن فونت Ubunt monospace در كنسول، بايد تنظيماتي را به رجيستري ويندوز اضافه كنيد.
با گرفتن دكمهي ويندوز و فشردن R روي كيبورد و سپس تايپ كردن regedit وارد اديتور رجيستري شويد و كليد زير را پيدا كنيد:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionConsoleTrueTypeFont
در پنجرهي سمت راست كليك راست كنيد و يك String value جديد بسازيد و نام آن را 000 قرار دهيد.
روي استرينگ 000 جفتكليك كنيد و مقدار data را Ubunto Mono قرار دهيد.
حالا يك پنجرهي Bash باز و روي نوار بالاي آن كليك راست كنيد و Properties را انتخاب كنيد. سپس، به تب Font برويد و Ubunto Mono را در فهرست فونتها انتخاب كنيد.
به خاطر داشته باشيد، نرمافزاري كه از طريق پوستهي بش نصب ميشود به پوستهي بش محدود است؛ يعني نميتوانيد از طريق cmd يا پاورشل يا هرجاي ديگر در ويندوز به آن دسترسي داشته باشيد. همچنين نرمافزارهاي بش نميتوانند با نرمافزارهاي ويندوز تعامل مستقيم داشته باشند؛ هرچند محيط بش و ويندوز هر دو به تمام فايلهاي موجود در رايانه دسترسي دارند.