আমি একটি একক মাল্টিপ্লেক্সার ব্যবহার করে Tmux, স্ক্রিন এবং আমার সম্পূর্ণ টার্মিনাল ওয়ার্কফ্লো প্রতিস্থাপন করেছি

আমি একটি একক মাল্টিপ্লেক্সার ব্যবহার করে Tmux, স্ক্রিন এবং আমার সম্পূর্ণ টার্মিনাল ওয়ার্কফ্লো প্রতিস্থাপন করেছি


আমি সবসময় আমার টার্মিনাল ওয়ার্কফ্লো নিয়ে গর্বিত। এটি কখনও কখনও টার্মিনালটিকে একটি শেয়ারযোগ্য ওয়েব সেশনে পরিণত করে। প্রতিটি দূরবর্তী সার্ভারে স্ক্রীন আমার সেটআপের একটি অবিচ্ছেদ্য অংশ ছিল, এবং Tmux কাস্টম কী বাইন্ডিং, প্লাগইন এবং রিভাইভ স্ক্রিপ্ট সহ আমার স্থানীয় মেশিনকে চালিত করেছে। এই সেটআপ ভাল কাজ করে এবং দ্রুত ছিল.

যাইহোক, আমি লক্ষ্য করেছি যে সমস্ত মেশিন জুড়ে ডটফাইল সিঙ্ক করতে অনেক সময় লেগেছে, এবং আমি ডিবাগিং-এ ব্যস্ত হয়েছি, বিশেষ করে আপডেটের পরে। সুতরাং, একটি ভাল সমাধান খুঁজছেন, আমি Zellige চেষ্টা করেছি, এবং পাঁচ মিনিট পরে আমি বুঝতে পেরেছি এটি সমাধান ছিল।

স্ক্রিন ছিল বেঁচে থাকা, Tmux শক্তি ছিল – উভয়ই আমাকে স্ট্যাক বজায় রাখার জন্য রেখে গেছে।

ক্রমবর্ধমান জটিলতা

আমি একটি একক মাল্টিপ্লেক্সার ব্যবহার করে Tmux, স্ক্রিন এবং আমার সম্পূর্ণ টার্মিনাল ওয়ার্কফ্লো প্রতিস্থাপন করেছি
Afam Onyimadu/MUO

আমি স্ক্রিন ব্যবহার শুরু করেছি কারণ এটি বিচ্ছিন্ন-এবং-সংযুক্ত সমস্যাটি সুন্দরভাবে সমাধান করেছে। এটি বেশিরভাগ ইউনিক্স/লিনাক্স সার্ভারে প্রাক-ইনস্টল করা হয়, এটি একটি সুবিধাজনক বিকল্প তৈরি করে। দীর্ঘমেয়াদী প্রক্রিয়া শুরু করার পর আমি যখনই চাই তখন চলে যেতে পারি। এটা শুধু কাজ; তবে এর সীমাবদ্ধতা ছিল। প্রথমটি ছিল ন্যূনতম বিন্যাস ব্যবস্থাপনা। কিন্তু বিরল ভিজ্যুয়াল ফিডব্যাকও ছিল, এবং জটিল প্রকল্প পরিচালনার জন্য টুলিংয়ের চেয়ে বেশি শৃঙ্খলা প্রয়োজন।

লিনাক্স মাল্টিটাস্কিংয়ের জন্য আমার সংগ্রহস্থলে Tmux একটি অপরিহার্য হাতিয়ার। যদিও আমি যতটা সম্ভব সহজভাবে শুরু করেছি, আমি দ্রুত মাউস সমর্থন, কাস্টম কীবাইন্ডিং, TPM (TMUX প্লাগইন ম্যানেজার) প্লাগইন পরিচালনা এবং tmux-পুনরুত্থানের মাধ্যমে সেশনের অধ্যবসায় নিয়ে কাজ করেছি। এই প্রতিটি পরিবর্তন বাস্তব জীবনের সমস্যার সমাধান করেছে, যেমন প্রিফিক্স কী ছাড়া স্ক্রোল করা এবং পেশী মেমরির অমিল, এবং একত্রিত করে, আমি একটি সিস্টেম তৈরি করেছি যা আমি বুঝতে পেরেছি।

