খুব দিন ধরে আমি Ubuntu-তে GNOME-এর মতো পূর্ণ ডেস্কটপ এনভায়রনমেন্ট ব্যবহার করতাম। সেগুলো দেখতে পলিশড, নতুনদের জন্য বান্ধব, এবং সব কিছু আউট-অফ-দি-বক্স কাজ করে। কিন্তু যেহেতু আমার দিনের অধিকাংশ সময় টার্মিনালের ভিতরে কাটে, আমি বুঝতে পারলাম আমি উইন্ডো সরানোর চেয়ে বাস্তব কাজে কম সময় দিচ্ছি। তখন আমি i3 উইন্ডো ম্যানেজারে (একটি প্রোগ্রাম যা স্ক্রিনে উইন্ডো কীভাবে সাজাবে তা নিয়ন্ত্রণ করে) স্যুইচ করলাম, এবং আমার প্রোডাক্টিভিটি আকাশ ছুঁয়ে দিয়েছে। আমি তখন থেকে পেছনে মুড়ে দেখিনি।
Table of Contents
কেন আমি i3 উইন্ডো ম্যানেজার পছন্দ করি
পূর্ণ ডেস্কটপ এনভায়রনমেন্টের বিপরীতে, i3 শুধু একটি উইন্ডো ম্যানেজার। কোনো ভারী গ্রাফিক্যাল লেয়ার নেই, কোনো অনাবশ্যক ব্যাকগ্রাউন্ড সার্ভিস নেই, এবং কোনো ভিজ্যুয়াল ক্লাটার নেই। পরিবর্তে আপনি পাবেন একদম ক্লিন স্ক্রিন, লজিক্যাল উইন্ডো টাইলিং, পূর্ণ কীবোর্ড কন্ট্রোল, এবং একটি সাদা টেক্সট কনফিগারেশন ফাইল। উদাহরণস্বরূপ, যখন আমি দুটি টার্মিনাল খুলি, সেগুলো স্বয়ংক্রিয়ভাবে স্ক্রিন ভাগ করে একে অপরের ওপর চাপা না দিয়ে স্মার্ট, নন-ওভারল্যাপিং টাইলসে সাজায়।
GNOME-এর মতো ডেস্কটপ এনভায়রনমেন্ট সুবিধা ও ভিজ্যুয়াল আপিলের জন্য চমৎকার হলেও, আমি এমন কিছু চেয়েছিলাম যা আমাকে দ্রুত ও কম ডিস্ট্রাকশনে কাজ করতে দেবে। i3wm পছন্দ করার কিছু মূল কারণ নিচে দেওয়া হলো:
সব কিছু কীবোর্ড-চালিত
যদি আপনি কীবোর্ড শর্টকাটের সাথে পরিচিত হন (বিশেষ করে Vim ব্যবহার করলে), i3 আপনাকে বাসার মতো লাগবে। মাউস প্রায় কখনো লাগে না। অর্থাৎ একবার কী-বাইন্ডিং শিখলে আপনি ডেস্কটপ নেভিগেট করতে, অ্যাপ্লিকেশন খোলা-বন্ধ করতে, এবং উইন্ডো ম্যানেজ করতে পারবেন কীবোর্ড থেকে হাত তুলে না দিয়ে।
আরো, কী-বাইন্ডিং, কালার, স্টার্টআপ প্রোগ্রাম, স্ট্যাটাস বার, এবং আরও সব কিছু একটি অত্যন্ত পঠনীয়, সাদা টেক্সট কনফিগারেশন ফাইলে কনফিগার করা হয়।
ওয়ার্কস্পেসের মধ্যে দ্রুত স্যুইচিং
i3wm ওয়ার্কস্পেস ম্যানেজমেন্ট আমার পছন্দের একটি ফিচার। এর মাধ্যমে আমি একাধিক ওয়ার্কস্পেস (ডিফল্ট ১০টি) তৈরি করতে পারি এবং সিম্পল কী কোম্বিনেশন যেমন Mod+1, Mod+2, Mod+3 দিয়ে খুব দ্রুত স্যুইচ করতে পারি। কোনো অ্যানিমেশন ডিলে নেই, কোনো কম্পোজিটর-জেনিত ল্যাগ নেই, শুধু তাৎক্ষণিক কনটেক্স্ট স্যুইচিং।
i3wm অত্যন্ত লাইটওয়েট
i3wm অবিশ্বাস্য লাইটওয়েট এবং খুব কম সিস্টেম রিসোর্স খরচ করে। আধুনিক কম্পিউটারগুলোতে 충분 RAM থাকে, তবুও লাইটওয়েট উইন্ডো ম্যানেজার ব্যবহার করলে পারফরম্যান্সে লক্ষণীয় পার্থক্য আসে, বিশেষ করে পুরনো হার্ডওয়্যার বা রিসোর্স-ইনটেনসিভ অ্যাপ্লিকেশন চালানোর সময়।
সঠিক সংখ্যা বলা কঠিন কারণ মেমরি ইউজ কনফিগারেশন ও চলমান অ্যাপ্লিকেশনের ওপর নির্ভর করে। i3 উইন্ডো ম্যানেজার নিজে খুব কম মেমরি ব্যবহার করে, কিন্তু Xorg এবং বেসিক ইউটিলিটিসহ একটি সাধারণ মিনিমাল সেশন সাধারণত ১০০ থেকে ৩০০ MB RAM ব্যবহার করে। এটি আধুনিক ডেস্কটপ এনভায়রনমেন্টের চেয়ে ক 한참 কম, যারা আইডেল অবস্থাতেও সহজেই ১ GB-এর বেশি মেমরি ব্যবহার করে।
i3wm-এর টাইলিং আপনার জন্য অর্থপূর্ণ
উইন্ডোগুলো একে অপরের ওপর ফ্লোট করার বদলে, i3wm সেগুলো স্বয়ংক্রিয়ভাবে গ্রিডে সাজায়, নিশ্চিত করে কোনো স্ক্রিন স্পেস বর্জিত হয় না। এর ফলে আমি একাধিক উইন্ডো একই সাথে দৃশ্যমান ও অ্যাক্সেসযোগ্য রাখতে পারি, ম্যানুয়ালি রিসাইজ বা রি-অ্যারেঞ্জ করার দরকার ছাড়া।
যার কাছে সাধারণত টেক্সট এডিটর, টার্মিনাল, এবং ব্রাউজার একসাথে খোলা থাকে, তার জন্য এটি অমূল্য। আমি Alt+Tab দিয়ে উইন্ডোর ঝুঁকে ব্লাইন্ডলি সাইকেল না করেই তিনটিই একসাথে দেখতে পারি।
নোট: i3wm একটি টাইলিং উইন্ডো ম্যানেজার হলেও, Linux-এ আরও অনেক চমৎকার টাইলিং উইন্ডো ম্যানেজার রয়েছে, যেগুলোর নিজস্ব ইউনিক ফিচার ও কনফিগারেশন অপশন রয়েছে।
i3wm ইনস্টলেশন ও সেটআপ
Ubuntu-তে i3wm ইনস্টল করা খুব সহজ, কারণ এটি অফিশিয়াল রিপোজিটরিতে উপলব্ধ। অন্যান্য ডিস্ট্রোর জন্য আপনার প্যাকেজ ম্যানেজার বা সফ্টওয়্যার সেন্টারে i3wm পাওয়া যাবে।
প্রথমে প্যাকেজ লিস্ট আপডেট করুন:
sudo apt update
তারপর i3 ইনস্টল করুন:
sudo apt install i3
Software Center-এ i3 সার্চ করেও পেতে পারেন।
ইনস্টলেশনের সময় ডিসপ্লে ম্যানেজার বেছে নেওয়ার জন্য বলা হলে, ডিফল্টটি (Ubuntu-বেজড সিস্টেমে সাধারণত GDM) বেছে নেওয়াই সুরক্ষিত। এই প্রক্রিয়া i3, i3status (স্ট্যাটাস বারের জন্য), এবং i3lock (স্ক্রিন লকের জন্য) ইনস্টল করে একটি বেসিক সেটআপ দেয়।
আরও, এক্সটেন্ডেড প্যাকেজ ম্যানুয়ালি ইনস্টল করতে পারেন:
sudo apt install i3-wm i3status i3lock dmenu
ইনস্টলেশন শেষে বর্তমান Ubuntu সেশন থেকে লগ আউট করুন। লগইন স্ক্রিনে ছোট গিয়ার আইকনে (সাধারণত নিচের ডান কোণে বা পাসওয়ার্ড বক্সের পাশে) ক্লিক করুন। ডেস্কটপ অপশন থেকে i3 সিলেক্ট করুন এবং সাধারণভাবে লগইন করুন।
প্রথমবার i3 লঞ্চ করলে এটি ডিফল্ট কনফিগ ফাইল জেনারেট করার জন্য জিজ্ঞাসা করবে। Accept করুন। তারপর Mod কী বেছে নেওয়ার জন্য বলবে: উইন্ডোজ কী অথবা Alt। Mod কী হলো যা সাধারণ টাইপিং থেকে i3 কমান্ডকে আলাদা করে, তাই যা আরামদায়ক লাগে সেটি বেছে নিন। আমি টার্মিনাল শর্টকাটের সাথে কনফ্লিক্ট এড়াতে উইন্ডোজ কী ব্যবহার করি।
i3wm ব্যবহার
i3wm ইনস্টল ও রান হলে, i3 ব্যবহার করে আমরা যেসব বেসিক টাস্ক পারফর্ম করতে পারি সেগুলো দেখি:
হটকি দিয়ে নেভিগেশন
i3wm-এ প্রায় সব কিছু হটকি দিয়ে হ্যান্ডেল করা হয়। অনেক প্রিডিফাইনড হটকি রয়েছে, কিন্তু আপনি সেগুলো পরিবর্তন করে নিজের পছন্দমতও বানাতে পারেন। কিন্তু কিছু করার আগে, বেসিক হটকিগুলো জানা জরুরি।
আপনি টার্মিনালের সাথে বেশি কাজ করবেন। Mod কী + Enter দিয়ে একটি খুলুন। বারবার Mod+Enter চাপালে i3-এর ডিফল্ট স্ক্রিন ভাগ করার প্যাটার্ন বুঝতে পারবেন।
এটা তখনই কাজের নয় যখন একসাথে অনেক থাকে। সেগুলো রি-পজিশন করুন। ডিফল্টভাবে Mod+h (বামে), Mod+j (নিচে), Mod+k (উপরে), Mod+l (ডানে) দিয়ে নেভিগেট করতে পারেন। এটি Vim ব্যবহারকারীদের কাছে পরিচিত কিন্তু কিছুটা ভিন্ন। আপনি আসল Vim বাইন্ডিং-এও পরিবর্তন করতে পারেন।
উইন্ডো সরাতে চাইলে ডায়রেকশনাল হটকিতে Shift যোগ করুন। নিচে সরাতে: Mod+Shift+j।
পছন্দমতো Сп্লিট করতে চাইলে টার্গেট উইন্ডোতে Mod+h (হরিজন্টাল স্প্লিট) এবং Mod+v (ভার্টিক্যাল স্প্লিট) ব্যবহার করুন। উইন্ডো বন্ধ করতে: Mod+Shift+q।
i3wm-এ উইন্ডো ম্যানিপুলেশন
i3wm ফ্লোটিং উইন্ডোও অনুমতি দেয়। কিছু উইন্ডো (যেমন GIMP টুলবার) স্বয়ংক্রিয়ভাবে ফ্লোট করে খুলে, কিন্তু আপনি যেকোনো উইন্ডো ফ্লোট করতে পারেন। Mod+Shift+Space দিয়ে সিলেক্টেড উইন্ডোর জন্য ফ্লোটিং ও টাইল্ড মোডের মধ্যে টগল করুন।
Mod+f দিয়ে উইন্ডো ফুলস্ক্রিন করতে পারেন। আবার চাপলে নরমাল হবে।
i3wm-এ প্রোগ্রাম খোলা
i3wm-এ প্রোগ্রাম খোলার জন্য লঞ্চার ব্যবহার করুন। ডিফল্ট লঞ্চার হলো dmenu, কিন্তু rofi এর মতো অন্যদেরও ব্যবহার করা যায়।
এই লঞ্চারগুলো আপনার প্রোগ্রামের জন্য সার্চের মতো কাজ করে। চাওয়া প্রোগ্রামের নাম লিখে Enter চাপুন। প্রোগ্রামটি লঞ্চ হবে। লঞ্চার আপনার সবচেয়ে বেশি ব্যবহৃত প্রোগ্রামগুলো ট্র্যাক করে এবং খোলার সময় লিস্টে দেখায়। টাইপ না করেও সেখান থেকে সিলেক্ট করা যায়।
লঞ্চার হটকি: Mod+d।
i3wm বেসিক কনফিগারেশন
i3wm-এ অবিশ্বাস্য পরিমাণ কনফিগারেশন করা যায়, তাই এখানে শুধু বেসিক কভার করা হলো। এখানে কিছু সাধারণ জিনিস দেওয়া হলো যা আপনি করতে চাইতে পারেন।
ফার্স্ট রানে ডিফল্ট কনফিগারেশন তৈরি হলে সেটি "~/.config/i3/" ডিরেক্টরিতে থাকে।
mkdir -p ~/.config/i3
cp /etc/i3/config ~/.config/i3/config
রঙ পরিবর্তন করা সহজ। i3wm CSS-র মতো hex ভ্যালু ব্যবহার করে। কিছু ক্লাস রয়েছে যাদের বর্ডার, ব্যাকগ্রাউন্ড, টেক্সট, ইন্ডিকেটর ভ্যালু থাকে। আপনি টেবিলে সাজিয়ে পছন্দের কালার ভ্যালু দিতে পারেন।
class border backgr. text indicator client.focused #1e1e1e #1e1e1e #151515 #AA0000 client.focused_inactive client.unfocused client.urgent client.placeholder client.background #454545
i3wm কনফিগারেশনে bindsym নতুন হটকি তৈরি করে। exec প্রোগ্রাম লঞ্চ করে। এগুলো জড়িয়ে আপনি সবচেয়ে ज्यादा ব্যবহৃত প্রোগ্রাম লঞ্চ করার জন্য নিজের হটকি বানাতে পারেন, লঞ্চার ছাড়া। উদাহরণ:
bindsym $mod+Shift+w exec firefox
স্টার্টআপে অ্যাপ্লিকেশন চালাতে পারেন। শুধু exec ব্যবহার করুন।
exec firefox
স্ট্যাটাস বার কাস্টমাইজেশন
স্ট্যাটাস বার আপনার ডেস্কটপের সবচেয়ে গুরুত্বপূর্ণ অংশ। এটি ওয়ার্কস্পেসের পাশাপাশি খুব সারாவital তথ্য দেখায়। i3wm-এ স্ট্যাটাস বারের জন্য অপরিমিত অপশন রয়েছে।
কনফিগারেশন ফাইলের নিচে bar নামক একটি ব্লক থাকবে। স্ট্যাটাস বারের সব কিছু সেখানে থাকবে।
প্রথমে status_command পাবেন। এতে স্ট্যাটাস বার সিলেক্ট করুন। ডিফল্ট i3status, কিন্তু i3blocks, lemonbar, polybar-এর মতো অন্যদেরও ব্যবহার করা যায়। সবার নিজস্ব সুবিধা-অসুবিধা রয়েছে।
এখান থেকে বার পজিশনও পরিবর্তন করা যায়।
position top
এখানেও আলাদা কালার ব্লক তৈরি করতে পারেন যা অন্যান্য কালার কনফিগারেশনের মতো ব্যবহার করা যায়।
colors { #class #border #bg #txt focused_workspace #454565 #252525 #1E1E1E active_workspace inactive_workspace urgent_workspace binding_mode background #151515 }
i3 আপনার জন্য উপযুক্ত কি?
i3 শক্তিশালী, কিন্তু সার্বগুণসম্পন্ন নয়। যদি আপনি ট্র্যাডিশনাল পয়েন্ট-এন্ড-ক্লিক ডেস্কটপ এনভায়রনমেন্টের অভ্যস্ত হন, তবে শুরুতে অভিজ্ঞতা overwhelme করতে পারে। কোনো গ্রাফিক্যাল সেটিংস প্যানেল নেই, অধিকাংশ কনফিগারেশন ম্যানুয়ালি সাদা টেক্সট ফাইলে করতে হয়। i3-এ ডেস্কটপ আইকন, ড্র্যাগ-এন্ড-ড্রপ উইন্ডো প্লেসমেন্ট, বা বিল্ট-ইন গ্রাফিক্যাল সেটিংস ম্যানেজার নেই। ভিজ্যুয়াল অর্গানাইজেশনের ওপর নির্ভরশীল ব্যবহারকারীদের জন্য এই মিনিমালিস্ট আপρόচ সীমাবদ্ধ মনে হতে পারে।
একটি গুরুত্বপূর্ণ সীমাবদ্ধতা হলো i3 শুধু X11-এ কাজ করে, Wayland সাপোর্ট করে না।
গেমারদের জন্য i3 কাজ করতে পারে, কিন্তু কিছু অ্যাডিশনাল সেটআপ লাগতে পারে। উদাহরণস্বরূপ, ফুলস্ক্রিন গেম X11-এ সাধারণত ভালো চলে, কিন্তু i3-এ বিল্ট-ইন কম্পোজিটর নেই, ফলে স্ক্রিন টিয়ারিং হতে পারে যদি ম্যানুয়ালি কম্পোজিটর কনফিগার না করা হয়। তাই যদি গেমিং প্রায়োরিটি হয়, তবে বিল্ট-ইন ডিসপ্লে ম্যানেজমেন্ট ও Wayland সাপোর্টসহ পূর্ণ ডেস্কটপ এনভায়রনমেন্ট বেশি সুবিধাজনক হতে পারে দীর্ঘমেয়াদে।