Terminal capabilities
কম্পিউটিং এবং টেলিযোগাযোগে, একটি টার্মিনালের ক্ষমতা হল বিভিন্ন টার্মিনাল বৈশিষ্ট্য, যা একটি বিশুদ্ধ টেলিটাইপরাইটার থেকে পাওয়া যায় তার উপরে এবং তার বাইরে, যে হোস্ট সিস্টেমগুলি (এবং তাদের উপর চালিত প্রোগ্রামগুলি) ব্যবহার করতে পারে। এগুলি (প্রধানত) নিয়ন্ত্রণ কোড এবং পালানোর কোড যা টার্মিনালে পাঠানো বা গ্রহণ করা যেতে পারে। টার্মিনালে পাঠানো এস্কেপ কোডগুলি বিভিন্ন ফাংশন সম্পাদন করে যা একটি সিআরটি টার্মিনাল (এবং সফ্টওয়্যার টার্মিনাল এমুলেটর) করতে সক্ষম, কিন্তু একটি টেলিটাইপরাইটার নয়; যেমন টার্মিনালের কার্সারকে স্ক্রিনের অবস্থানে নিয়ে যাওয়া, স্ক্রিনের সমস্ত বা অংশগুলি পরিষ্কার করা এবং স্ক্রোল করা, সংযুক্ত প্রিন্টার ডিভাইসগুলি চালু এবং বন্ধ করা, প্রোগ্রামিং প্রোগ্রামেবল ফাংশন কী, ডিসপ্লের রঙ এবং বৈশিষ্ট্যগুলি পরিবর্তন করা (যেমন বিপরীত ভিডিও), এবং ডিসপ্লে শিরোনাম স্ট্রিং সেট করা। টার্মিনাল থেকে প্রাপ্ত এস্কেপ কোডগুলি ফাংশন কী, তীর কী এবং অন্যান্য বিশেষ কী (হোম কী, এন্ড কী, হেল্প কী, পি. জি. আপ কী, পি. জি. ডি. এন কী, ইনসার্ট কী, ডিলিট কী ইত্যাদি) কীস্ট্রোকের মতো জিনিসগুলিকে নির্দেশ করে। ইউনিক্স এবং পোসিক্সঃ টার্ম-ক্যাপ, টার্ম-ফো ইত্যাদি। ইউনিক্স এবং অন্যান্য পি. ও. এস. আই. এক্স-অনুবর্তী সিস্টেমে যা পি. ও. এস. আই. এক্স টার্মিনাল ইন্টারফেসকে সমর্থন করে, এই ক্ষমতাগুলি ডেটাবেসে এনকোড করা হয় যা একটি সিস্টেম প্রশাসক দ্বারা কনফিগার করা হয় এবং টার্মফো লাইব্রেরির মাধ্যমে প্রোগ্রামগুলি থেকে অ্যাক্সেস করা হয় (যা পুরানো টার্মক্যাপ লাইব্রেরিকে ছাড়িয়ে যায়), যার উপর পালাক্রমে অভিশাপ এবং এনকার্স লাইব্রেরির মতো লাইব্রেরি তৈরি করা হয়, যার দ্বারা অ্যাপ্লিকেশন প্রোগ্রামগুলি উইন্ডো, ডায়ালগ বক্স, বোতাম, লেবেল, ইনপুট ক্ষেত্র, মেনু ইত্যাদির সাথে পাঠ্য ব্যবহারকারী ইন্টারফেস সরবরাহ করতে টার্মিনাল ক্ষমতা ব্যবহার করে। উদ্দেশ্য হল এটি অ্যাপ্লিকেশন প্রোগ্রামগুলিকে প্রকৃত টার্মিনাল বৈশিষ্ট্য থেকে স্বাধীন হতে দেয়। তাদের কোডে কোনও কন্ট্রোল কোড বা এস্কেপ সিকোয়েন্স হার্ডওয়্যার করার প্রয়োজন নেই, এবং তাই বিভিন্ন ক্ষমতা সহ বিভিন্ন টার্মিনালে ব্যবহার করার সমস্যা নেই। টার্ম ক্যাপ লাইব্রেরি ("টার্মিনাল ক্ষমতার" জন্য) বিএসডি সিস্টেমের জন্য তৈরি করা হয়েছিল। এটি ফাইলের মধ্যে সংরক্ষিত একটি ডাটাবেস ব্যবহার করে। এই ডাটাবেসে রেকর্ডের একটি সিরিজ রয়েছে (যার প্রতিটি ফাইলের এক বা একাধিক লাইন নিয়ে গঠিত, প্রতিটি লাইনের শেষে ব্যাকস্ল্যাশ অক্ষর দ্বারা যুক্ত যা নিম্নলিখিত একটিতে অব্যাহত থাকে) যার প্রতিটি একটি নির্দিষ্ট টার্মিনালের ক্ষমতাকে উপস্থাপন করে। রেকর্ডের ক্ষেত্রগুলি টার্মিনাল টাইপের নাম বা নাম নিয়ে গঠিত, যার পরে কোলন দ্বারা পৃথক ক্ষমতার একটি ক্রম রয়েছে। ক্ষমতা ক্ষেত্রগুলি নিজেরাই তিনটি গ্রুপে পড়েঃ টার্মিনালের বৈশিষ্ট্যগুলি এগুলি টার্মিনালের ডিসপ্লেতে (নামমাত্র) সারি এবং কলামের সংখ্যা, কোনও লাইনের শেষে পৌঁছানোর পরে আউটপুট স্বয়ংক্রিয়ভাবে পরবর্তী লাইনে মোড়ানো হয় কিনা ইত্যাদি নিয়ে গঠিত। টার্মিনালে আউটপুট হিসাবে পাঠানো নিয়ন্ত্রণ ক্রমগুলি এগুলি নিয়ন্ত্রণ কোড এবং পালানোর ক্রমগুলি নিয়ে গঠিত যা টার্মিনালে পাঠানো হয় যাতে এটি কিছু ক্রিয়া সম্পাদন করতে পারে (অগত্যা একটি প্রদর্শন ক্রিয়া নয়)। এর মধ্যে একটি সহজতম উদাহরণ হল পর্দা পরিষ্কার করার জন্য আউটপুট ক্রম, যা কিছু ধরনের টার্মিনালে ফর্ম ফিড (এ. এস. সি. আই. আই) অক্ষর হতে পারে তবে, বলুন, একটি টার্মিনালে পালানোর ক্রম হতে পারে যার জন্য এ. এন. এস. আই পালানোর ক্রম প্রয়োজন। টার্মিনাল দ্বারা ইনপুট হিসাবে পাঠানো নিয়ন্ত্রণ ক্রমগুলি নিয়ন্ত্রণ কোড এবং পালানোর ক্রমগুলি নিয়ে গঠিত যা টার্মিনাল বিভিন্ন ক্রিয়া এবং ইভেন্টের প্রতিনিধিত্ব করার জন্য হোস্টকে পাঠায়, যেমন ফাংশন কী এবং তীর কীগুলি চাপানো হচ্ছে। টার্মফো ("টার্মিনাল তথ্য") লাইব্রেরিটি সিস্টেম ভি সিস্টেমের জন্য তৈরি করা হয়েছিল। এটি একটি ডিরেক্টরির মধ্যে একাধিক ফাইলে সংরক্ষিত একটি ডাটাবেস ব্যবহার করে, যা বিভিন্নভাবে (বিভিন্ন ইউনিসেস এবং পোসিক্স-সামঞ্জস্যপূর্ণ সিস্টেমে) বা এমনকি হতে পারে। (লিনাক্সের বিভিন্ন ডিস্ট্রিবিউশনে এর অবস্থানও অভিন্ন নয়।) টার্ম-ক্যাপ ডাটাবেসের বিপরীতে, টার্ম-ফো ডাটাবেস সংকলিত হয়, একটি মেশিন-পঠনযোগ্য ডাটাবেস যা একটি ইউটিলিটি প্রোগ্রাম দ্বারা মানব-পঠনযোগ্য উৎস ফাইল ফর্ম্যাট থেকে নির্মিত হয়। এগুলি অন্য ইউটিলিটি প্রোগ্রামের মাধ্যমে মেশিন-পঠনযোগ্য ফর্ম থেকে মানব-পঠনযোগ্য ফর্মটিতে বিচ্ছিন্ন করা যেতে পারে। উদাহরণস্বরূপ, "ভিটি100" টার্মিনাল সংজ্ঞার মানব-পাঠযোগ্য ফর্মটি আউটপুট করার কমান্ডটি হ 'লঃ ইনফোকাম্প ভিটি100 একটি মেশিন-পাঠযোগ্য বিন্যাসের ব্যবহার ছিল অপ্রয়োজনীয় ওভারহেড এড়াতে, অ্যাপ্লিকেশন প্রোগ্রামগুলিতে টার্মক্যাপ লাইব্রেরির মতো সিস্টেমগুলি ব্যবহার করে, রেকর্ডের ক্ষেত্রগুলি পড়ার জন্য বারবার ডাটাবেস সামগ্রী বিশ্লেষণ করা। একাধিক ফাইলের ব্যবহার লক্ষ্য টার্মিনাল প্রকারের জন্য ডাটাবেস রেকর্ড খুঁজে পেতে ডাটাবেস বিষয়বস্তু বিশ্লেষণের অনুরূপ ওভারহেড এড়াতে ছিল। টার্মিনাল টাইপ নাম সূচক, কার্যকরভাবে, ইউনিক্স/পোসিক্স ফাইল সিস্টেমের সাধারণ ডিরেক্টরি কাঠামো। মূলত, ইউনিক্সের অনেকগুলি ফাইল ধারণকারী বড় ডিরেক্টরিগুলির সাথে গুরুতর কার্যকারিতা সমস্যা ছিল এবং এইভাবে টার্মফো একটি দ্বি-স্তরের কাঠামো ব্যবহার করে, যা প্রথম অক্ষর দ্বারা ডিরেক্টরি এন্ট্রিগুলিকে উপ-ডিরেক্টরিগুলির একটি সিরিজে বিভক্ত করে। ইউনিক্স সিস্টেমে ব্যবহৃত আরও সাম্প্রতিক ফাইল সিস্টেম ফরম্যাটগুলি এই ধরনের সমস্যাগুলির দ্বারা ততটা ক্ষতিগ্রস্ত হয় না (কারণ তাদের অন-ডিস্ক ডিরেক্টরি কাঠামোগুলি আর এন্ট্রির সহজ অ্যারে নয়, বরং গাছ বা হ্যাশ টেবিলে সাজানো থাকে) এবং তাই এই নকশা উপাদানটির প্রয়োজনীয়তা, যা এখনও আধুনিক টার্মিনফো বাস্তবায়নে বিদ্যমান, তারপর থেকে অদৃশ্য হয়ে গেছে। ইউটিলিটি প্রোগ্রামগুলি টার্মিনাল ক্ষমতা প্রয়োগ করতে ইউনিক্স সিস্টেমে, কমান্ডটি সিস্টেমের ডাটাবেসে একটি নির্দিষ্ট ক্ষমতা সন্ধান করতে এবং কমান্ডের স্ট্যান্ডার্ড আউটপুটে আউটপুট করতে ব্যবহৃত হয় (যা সম্ভবত, টার্মিনাল যার দ্বারা ক্ষমতা দ্বারা চিহ্নিত ফাংশনটি সম্পাদন করা হবে)। সবচেয়ে সহজ ক্রিয়াকলাপগুলির মধ্যে একটি হল পর্দা পরিষ্কার করা। এর জন্য আউটপুট সিকোয়েন্স সংরক্ষণ করে এমন ডাটাবেস ক্ষেত্রের নাম হল, তাই স্ক্রিনটি সাফ করার জন্য প্রোগ্রামের কমান্ড আর্গুমেন্টগুলি পরিষ্কার করা হয়। আরেকটি ক্রিয়া হল টার্মিনালটিকে একটি পরিচিত ডিফল্ট অবস্থায় (অক্ষর বৈশিষ্ট্য, ফন্ট, রঙ ইত্যাদির) শুরু করা বা পুনরায় সেট করা। এর জন্য কমান্ডগুলি হলঃ tput init এবং tput রিসেট সাধারণত কমান্ডটি TERM এনভায়রনমেন্ট ভেরিয়েবল দ্বারা নির্দিষ্ট টার্মিনাল টাইপ ব্যবহার করে, যা পোসিক্স টার্মিনাল ইন্টারফেসের নিয়ন্ত্রণকারী পরিবেশের ভেরিয়েবলগুলির মধ্যে একটি। তবে, কমান্ডের একটি কমান্ড-লাইন বিকল্প সহ ডাটাবেসে একটি ভিন্ন টার্মিনাল প্রকার সন্ধান করতে বাধ্য করার জন্য এটি ওভাররাইড করা যেতে পারে। সুতরাং, উদাহরণস্বরূপ, এনভায়রনমেন্ট ভেরিয়েবলগুলিতে নির্দিষ্ট টার্মিনাল প্রকার নির্বিশেষে, ডাটাবেসে (সাধারণত একটি ডিইসি ভিটি100 টার্মিনাল) "ভিটি100" নামে টার্মিনালের প্রকারের জন্য উপযুক্ত রিসেট ক্রম জারি করার জন্য, কমান্ডটি হ 'লঃ টিপুট-টি ভিটি100 রিসেট রেফারেন্স কি উৎসগুলি আরও পড়ার ক্ষমতা টেলিযোগাযোগ সরঞ্জাম ব্যবহার করে তা সমর্থন করে।