এটি একটি উচ্চ-পারফরম্যান্স সিস্টেম ছিল, কিন্তু এটি রক্ষণাবেক্ষণের জন্য একটি খরচে এসেছিল। আমাকে নিশ্চিত করতে হয়েছিল যে ডটফাইলগুলি আমার মেশিন জুড়ে সিঙ্ক থাকে এবং আমার মেমরিতে Tmux কীবাইন্ডিংয়ের সম্পূর্ণ মানচিত্র সংরক্ষণ করা দরকার। দূরবর্তী বাক্সে কনফিগারেশনে সামান্য অমিলের কারণে পেশী মেমরি লাইনচ্যুত করা খুব সহজ ছিল। তাই আমি ক্রমাগত আমার প্ল্যাটফর্ম পরিচালনা করছিলাম, এমনকি যখন প্রযুক্তিগতভাবে কিছুই ভাঙা হয়নি।

জেলিজের প্রথম পাঁচ মিনিটেই চুক্তি বদলে যায়

একটি টার্মিনাল যা আপনি এটি ব্যবহার করার সাথে সাথে নিজেকে ব্যাখ্যা করে

Zellige চালু করা ছিল তাজা বাতাসের একটি নিঃশ্বাস, কারণ এটি আমার কাছ থেকে কিছু চায়নি: কোন কনফিগার ফাইল, প্লাগইন ম্যানেজার বা এমনকি সাধারণ সেটআপ আচারও নেই। আমি যা পেয়েছি তা হল একটি কার্যকরী বিন্যাস এবং নীচে একটি স্ট্যাটাস বার সহ একটি ইন্টারফেস। স্ট্যাটাস বার সত্যিই আমার মনোযোগ আকর্ষণ.

Zellige এর স্ট্যাটাস বার আপডেট হয় প্রেক্ষাপটের উপর নির্ভর করে, যা আপনার নির্বাচন করা মোড দ্বারা নির্ধারিত হয়। এই মোডগুলি ফলক, ট্যাব, আকার পরিবর্তন, স্ক্রোল বা সেশন হতে পারে, প্রতিটির নিজস্ব উপলব্ধ অ্যাকশনের সেট রয়েছে। তাই অনুমান বা মুখস্থ করার পরিবর্তে আমি যা করতাম, আপনি শুধু পড়ছেন। এই স্থাপত্য নকশা Zellige Tmux থেকে একটি বড় সুবিধা দেয়।

আপনি এই ডিজাইনটিকে শিক্ষানবিস-বান্ধব হিসাবে ভাবতে পারেন, তবে এটি তার চেয়ে অনেক বেশি। এটি এমন একটি নকশা যা দীর্ঘমেয়াদী ঘর্ষণকে ঠিক করে যা আমি সাধারণত অন্যান্য ডিভাইসে লড়াই করি। ফলকের আকার পরিবর্তন না করার কয়েক সপ্তাহ পরে, এটি আবার কীভাবে হবে তা বের করতে এক মুহূর্ত লাগে। Zellige একটি পঠনযোগ্য কিন্তু ঐচ্ছিক কনফিগারেশন ফাইল আছে (~/.config/zelij/config.kdl)এবং এমনকি আপনি টুলটি কাস্টমাইজ করার আগে, এটি ইতিমধ্যেই ব্যবহারযোগ্য।

ফলক মডেল স্ক্রিপ্টিংয়ের সাথে আমার ব্যবহৃত সমস্যাগুলি সমাধান করেছে

ভাসমান ফলক, মাউস সমর্থন, এবং সাময়িক প্রসঙ্গের গুরুত্ব

zelij ভাসমান তক্তা
Afam Onyimadu/MUO

অনুভূমিক এবং উল্লম্ব বিভাজন পরিচালনা করার সময় জেলিজের জন্য মৌলিক ফলক অপারেশনগুলি হতাশ করে না। Zellige প্যানগুলির মধ্যে তরল আকার পরিবর্তন এবং স্বজ্ঞাত নেভিগেশন অনুমতি দেয়। এই বৈশিষ্ট্যগুলি গ্রাউন্ডব্রেকিং নয়, তবে এগুলি বুদ্ধিমান ডিফল্ট যা বাক্সের বাইরে ভাল কাজ করে৷

যাইহোক, একটি বৈশিষ্ট্য যা আমার কাজ করার উপায় পরিবর্তন করেছে তা হল ভাসমান প্যান। এই ফলকটি বিদ্যমান লেআউটকে ওভারলে করে এবং আমি সাধারণত দ্রুত কমান্ড চালানো এবং লগগুলি পরিদর্শন করতে এটি ব্যবহার করি। একবার আমি সম্পন্ন হলে, এটি অদৃশ্য হয়ে যায় এবং আমার গঠন অক্ষত থাকে। আমি Zellige ব্যবহার শুরু করার আগে, একই প্রভাব পেতে আমাকে একটি নতুন টার্মিনাল উইন্ডো খুলতে হয়েছিল বা একটি অস্থায়ী পার্টিশন তৈরি করতে হয়েছিল। আমি কাজটি সম্পন্ন করেছি, কিন্তু সবসময় কিছু কাঠামোগত ব্যাঘাতের সাথে।

