ভূমিকা (না পড়লেও চলবে):
একটা অপারেটিং সিস্টেম হিসেবে উইন্ডোজ যথেষ্ট ইউজার ফ্রেন্ডলি একটা সিস্টেম। আবার ডেভেলপমেন্ট রিলেটেড অনেক কিছু আবার লিনাক্স বেইজড। এর সমাধান হিসেবে অনেকে উইন্ডোজের ভেতর ভার্চুয়াল মেশিনের মাধ্যমে লিনাক্স রান করত। আবার অনেকে ডুয়েল বুট করে লিনাক্স ব্যবহার করত। এতে মেশিন রিস্টার্ট দিলে লিনাক্স সিস্টেমে ঢুকতে হত।
উইন্ডোজ দারুণ একটা কাজ করেছে। উইন্ডোজের মধ্য থেকেই যেন লিনাক্স সিস্টেমে কাজ করা যায়, তার জন্য নিয়ে এসেছে উইন্ডোজ সাব সিস্টেম ফর লিনাক্স। এমনকি এই লিনাক্স সিস্টেম ইন্সটল এবং ব্যবহারও অনেক সহজ করেছে।
আমি ম্যাক ইউজার। উইন্ডোজ ব্যবহার করার দরকার পড়ত না যদি ম্যাকে আমি NVDIA গ্রাফিক্স কার্ড ব্যবহার করতে পারতাম। টুকটাক মেশিন লার্নিং নিয়ে কাজ করি। তার জন্যই মূলত NVIDIA গ্রাফিক্স কার্ড দরকার পড়ে। উইন্ডোজে অথবা ম্যাকেও মেশিন লার্নিং রিলেটেড কাজ করা যায়। তবে কিছু কিছু লাইব্রেরি শুধু মাত্র লিনাক্স সাপোর্ট করে। এই জন্য লিনাক্স সিস্টেমও লাগে।
প্রথমে ডুয়াল বুট করে উবুন্টু ইন্সটল করলাম। এনভারনমেন্ট সেটআপ কিছুদূর এগুনোর পর ভাবলাম WSL ট্রাই করে দেখি। প্রথম দিকে কিছু কনফিউশন থাকলেও পরে দেখলাম WSL আসলেই দারুণ জিনিস। যার মাধম্যে উইন্ডোজের ভেতরই একাধিক লিনাক্স ডিস্ট্রো ইন্সটল করে নেওয়া যাবে। এবং জিনিসটা খুব ফাস্ট এবং সবচেয়ে বড় কথা হচ্ছে সহজ।
উবুন্টু ব্যবহার করার কারণ হচ্ছে মেমরি। কম্পিউটার মেমরি নয়। শুরুর দিকে উবুন্টু ওয়েব সাইটে কেউ যদি রিকোয়েস্ট করত উবুন্টু সিডির জন্য, সেই অ্যামেরিকা থেকে সিডি পাঠিয়ে দিত। ফ্রি। ২০০৯/২০১০ এর দিকে সেই সিডি ব্যবহার করে প্রথম উইন্ডোজের বাহিরে অন্য আরেকটা অপারেটিং সিস্টেম ব্যবহার করি। আর তা হচ্ছে উবুন্টু। সেই মেমরি থেকে এখনো কখনো লিনাক্স ইন্সটল করলে উবুন্টুই ইন্সটল করি।
WSL থেকে যা আশা করতে পারি
WSL ব্যবহার করে কোন লিনাক্স ড্রিস্ট্রো ইন্সটল করার পর আমরা একটা সিস্টেম পাবো, যার বেশির ভাগ কাজ করতে হবে টার্মিনাল বা কমান্ডলাইন ব্যবহার করে। একটা অপারেটিং সিস্টেম অনেক বিশাল। যার মধ্যে অনেক দরকারি, অদরকারি সফটওয়ার দিয়ে পরিপূর্ণ থাকে। গ্রাফিকাল ইন্টারফেস যুক্ত অনেক সফটওয়ার থাকে। যার বেশির ভাগই আমরা ব্যবহার করি না। আমরা জানি বেশির ভাগ সার্ভার লিনাক্স বেইজড। এই সার্ভারে মূলত একটা লিনাক্স ডিস্ট্রোর কোর সিস্টেম থাকে। এরপর দরকার মত আমরা বিভিন্ন অ্যাপলিকেশন ইন্সটল করে নেই। WSL ও একই জিনিস হিসেবে ভাবতে পারেন। এখানে আপনাকে কোর লিনাক্স সিস্টেম দিবে। এরপর প্রয়োজন মত সব ইন্সটল করে নিবেন। এমনকি গ্রাফিকাল ইন্টারফেস যুক্ত সফটওয়ারও ইন্সটল করতে পারবেন।
উইন্ডোজে WSL ইন্সটল
WSL উইন্ডজে ইন্সটল এবং এক্টিভ করতে কমান্ডলাইনে গিয়ে নিচের কমান্ড লিখুনঃ
wsl --install
এরপর কম্পিউটার রিস্টার্ট করুন। WSL রেডি হয়ে যাবে। এরপর আমরা যে কোন লিনাক্স ডিস্ট্রো উইন্ডোজের ভেতর ব্যবহার করতে পারব।
লিনাক্স ডিস্ট্রিবিউশন ইন্সটল
WSL এ আমরা যে কোন লিনাক্স ডিস্ট্রিবিউশন ইন্সটল করতে পারব। তার জন্য নিচের কমান্ড রান করতে হবে শুধুঃ
wsl install -d Ubuntu
এখানে উদারহণ হিসেবে আমি উবুন্টু ব্যবহার করছি। আপনি যে কোন সিস্টেম ইন্সটল করতে পারবেন। আমরা চাইলে ভার্সনও উল্লেখ করে দিতে পারব।
wsl --install -d Ubuntu-24.10
অথবা মাইক্রোসফট স্টোর থেকেও ইন্সটল করে নেওয়া যাবেঃ
বলেছিলাম যে এটা শুধু কোর সিস্টেম ইন্সটল করবে। তাই খুব দ্রুত ইন্সটল হবে। ইন্সটল করার পর আমরা অ্যাপ হিসেবে এই লিনাক্স ডিস্ট্রো ওপেন করতে পারব। ওপেন করলে একটা টার্মিনাল ওপেন হবে শুধু।
এটাই উবুন্টু। বিশ্বাস করেন। হতাশ হওয়ার দরকার নাই। 😀 এই টার্মিনাল ব্যবহার করে আমরা যে কোন কিছু ইন্সটল করে নিতে পারব। এমনকি গ্রাফিকাল যে কোন অ্যাপও। যদিও সবাই মূলত এই টার্মিনাল এবং কোর সিস্টেমের জন্যই ব্যবহার করে। এরপরও কিউরিসিটি থাকতে পারে অনেকের। যেমন যদি ফায়ারফক্স ইন্সটল করতে চাই, তার জন্য লিখবঃ
sudo apt update
sudo apt install firefox
এরপর শুধু firefox কমান্ড লিখলেই ফায়ারফক্স ওপেন হবে।
firefox
এই ফায়ারফক্স রান হচ্ছে উবুন্টু থেকে। ইন্টারেস্টিং না?
আমরা বেশির ভাগ ক্ষেত্রে WSL ব্যবহার করব প্রোগ্রামিং এর ক্ষেত্রে। তা দেখি কিভাবে করা যায়।
WSL প্রজেক্ট ভিজ্যুয়াল স্টুডিও কোডে অপেন করা
ধরে নিচ্ছি আপনার উইন্ডোজ সিস্টেমে ভিজ্যুয়াল স্টুডিও কোড ইন্সটল করা রয়েছে। আমরা WSL এর যে কোন প্রজেক্ট ভিজ্যুয়াল স্টুডিও কোডে ওপেন করতে পারব রিমোট ফোল্ডার হিসেবে। যদি কোন প্রজেক্ট নাও থাকে, তাহলে নতুন প্রজেক্ট তৈরি করতে পারব।
কমান্ড লাইন থেকে নির্দিষ্ট ফোল্ডারে ন্যাভিগেট করার পর code . কমান্ড রান করলে ঐ নির্দিষ্ট ফোল্ডার ভিজ্যুয়াল স্টুডিওতে ওপেন হবে।
code .
ভিজ্যুয়াল স্টুডিও কোড থেকে WSL ডিস্ট্রো থেকে প্রজেক্ট ওপেনঃ
VS Code এ WSL এক্সটেনশনটা ইন্সটল করতে পারেন। এতে সহজে WSL প্রজেক্ট কানেক্ট করতে পারবেন। এরপর ভিজ্যুয়াল স্টুডিও কোড থেকে সরাসরি যে কোন WSL প্রজেক্ট ওপেন করতে পারব। তার জন্য ভিজ্যুয়াল স্টুডিও কোড থেকে CTRL+SHIFT+P কমান্ড প্রেস করে কমান্ড প্যালেট ওপেন করব। এখান থেকে যে কোন WSL ডিস্ট্রো কানেক্ট করতে পারব।
WSL লিখলে WSL রিলেটেড কমান্ড গুলো দেখতে পাবো। এখান থেকে WSL: Connect to WSL using Distro...
সিলেক্ট করে একটা ডিস্ট্রো সিলেক্ট করতে পারব।
এরপর Open Folder অপশন থেকে WSL এর ভেতর থাকা যে কোন প্রজেক্ট সিলেক্ট করতে পারব।
কিছু গুরুত্বপূর্ণ কমান্ড এবং টিপ্স
পাওয়ার শেল থেকে wsl
কমান্ড রান করলেই ডিফল্ট ডিস্ট্রো রান হবে। আমরা চাইলে ড্রপ ডাউন থেকেও অপেন করতে পারবঃ
যে কোন একটা ডিস্ট্রোকে ডিফল্ট ভাবে সেট করাঃ
wsl --set-default <DistributionName>
পাওয়ারশেল থেকে স্পেসিফিক কোন ডিস্ট্রো ওপেন করতেঃ
wsl --distribution Ubuntu
একটা ডিস্ট্রো এর আন্ডারে একাধিক ইউজার থাকলেঃ
wsl --distribution <DistributionName> --user <User Name>
ইন্সটল থাকা সব গুলো ডিস্ট্রিবিউশনঃ
wsl --list
ডিস্ট্রো শাটডাউন
wsl --shutdown
যা সব গুলো রানিং ডিস্ট্রো শাটডাউন করবে। সিংগেল একটা ডিস্ট্রো টার্মিনেট করতে চাইলেঃ
wsl --terminate <Distribution Name>
আনইন্সটল এ ডিস্ট্রো
wsl --unregister <DistributionName>
ডিস্ট্রো আপডেটঃ
wsl --update
উইন্ডোজ ফাইল এক্সফ্লোরার ব্যবহার করে ফাইল ব্রাউজঃ
explorer.exe .
WSL ডিস্ট্রোর ভেতর অনান্য অ্যাপ ইন্সটল
এর আগে দেখেছি কিভাবে ফায়ারফক্স ইন্সটল করা যায়। আপনি চাইলে যে কোন কিছুই ইন্সটল করতে পারবেন। যেমন আমি ট্রাই করেছি ফাইল এক্সফ্লোরার। অনেক ফাইল এক্সফ্লোরার রয়েছে লিনাক্সের জন্য। যেমন Nautilus, Thunar, Dolphin, ইত্যাদি। যদি Nautilus ইন্সটল করতে চাইঃ
sudo apt install nautilus
এরপর nautilus কমান্ড লিখলেই Nautilus ফাইল এক্সফ্লোরার ওপেন হবে। আবার উইন্ডোজের এপলিকেশন লিস্টেও দেখা যাবে। যদিও উইন্ডোজ এক্সফ্লোরার ব্যবহার করেই আমরা লিনাক্স ডিস্ট্রোর ফাইল ব্রাউজ করতে পারব। উদাহরণ হিসেবে দেখালাম যে সব কিছুই করা যাবে।