ترفند های wsl
در نوشته قبلی طریقه نصب wsl در ویندوز 10 آموزش داده شد. اگر با wsl کمی کار کرده باشید متوجه بعضی از محدودیت هایش میشوید. به طور مثال اگر سرویس Tor را استارت کنید، بعد از بستن bash متوجه میشوید که سرویس هم استاپ میشود. یا به طور مثال سرویس های apache2 و mysql که به صورت autostart میباشند موقع ورود به ویندوز فعال نمی شوند!
در این نوشته رفع محدودیت های wsl و همچنین استفاده از $PATH
در %PATH%
یا همان cmd آموزش داده خواهد شد.
دسترسی به فایل های wsl
فایل های wsl در شاخه زیر قرار دارد و تاکیید شده به هیچ عنوان توسط نرم افزار های ویندوز فایل ها را ویرایش نکنید!
%USERPROFILE%\AppData\Local\lxss\
دسترسی سریع به bash
Open in Terminal در راست کلیک
یکی از راحت ترین راه برای دسترسی به bash امکان Open in Terminal در منو راست کلیک می باشد. این امکان در اکثر دسکتاپ های گنو/لینوکس دیده میشود. برای اضافه کردن این امکان فایل رجیستر را از اینجا دانلود کرده و Merge نمائید.
از طریق Explorer
برای دسترسی به bash از Explorer کافیست در adress bar کلمه bash
را تایپ نمایید.
از طریق cmd
برای دسترسی به bash از cmd بعد از اجرای آن دستور bash
را تایپ نمایید.
همچنین اگر بخواهید بطور مستقیم از cmd دستور bash اجرا نمایید میتوانید مانند کد زیر دسترسی نمائیید.
C:\Users\arshe>bash -c "echo $USER"
arsh
همیشه اجرا کردن wsl در background task
اگر بتوانیم یک tty از bash را در زمان ورود به ویندوز به صورت اتوماتیک اجرا کنیم و در پس زمینه قرار دهیم مشکل غیر فعال شدن سرویس ها در پس زمینه موقع بستن bash و همچنین سرویس های autostart حل می شود.
بدین منظور قبلا کد بَشی نوشتیم تا شما بتوانید به صورت remote خیلی آسان این امکان را فراهم کنید. برای این کار کد زیر را در bash تایپ نمایید.
curl -s http://cdn.arshen.ir/fixwsl/1.0.0/fixwsl.sh | sudo bash
استفاده از بسته های bash در cmd
شما میتوانید از بسته هایی که در bash نصب کرده اید در %PATH%
ویندوز استفاده نمایید. به طور مثال شما git
را در bash نصب میکنید که حجمی تقریبا 200KB دارد (در ویندوز حدود 3MB میباشد) و از طریق cmd استفاده کنید. در حالت معمول همچین امکانی قرار داده نشده است.
برای این کار ابتدا فولدری را با نام دلخواه (مثال w2w) ایجاد کنید و آن را از طریق Edit environment variables for your account در %PATH%
قرار دهید. سپس باید برای هر بسته فایل .bat
با نام همان دستور ایجاد کنید و در w2w قرار دهید. برای مثال برای php, java, javac, git و دستور ll فایل bat ایجاد کرده ایم و شما میتوانید از اینجا آن ها را دریافت نمایید و در فولدر w2w قرار دهید.
ساختار فایل php.bat
@echo off
set v_params=%*
set v_params=%v_params:\=/%
set v_params=%v_params:c:=/mnt/c%
set v_params=%v_params:"=\"%
@bash -c "php %v_params%"
در پایان امیدوارم با استفاده از این ترفند ها طعم شیرین bash اوبونتو را در ویندوز 10 احساس کنید.