টার্মিনাল হল একটি অ্যাপ্লিকেশন যা অনেক ডেভেলপার কখনই বন্ধ করে না, এবং এমুলেটরগুলির মধ্যে পার্থক্যগুলি তাদের চেহারার চেয়ে বড়। স্টার্টআপের সময়, ভারী আউটপুটের অধীনে পারফরম্যান্স রেন্ডারিং, কনফিগারেশন পদ্ধতি এবং বিল্ট-ইন মাল্টিপ্লেক্সিং সবই দৈনন্দিন অভিজ্ঞতা পরিবর্তন করে। আমরা এই প্রতিটি সপ্তাহের জন্য প্রাথমিক টার্মিনাল হিসাবে ব্যবহার করেছি।
📋 Table of Contents
- দ্রুত রায়
- প্রতিটি টার্মিনাল ম্যাকওএস এবং লিনাক্স জুড়ে প্রতিদিনের ড্রাইভার হিসাবে ব্যবহৃত হত। আমরা কোল্ড স্টার্ট টাইম পরিমাপ করেছি, একটি বড় লগ ফাইল স্ট্রিম করার সময় স্ক্রোল করার পারফরম্যান্স, একটি পূর্ণ-রঙের TUI অ্যাপ্লিকেশনের রেন্ডারিং, ফন্ট লিগ্যাচার হ্যান্ডলিং, এবং একটি আরামদায়ক সেটআপে পৌঁছানোর জন্য কতটা কনফিগারেশন প্রয়োজন ছিল। আমরা পুরো কার্যদিবসে খোলা বেশ কয়েকটি ট্যাব দিয়ে মেমরির ব্যবহার পরীক্ষা করেছি।
- ঘোস্টির ডিজাইন লক্ষ্য বৈশিষ্ট্যগুলি সংগ্রহ করার পরিবর্তে দ্রুত এবং নেটিভ হওয়া এবং এটি উভয় ক্ষেত্রেই সফল হয়। এটি প্রতিটি অপারেটিং সিস্টেমে প্ল্যাটফর্ম-নেটিভ UI ব্যবহার করে, তাই এটি ক্রস-প্ল্যাটফর্ম টুলকিটের সর্বনিম্ন-সাধারণ-ডিনোমিনেটর অনুভূতির পরিবর্তে ম্যাকস-এ একটি ম্যাক অ্যাপ্লিকেশন এবং লিনাক্সে একটি GTK অ্যাপ্লিকেশনের মতো আচরণ করে।
- আপনি যখন টার্মিনাল নিজেই আরও কিছু করতে চান তখন WezTerm হল পছন্দ৷ এটিতে মাল্টিপ্লেক্সিং অন্তর্ভুক্ত রয়েছে — প্যান, ট্যাব এবং স্থায়ী সেশন — tmux প্রয়োজন ছাড়াই, এবং এটি তার নিজস্ব প্রোটোকলের সাথে দূরবর্তী হোস্টের সাথে সংযোগ করতে পারে যা সরল SSH থেকে সংযোগ বিচ্ছিন্ন হওয়া থেকে বাঁচে।
- অ্যালাক্রিটি একটি ইচ্ছাকৃত পছন্দ করেছে: একটি কাজ করুন, এটি অত্যন্ত দ্রুত করুন এবং বৈশিষ্ট্যের অনুরোধগুলি প্রত্যাখ্যান করুন যা আপস করে। কোন ট্যাব এবং কোন বিভাজন আছে. প্রত্যাশা হল আপনি তাদের জন্য tmux বা আপনার উইন্ডো ম্যানেজার ব্যবহার করুন।
- ওয়ার্প টার্মিনালটিকে অপ্টিমাইজ করার পরিবর্তে নতুন করে কল্পনা করে। কমান্ড এবং তাদের আউটপুট ব্লকগুলিতে গোষ্ঠীভুক্ত করা হয়েছে আপনি ইউনিট হিসাবে ভেঙে পড়তে, ভাগ করতে এবং নেভিগেট করতে পারেন এবং ইনপুট লাইনটি সঠিক নির্বাচন এবং সম্পাদনা সহ একটি আধুনিক পাঠ্য সম্পাদকের মতো আচরণ করে। এআই বৈশিষ্ট্যগুলি কমান্ডের পরামর্শ দেয় এবং ত্রুটিগুলি ব্যাখ্যা করে।
- তুলনা
- GPU রেন্ডারিং কি আসলেই গুরুত্বপূর্ণ?
- হরফ ইমুলেটরের চেয়েও বেশি গুরুত্বপূর্ণ
- টার্মিনাল প্লাস মাল্টিপ্লেক্সার
- macOS-এ ডিফল্ট টার্মিনালটি এড়িয়ে যান – এতে সত্যিকারের রঙ সমর্থন এবং আধুনিক রেন্ডারিংয়ের অভাব রয়েছে এবং এখানে প্রতিটি বিকল্প একটি পরিষ্কার আপগ্রেড। ইলেক্ট্রন-ভিত্তিক টার্মিনাল এড়িয়ে যান; মেমরি খরচ ন্যায্য নয় যখন নেটিভ অপশন এই ভাল. এবং আসলে আপনাকে কী বিরক্ত করে তা জানার জন্য আপনি যথেষ্ট দীর্ঘ টার্মিনাল ব্যবহার করার আগে কনফিগারেশনে সপ্তাহান্তে ব্যয় করা এড়িয়ে যান।
- প্রশ্ন: আমি ইতিমধ্যে যে টার্মিনালটি ব্যবহার করছি তা থেকে কি স্যুইচ করা মূল্যবান?
- চয়ন করুন
দ্রুত রায়
- সেরা সামগ্রিক: ভুতুড়ে — দ্রুত, নেটিভ-অনুভূতি, সংবেদনশীল ডিফল্ট, ন্যূনতম কনফিগারেশন প্রয়োজন
- সর্বাধিক সক্ষম: WezTerm — অন্তর্নির্মিত মাল্টিপ্লেক্সিং এবং SSH, লুয়াতে কনফিগার করা দ্রুততম এবং সহজতম: অ্যালাক্রিটি
- — ইচ্ছাকৃতভাবে ন্যূনতম, এটি tmux এর সাথে যুক্ত করুননতুনদের জন্য সেরা: ওয়ার্প
- — ব্লক-ভিত্তিক আউটপুট এবং এআই সহায়তা, একটি অ্যাকাউন্টের খরচেআমরা কিভাবে পরীক্ষা করেছি
প্রতিটি টার্মিনাল ম্যাকওএস এবং লিনাক্স জুড়ে প্রতিদিনের ড্রাইভার হিসাবে ব্যবহৃত হত। আমরা কোল্ড স্টার্ট টাইম পরিমাপ করেছি, একটি বড় লগ ফাইল স্ট্রিম করার সময় স্ক্রোল করার পারফরম্যান্স, একটি পূর্ণ-রঙের TUI অ্যাপ্লিকেশনের রেন্ডারিং, ফন্ট লিগ্যাচার হ্যান্ডলিং, এবং একটি আরামদায়ক সেটআপে পৌঁছানোর জন্য কতটা কনফিগারেশন প্রয়োজন ছিল। আমরা পুরো কার্যদিবসে খোলা বেশ কয়েকটি ট্যাব দিয়ে মেমরির ব্যবহার পরীক্ষা করেছি।
ভুতুড়ে — সেরা সামগ্রিক
ঘোস্টির ডিজাইন লক্ষ্য বৈশিষ্ট্যগুলি সংগ্রহ করার পরিবর্তে দ্রুত এবং নেটিভ হওয়া এবং এটি উভয় ক্ষেত্রেই সফল হয়। এটি প্রতিটি অপারেটিং সিস্টেমে প্ল্যাটফর্ম-নেটিভ UI ব্যবহার করে, তাই এটি ক্রস-প্ল্যাটফর্ম টুলকিটের সর্বনিম্ন-সাধারণ-ডিনোমিনেটর অনুভূতির পরিবর্তে ম্যাকস-এ একটি ম্যাক অ্যাপ্লিকেশন এবং লিনাক্সে একটি GTK অ্যাপ্লিকেশনের মতো আচরণ করে।
ডিফল্ট হল স্ট্যান্ডআউট গুণমান। বেশির ভাগ টার্মিনালকে সঠিক মনে করার আগে এক ঘণ্টা কনফিগারেশনের প্রয়োজন হয়; ঘোস্টটি সঙ্গে সঙ্গে আরামদায়ক। টার্মিনাল সামঞ্জস্য অস্বাভাবিকভাবে পুঙ্খানুপুঙ্খ — জটিল TUI অ্যাপ্লিকেশনগুলি এস্কেপ-সিকোয়েন্স গ্লিচ ছাড়াই সঠিকভাবে রেন্ডার করে যা নতুন এমুলেটরগুলিকে আঘাত করে।
কনফিগারেশন একটি সাধারণ কী-মানের ফাইল, যা একটি প্রোগ্রামিং ভাষার তুলনায় যুক্তি করা সহজ কিন্তু আপনি যদি শর্তসাপেক্ষ যুক্তি চান তাহলে কম শক্তিশালী।
এর জন্য সেরা:
# ~/.config/ghostty/config
font-family = JetBrains Mono
font-size = 14
theme = catppuccin-mocha
window-padding-x = 8
window-padding-y = 8
macos-option-as-alt = true
বিকাশকারীরা যারা একটি দ্রুত টার্মিনাল চান যা কনফিগারেশন প্রকল্প না হয়ে বাক্সের বাইরে ভালভাবে কাজ করে।WezTerm — সবচেয়ে সক্ষম
আপনি যখন টার্মিনাল নিজেই আরও কিছু করতে চান তখন WezTerm হল পছন্দ৷ এটিতে মাল্টিপ্লেক্সিং অন্তর্ভুক্ত রয়েছে — প্যান, ট্যাব এবং স্থায়ী সেশন — tmux প্রয়োজন ছাড়াই, এবং এটি তার নিজস্ব প্রোটোকলের সাথে দূরবর্তী হোস্টের সাথে সংযোগ করতে পারে যা সরল SSH থেকে সংযোগ বিচ্ছিন্ন হওয়া থেকে বাঁচে।
কনফিগারেশন হল লুয়া, যার অর্থ বাস্তব যুক্তি: প্রতি অপারেটিং সিস্টেম, হোস্ট প্রতি বা দিনের সময় প্রতি বিভিন্ন সেটিংস। এই নমনীয়তা প্রকৃতপক্ষে দরকারী এবং প্রধান আপত্তিও – একটি প্রোগ্রামিং ভাষায় কনফিগার করা একটি টার্মিনাল আপনার সময় সীমাহীন পরিমাণ শোষণ করতে পারে।
এর জন্য সেরা:
-- ~/.wezterm.lua
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.font = wezterm.font 'JetBrains Mono'
config.font_size = 14.0
config.color_scheme = 'Catppuccin Mocha'
config.hide_tab_bar_if_only_one_tab = true
-- Different padding depending on the platform
if wezterm.target_triple:find('darwin') then
config.window_padding = { left = 8, right = 8, top = 8, bottom = 0 }
end
return config
বিকাশকারীরা যারা অনেক দূরবর্তী হোস্ট জুড়ে কাজ করে এবং মাল্টিপ্লেক্সিং লেয়ারড অন করার পরিবর্তে বিল্ট ইন চায়।অ্যালাক্রিটি – দ্রুততম এবং সহজতম
অ্যালাক্রিটি একটি ইচ্ছাকৃত পছন্দ করেছে: একটি কাজ করুন, এটি অত্যন্ত দ্রুত করুন এবং বৈশিষ্ট্যের অনুরোধগুলি প্রত্যাখ্যান করুন যা আপস করে। কোন ট্যাব এবং কোন বিভাজন আছে. প্রত্যাশা হল আপনি তাদের জন্য tmux বা আপনার উইন্ডো ম্যানেজার ব্যবহার করুন।
এই ফোকাসটি গ্রুপে দ্রুততম স্টার্টআপ এবং দুর্দান্ত থ্রুপুট তৈরি করে যখন একটি কমান্ড প্রচুর আউটপুট ডাম্প করে। যদি আপনার ওয়ার্কফ্লো ইতিমধ্যেই tmux-এ কেন্দ্রীভূত হয়, তবে অ্যালাক্রিটিটি আপনার এবং শেলের মধ্যে কিছুই যোগ করে না।
ট্রেড-অফ বাস্তব: কোন ট্যাব মানে কোন ট্যাব নেই। কিছু বিকাশকারী মনে করেন যে এটি মুক্তি এবং অন্যরা এটিকে প্রতিদিনের জ্বালা মনে করে। কমিট করার আগে এটি চেষ্টা করুন.
# ~/.config/alacritty/alacritty.toml
[font]
size = 14.0
[font.normal]
family = "JetBrains Mono"
[window]
padding = { x = 8, y = 8 }
opacity = 0.98
[scrolling]
history = 50000
এর জন্য সেরা:
tmux ব্যবহারকারীরা এবং যে কেউ কীবোর্ড এবং শেলের মধ্যে সম্ভাব্য পাতলা স্তর চায়।ওয়ার্প — নতুনদের জন্য সেরা
ওয়ার্প টার্মিনালটিকে অপ্টিমাইজ করার পরিবর্তে নতুন করে কল্পনা করে। কমান্ড এবং তাদের আউটপুট ব্লকগুলিতে গোষ্ঠীভুক্ত করা হয়েছে আপনি ইউনিট হিসাবে ভেঙে পড়তে, ভাগ করতে এবং নেভিগেট করতে পারেন এবং ইনপুট লাইনটি সঠিক নির্বাচন এবং সম্পাদনা সহ একটি আধুনিক পাঠ্য সম্পাদকের মতো আচরণ করে। এআই বৈশিষ্ট্যগুলি কমান্ডের পরামর্শ দেয় এবং ত্রুটিগুলি ব্যাখ্যা করে।
একটি টার্মিনালে অস্বস্তিকর ডেভেলপারদের জন্য, এটি প্রকৃতপক্ষে বাধা কমিয়ে দেয়। অভিজ্ঞ ব্যবহারকারীদের জন্য প্রতিক্রিয়া আরও মিশ্র: ব্লক মডেল দরকারী, কিন্তু স্ট্যান্ডার্ড টার্মিনাল আচরণ থেকে প্রস্থান মাঝে মাঝে পেশী মেমরি যুদ্ধ.
তাৎপর্যপূর্ণ সতর্কতা হল ওয়ার্পের ঐতিহাসিকভাবে একটি অ্যাকাউন্টের প্রয়োজন ছিল এবং যখন এআই বৈশিষ্ট্যগুলি ব্যবহার করা হয় তখন একটি বাণিজ্যিক পরিষেবা দ্বারা কমান্ড এবং আউটপুট প্রক্রিয়া করা হয়। একটি কঠোর গোপনীয়তার বাধ্যবাধকতার অধীনে কাজ করার জন্য, এটি ইনস্টল করার আগে আপনার সংস্থার নীতি পরীক্ষা করুন৷ এটি একটি তাত্ত্বিক একের পরিবর্তে একটি প্রকৃত বিবেচনা।
এর জন্য সেরা:
এর জন্য সেরা:কমান্ড লাইনে নতুন ডেভেলপার, অথবা দল যারা শেয়ারযোগ্য কমান্ড ব্লককে মূল্য দেয়।
তুলনা
| ভুতুড়ে | WezTerm | অ্যালাক্রিটি | ওয়ার্প | |
|---|---|---|---|---|
| স্টার্টআপ গতি | খুব দ্রুত | দ্রুত | দ্রুততম | মধ্যপন্থী |
| ট্যাব এবং বিভাজন | হ্যাঁ | হ্যাঁ | No | হ্যাঁ |
| অন্তর্নির্মিত মাল্টিপ্লেক্সিং | No | হ্যাঁ | No | No |
| কনফিগার বিন্যাস | মূল-মান | লুয়া | TOML | GUI |
| লিগাচারস | হ্যাঁ | হ্যাঁ | No | হ্যাঁ |
| অ্যাকাউন্ট প্রয়োজন | No | No | No | ঐতিহাসিকভাবে হ্যাঁ |
GPU রেন্ডারিং কি আসলেই গুরুত্বপূর্ণ?
চারটিই জিপিইউ-এর মাধ্যমে রেন্ডার করে এবং মার্কেটিং এর উপর খুব বেশি ঝুঁকে পড়ে। অনুশীলনে এটি একটি পরিস্থিতিতে গুরুত্বপূর্ণ: যখন একটি কমান্ড দ্রুত বিশাল আউটপুট তৈরি করে, যেমন একটি ভার্বোস বিল্ড বাtail -f একটি ব্যস্ত লগে একটি GPU-রেন্ডার করা টার্মিনাল আপ রাখে; পুরানো সিপিইউ-রেন্ডার করা স্টল এবং পুরো শেল অবরুদ্ধ বোধ করে।
সাধারণ ইন্টারেক্টিভ ব্যবহারের জন্য – কমান্ড টাইপ করা, সংক্ষিপ্ত আউটপুট পড়া – আপনি একটি পার্থক্য বুঝতে পারবেন না। একা বেঞ্চমার্ক রেন্ডার করার জন্য একটি টার্মিনাল নির্বাচন করবেন না।
হরফ ইমুলেটরের চেয়েও বেশি গুরুত্বপূর্ণ
টার্মিনাল আরামের একক সবচেয়ে বড় উন্নতি হল সাধারণত ফন্ট, অ্যাপ্লিকেশন নয়। একটি Nerd ফন্ট প্যাচ সহ একটি ভাল মনোস্পেস ফন্ট আপনাকে গ্লিফ দেয় যা আধুনিক প্রম্পট এবং ফাইল তালিকা আশা করে।
# Install a patched font (macOS)
brew install --cask font-jetbrains-mono-nerd-font
# Linux
mkdir -p ~/.local/share/fonts
# download from nerdfonts.com, unzip into that directory, then:
fc-cache -fv
একটি প্যাচড ফন্ট ছাড়া, স্টারশিপ এবংezaথেকে ফাইল তালিকার মত প্রম্পট বাক্স হিসাবে রেন্ডার। এটি “আমার টার্মিনাল ভাঙা দেখায়” এর সবচেয়ে সাধারণ কারণ এবং এমুলেটরের সাথে এর কিছুই করার নেই।
টার্মিনাল প্লাস মাল্টিপ্লেক্সার
আপনি যে এমুলেটরটি চয়ন করুন না কেন, একটি মাল্টিপ্লেক্সার যা দূরবর্তী কাজকে সহনীয় করে তোলে, কারণ সেশনগুলি সংযোগ বিচ্ছিন্ন থেকে বেঁচে থাকে। tmux মান রয়ে গেছে; Zellij হল আবিষ্কারযোগ্য কী-বাইন্ডিং সহ একটি নতুন বিকল্প যা tmux-এর ডিফল্ট অস্বচ্ছ মনে করা লোকেদের জন্য উপযুক্ত।
# Minimal ~/.tmux.conf that fixes the usual complaints
set -g mouse on
set -g history-limit 50000
set -g base-index 1
set -sg escape-time 0 # stops the delay before Escape registers in vim
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc" # true colour
একা সেটিং tmux-এর ভিতরে vim ব্যবহার সম্পর্কে সবচেয়ে ঘন ঘন অভিযোগের সমাধান করে।escape-timeকি এড়ানো যায়
macOS-এ ডিফল্ট টার্মিনালটি এড়িয়ে যান – এতে সত্যিকারের রঙ সমর্থন এবং আধুনিক রেন্ডারিংয়ের অভাব রয়েছে এবং এখানে প্রতিটি বিকল্প একটি পরিষ্কার আপগ্রেড। ইলেক্ট্রন-ভিত্তিক টার্মিনাল এড়িয়ে যান; মেমরি খরচ ন্যায্য নয় যখন নেটিভ অপশন এই ভাল. এবং আসলে আপনাকে কী বিরক্ত করে তা জানার জন্য আপনি যথেষ্ট দীর্ঘ টার্মিনাল ব্যবহার করার আগে কনফিগারেশনে সপ্তাহান্তে ব্যয় করা এড়িয়ে যান।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
প্রশ্ন: আমি ইতিমধ্যে যে টার্মিনালটি ব্যবহার করছি তা থেকে কি স্যুইচ করা মূল্যবান?
উত্তর: যদি আপনার বর্তমান টার্মিনাল বড় আউটপুটে স্টল থাকে বা সত্যিকারের রঙের অভাব হয়, হ্যাঁ। যদি এটি সূক্ষ্ম কাজ করে এবং আপনি এটি কনফিগার করে থাকেন তবে লাভটি ছোট।
প্রশ্নঃ ভুতুড়ে নাকি ওয়েজটার্ম?
উত্তর: আপনি যদি ভাল ডিফল্ট এবং ন্যূনতম কনফিগারেশন চান তবে ঘোস্টটি। ওয়েজটার্ম যদি আপনি বিল্ট-ইন মাল্টিপ্লেক্সিং চান এবং লুয়াতে জিনিসগুলি কনফিগার করা উপভোগ করুন।
প্রশ্ন: আমার টার্মিনালে ট্যাব এবং স্প্লিট থাকলে আমার কি tmux দরকার?
উত্তর: স্থানীয় কাজের জন্য, না। দূরবর্তী কাজের জন্য, হ্যাঁ — সংযোগ কমে গেলে tmux আপনার সেশনকে জীবিত রাখে, যা টার্মিনাল ট্যাবগুলি পারে না।
প্রশ্ন: কেন আমার প্রম্পট বক্স এবং প্রশ্ন চিহ্ন দেখায়?
উত্তর: আপনার টার্মিনালে নির্বাচিত একটি Nerd ফন্ট প্যাচড ফন্ট প্রয়োজন। এটি একটি ফন্ট সমস্যা, একটি টার্মিনাল সমস্যা নয়।
প্রশ্ন: এআই টার্মিনাল বৈশিষ্ট্যগুলি কি দরকারী?
উত্তর: কদাচিৎ ব্যবহৃত কমান্ড সিনট্যাক্স প্রত্যাহার করার জন্য প্রকৃতপক্ষে সহায়ক। তৃতীয় পক্ষের পরিষেবা, বিশেষ করে কাজের মেশিনে আপনার কমান্ড পাঠানোর বিরুদ্ধে এটি ওজন করুন।
উপসংহার
চয়ন করুন
ভুতুড়ে আপনি যদি একটি দ্রুত টার্মিনাল চান যা অবিলম্বে আরামদায়ক,WezTerm আপনি যদি Lua কনফিগারেশন সহ মাল্টিপ্লেক্সিং এবং SSH বিল্ট ইন চান,অ্যালাক্রিটি আপনি যদি ইতিমধ্যেই tmux-এ বাস করেন এবং সম্ভাব্য পাতলা স্তর চান, এবংওয়ার্প যদি কমান্ড-লাইন বন্ধুত্ব আদর্শ আচরণে থাকার চেয়ে বেশি গুরুত্বপূর্ণ। তারপরে একটি Nerd ফন্ট এবং একটি ছোট tmux কনফিগারেশনে বিশ মিনিট ব্যয় করুন — যা যেকোনো পরিমাণ এমুলেটর তুলনার চেয়ে বেশি দৈনিক আরাম দেয়। যদি কমান্ড-লাইন বন্ধুত্ব আদর্শ আচরণে থাকার চেয়ে বেশি গুরুত্বপূর্ণ। তারপরে একটি Nerd ফন্ট এবং একটি ছোট tmux কনফিগারেশনে বিশ মিনিট ব্যয় করুন — যা যেকোনো পরিমাণ এমুলেটর তুলনার চেয়ে বেশি দৈনিক আরাম দেয়।
🔗 Share this article
✍️ Leave a Comment