আমি জেলিগে মাউস সমর্থনও উপভোগ করি। আমি ফোকাসের জন্য ক্লিক করি এবং আকার পরিবর্তন করতে টেনে আনছি এবং স্ক্রলিং স্বাভাবিকভাবেই কাজ করে। আমি Tmux এ মাউসের আচরণ পেতে পারি, কিন্তু এটি শুধুমাত্র কনফিগারেশনের পরে এসেছিল এবং এটি এখনও ভালভাবে কাজ করেনি। Zellige সত্যিকারের স্থিতিশীলতা দেয়, বিশেষ করে যেহেতু আমি ক্রমাগত GUI টুলগুলির মধ্যে চলেছি।

লেআউট ফাইলগুলি আমার বুটস্ট্র্যাপ স্ক্রিপ্ট প্রতিস্থাপন করেছে

প্রতিবার একত্রিত করার পরিবর্তে একবার একটি প্রকল্প ঘোষণা করা

একাধিক জেলিজ সেশন
Afam Onyimadu/MUO

অতীতে, যদি আমার একটি প্রকল্প খোলার প্রয়োজন হয়, আমাকে সাধারণত প্রসঙ্গটি পুনর্নির্মাণ করতে হতো। আমি এটি করতে একটি স্ক্রিপ্ট ব্যবহার করতে পারি; অন্য সময়ে, Tmux সেশন সরঞ্জামগুলি কাজে আসে। যাইহোক, স্ক্রিপ্টগুলি সাধারণত পুরানো ছিল, এবং এমনকি আমার সেশনগুলি তাদের উদ্দেশ্যযুক্ত ব্যবহার থেকে বিচ্যুত বলে মনে হয়েছিল।

আমার বর্তমান সমাধান হল Zellige লেআউট। আমি এই ঘোষণামূলক .kdl ফাইলগুলি প্যান গঠন এবং স্টার্টআপ কমান্ডগুলিকে সংজ্ঞায়িত করতে ব্যবহার করি। আমাকে শুধুমাত্র একবার আমার পরিবেশ সংজ্ঞায়িত করতে হবে। এর পরে, আমি এই কমান্ড দিয়ে এটি চালু করতে পারি:

zellij --layout myproject

যদি ফাইলটি এই ডিরেক্টরিতে থাকে তবে আমি এটিকে নাম দিয়ে কল করতে পারি: ~/.config/zelij/layouts/.

এই কমান্ডটি চালানোর ফলে Zellige এর ডিফল্ট লেআউট stdout এ প্রিন্ট হবে: zelij setup–ডাম্প-লেআউট ডিফল্ট. আপনি আপনার নিজের প্রজেক্ট লেআউট কপি এবং পরিবর্তন করার জন্য একটি প্রস্তুত প্রারম্ভিক পয়েন্ট পাবেন।

আরেকটি জিনিস যা আমি করতে পারি তা হল চলমান সেশনের মধ্যে একটি নতুন ট্যাব হিসাবে একটি লেআউট প্রয়োগ করা। এটি “বর্তমান অধিবেশন অবস্থা” থেকে “প্রকল্প সংজ্ঞা” আলাদা করার একটি কার্যকর উপায়। এই লেআউট ফাইলটি অবশেষে আমার জীবন্ত নথিতে পরিণত হয়েছে কিভাবে একটি প্রকল্প চালানো উচিত এবং এই আবিষ্কারটি বুটস্ট্র্যাপ স্ক্রিপ্ট লেখার সমাপ্তি চিহ্নিত করেছে।

জেলিজ

os

লিনাক্স

মান মডেল

বিনামূল্যে

Zellige হল একটি ওপেন সোর্স টার্মিনাল মাল্টিপ্লেক্সার এবং ওয়ার্কস্পেস ম্যানেজার। এটি টার্মিনাল সেশন, প্যান এবং ট্যাবগুলি পরিচালনা করা স্বজ্ঞাত করে তোলে।


অধ্যবসায় অন্তর্নির্মিত, এবং এক্সটেনসিবিলিটি স্যান্ডবক্সযুক্ত

Zellige একটি ব্যাকগ্রাউন্ড সার্ভার হিসাবে চলার সাথে, আমি টার্মিনাল উইন্ডো বন্ধ করলেও সেশনটি টিকে থাকে, এবং যদি আমি ssh সংযোগ হারিয়ে ফেলি, এটি অব্যাহত থাকে। যখন আমার সমস্ত সক্রিয় সেশন দেখতে হবে, আমি কমান্ডটি ব্যবহার করি জেলিজ লিস্ট-সেশনযেদিকে zelij সংযুক্ত করুন আমাকে পুনরায় সংযোগ করার অনুমতি দেয়। যে কেউ ভিজ্যুয়ালভাবে নেভিগেট করতে পছন্দ করেন, ভিজ্যুয়াল সেশন ম্যানেজার কাজে আসে।

যদিও সেশন পুনরুত্থান একটি সম্পূর্ণ সিস্টেম রিবুট করার পরে প্রতিটি প্রক্রিয়া পুনরায় তৈরি করে না, এটি লেআউট এবং স্ক্রলব্যাক নির্ভরযোগ্যতা পুনরুদ্ধার করে, নির্ভরযোগ্য বোধ করার জন্য যথেষ্ট অবস্থা সংরক্ষণ করে।

Tmux এবং স্ক্রিনগুলি প্রতিস্থাপনের জন্য Zellige ছিল নিখুঁত সরঞ্জাম কারণ এটি আমার কর্মপ্রবাহের সাথে সবচেয়ে বেশি মেলে। আপনি যদি প্রাথমিকভাবে স্থানীয় মেশিন এবং মূল্য ঘোষণামূলক পরিবেশে কাজ করেন এবং আপনি যেভাবেই হোক আপনার বেশিরভাগ কর্মপ্রবাহকে টার্মিনালে নিয়ে যাচ্ছেন, তাহলে Zellige আপনার জন্য হাতিয়ার হতে পারে।

ডেস্কটপ মনিটরে রেইনমিটার আইকন

আমি রেইনমিটার দিয়ে আমার নিজস্ব ডেস্কটপ ড্যাশবোর্ড তৈরি করেছি এবং এখন আমার যা প্রয়োজন তা এক নজরে

আমি একটি কাস্টম রেইনমিটার ড্যাশবোর্ড তৈরি করেছি এবং এখন আমার ডেস্কটপ একটি কমান্ড সেন্টারের মতো মনে হচ্ছে।



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *

ドングリキツツキ エーカーのアリゾナ エイカー・トゥディ・タイラント アダマワキジバト アデレードウグイス アデリーペンギン アドミラルティセミ アフェップ鳩 アフガニスタンのせせらぎ アフガニスタンスノーフィンチ アフリカフクロウ アフリカクロアヒル アフリカクロアマツバメ アフリカアオビタキ アフリカ青シジュウカラ アフリカヒロハシ科 アフリカンシトリル アフリカクビドバト アフリカクイナ アフリカクリムゾンフィンチ アフリカカッコウ アフリカカッコウタカ アフリカンダーター アフリカサバクグイス アフリカキビタキ アフリカドワーフカワセミ アフリカエメラルドカッコー アフリカヒレフット アフリカホタル アフリカウミワシ アフリカゴールデンオリオール オオタカ アフリカグラスフクロウ アフリカアオバト キビタキ アフリカハイイロサイチョウ アフリカハイイロキツツキ アフリカハリアーホーク アフリカオオタカ アフリカンヒルバブラー アフリカの趣味 アフリカヤツガシラ アフリカレンカク アフリカヌマハリアー アフリカのオリーブ鳩 アフリカシロチョウ アフリカミヤコドリ アフリカヤシツバメ アフリカサンコウチョウ アフリカペンギン アフリカンピキュレット アフリカオオサイチョウ アフリカセキレイ アフリカンピピット アフリカのピッタ アフリカピグミーガン アフリカピグミーカワセミ アフリカ鉄道 アフリカヒヨドリ アフリカオオヨシキリ アフリカンリバーマーチン アフリカンロックピピット アフリカクロトキ アフリカコノハズク アフリカモズキビタキ アフリカシルバービル アフリカンスキマー アフリカシギ アフリカヘラサギ アフリカマダラクリーパー アフリカストーンチャット アフリカの沼地 アフリカツグミ アフリカタゲリ アフリカモリフクロウ アフリカキイロウグイス アガミサギ 機敏な暴君 アギグオオヨシキリ アガラスハシブトヒバリ アハンタツメドリ エインリーズウミツバメ アケケエ アキアポラウ アキキキ アコヘコヘ アクンワシミミズク アラゴアスアリモサ アラゴアスキュラソー アラゴアスの落葉落穂拾い アラゴアス ティラヌレット アラオトラカイツブリ アルバーティーンフクロウ アルベルティーンすすのブーブー