আপনি যে ধরণের পাঠ্য ব্যবহারকারী ইন্টারফেসের বিষয়ে কথা বলছেন তা তৈরি করতে কনসোল প্রোগ্রামগুলি সাধারণত অভিশাপ বা এর উত্তরসূরিগুলির একটি ব্যবহার করে ।
এই লাইব্রেরিতে দুটি ডাটাবেসের একটি ব্যবহার করা হয়, যাকে ডাকা হয় termcap
এবং বলা হয় terminfo
² এই ডাটাবেসে ম্যাপ থাকে যা লাইব্রেরিকে বিপুল সংখ্যক বিবিধ টার্মিনাল প্রকারের সাথে কাঙ্ক্ষিত ক্রিয়াগুলি পেতে কী কোডগুলি প্রেরণ করতে হবে তা বলে দেয়। আপনি এই ডেটাবেসগুলিতে সংজ্ঞায়িত যে টার্মিনাল প্রকারের সিংহভাগ আসল টার্মিনালগুলির দিনগুলিতে বেঁচে ছিলেন না এবং এখন কেবল historicalতিহাসিক আগ্রহ রয়েছে।
এএনএসআই টার্মিনালগুলি
আধুনিক ইউনিক্স টার্মিনাল এমুলেটর³ এএনএসআই এক্স 3.64 প্রোটোকল বা এর পরবর্তী কোনও রূপগুলি ব্যবহার করুন:
ANSI X3.64 , "গ্লাস টার্মিনাল" নিয়ন্ত্রণ জন্য একটি আদর্শ - যেমন উল্টোদিকে teletypes - এটা অক্ষর যা দূরবর্তী টার্মিনাল ব্যাখ্যা করে বিশেষ সিকোয়েন্স উপর ভিত্তি করে। উদাহরণস্বরূপ, যদি ইউনিক্স বক্সটি একটি এএনএসআই X3.64 সামঞ্জস্যপূর্ণ টার্মিনালটি তার কার্সারটিকে স্ক্রিনের উপরের বাম কোণে সরাতে চায়, এটি অক্ষরগুলি প্রেরণ করেESC
[
1
;
1
H
। প্রথম দুটি অক্ষর টার্মিনালটিকে একটি নিয়ন্ত্রণ অনুক্রমের আশা করতে বলে, 1 টি সারি এবং কলাম এবংH
হ'ল আদেশটি "সরান কার্সার" ⁴
ট্রিভিয়া: অনেকগুলি পিসি বিবিএস এএনএসআই কোডও ব্যবহার করেছিল। ( এখনও করুন , আসলে।)
ডিসি ভিটি 100 : প্রথম সত্যই জনপ্রিয় এএনএসআই-সামঞ্জস্যপূর্ণ কাচের টার্মিনালটি ছিল ডিজিটাল সরঞ্জাম কর্পোরেশনের ভিটি 100। মার্কেটপ্লেসে এএনএসআইয়ের ডি জুর স্ট্যান্ডার্ড প্রমাণ করে, এটি একটি ডি ফ্যাক্টো স্ট্যান্ডার্ড প্রতিষ্ঠা করেছে যা আজও গুরুত্বপূর্ণ।
কখনও কখনও আপনি এটি ভিটি 102 প্রোটোকল বলে দেখেন যে এটি পরে ব্যয় হ্রাস হওয়া - এবং অতএব আরও জনপ্রিয় - ভিটি 100 এর সংস্করণ এবং সমস্ত উপলব্ধ বিস্তৃত বিকল্পগুলি অন্তর্নির্মিত।
ডিসি টার্মিনাল প্রোটোকলগুলি পিছনের দিকে সামঞ্জস্যপূর্ণ সিরিজ, ১৯৯৮ সালে ডিসি থেকে টার্মিনাল ব্যবসায় কেনার পরে বাউন্ডলেস টেকনোলজিস দ্বারা উত্পাদিত ভিটি 500 সিরিজের মডেলগুলির মাধ্যমে 1978 (ভিটি 100) প্রবর্তিত প্রথম এএনএসআই-সামঞ্জস্যপূর্ণ মডেল থেকে বিস্তৃত । এখন ব্যবসায়ের বাইরে, তবে তাদের টার্মিনালগুলি সময়ে সময়ে ব্যবহৃত বাজারে পপ আপ করে)
এক্সটার্ম : এএনএসআই এবং ভিটি-যা-ই মানকগুলির এক ধরণের সংমিশ্রণ। আপনি যখনই কোনও জিইআইআই টার্মিনাল এমুলেটর ব্যবহার করছেনxterm
বা এরমতোএকটি ডেরাইভেটিভস ব্যবহার করছেন, আপনি সাধারণতxterm
টার্মিনাল প্রোটোকলটি সাধারণত আরও আধুনিকxterm-color
বাxterm-color256
রূপগুলি ব্যবহার করেন।
লিনাক্স : লিনাক্স কনসোল এএনএসআই টার্মিনাল প্রোটোকলের প্রোটোকলগুলির মতো একই প্রবণতা হিসাবেxterm
ব্যবহার করে। এর এক্সটেনশনের বেশিরভাগটি পিসি এবং একটি গ্লাস টার্মিনালের মধ্যে পার্থক্যগুলির সাথে করতে হয়। উদাহরণস্বরূপ, আইবিএম কীবোর্ডের কিছু কী রয়েছে কোনও ডিসি ভিটি-যা-ই হোক না কেন। (এবং বিপরীতভাবে.)
কিছু ইউনিক্স সিস্টেমের নিজস্ব কনসোল টার্মিনাল প্রোটোকলও রয়েছে। আছে scoansi
স্কটল্যান্ড Unixes জন্য ANSI X3.64 বৈকল্পিক উদাহরণস্বরূপ,।
একটি সাধারণ টার্মিনাল এমুলেটর প্রোগ্রাম হ'ল মংরলের কিছু, এবং কোনও একক টার্মিনাল মডেলকে হুবহু অনুকরণ করে না। এটি ভিটি 320 এর মাধ্যমে সমস্ত ডিসি ভিটি অব্যাহতি সিকোয়েন্সগুলির 96% সমর্থন করতে পারে, তবুও এএনএসআই রঙ (একটি ভিটি 525 বৈশিষ্ট্য) এবং সারি এবং কলামগুলির একটি নির্বিচার সংখ্যাকে সমর্থন করে। কোডগুলি এটি বুঝতে পারে না তার 4% কোডগুলি মিস করা যাবে না যদি আপনার প্রোগ্রামগুলিতে সেই বৈশিষ্ট্যগুলির প্রয়োজন না হয় তবে আপনি curses
ভিটি320 প্রোটোকলটি ব্যবহার করে প্রোগ্রামগুলি ব্যবহার করতে চান তা (বা যাই হোক না কেন) বলেছিলেন । এই জাতীয় প্রোগ্রামটি নিজেকে ভিটি 320 সামঞ্জস্যপূর্ণ হিসাবে প্রচার করতে পারে, তবে, কঠোরভাবে বললে, এটি হয় না ⁵
নন-এএনএসআই টার্মিনালগুলি
কয়েকটি অন্যান্য উল্লেখযোগ্য মান রয়েছে যা আপনি এখনও মাঝে মাঝে দেখতে পান:
উইস : গ্লাস টার্মিনালের প্রথম স্বতন্ত্র নির্মাতাদের মধ্যে অন্যতম, ওয়াইস ১৯৮০ এর দশকের গোড়ার দিকে ওয়ার্কস্টেশন কম্পিউটিং মিনিকম্পিউটারগুলি স্থানচ্যুত করারআগে টার্মিনাল তৈরিশুরু করে। যদিও উইস টার্মিনালগুলি ভিটি 100 এবং অন্যান্য জনপ্রিয় টার্মিনাল প্রোটোকল অনুকরণ করতে সক্ষম হয়েছিল, তাদের নিজস্ব নেটিভ কোডও ছিল।
আইবিএম 3270 : যদিও এটি কঠোরভাবে "ইউনিক্স" টার্মিনাল টাইপ নয়, ইউনিক্স সিস্টেমগুলিকে আইবিএম মেইনফ্রেমে সংযুক্ত করার প্রয়োজনের ফলে আইবিএম 3270 সিরিজ টার্মিনাল এমুলেটর প্রোগ্রাম তৈরি হয়েছিল, যা আপনি এখনও ব্যবহারের মধ্যে খুঁজে পেতে পারেন। পরবর্তী আইবিএম 5250 সিরিজের টার্মিনালের জন্য এমুলেটরগুলিও মোটামুটি সাধারণ, বেশিরভাগ দিন এএস / 400 এবং সিস্টেম আই মিনিকম্পিউটারেরসাথে সংযোগের জন্য ব্যবহৃত হয়।
টেকট্রনিক্স 4014 : পিসি এবং ওয়ার্কস্টেশনগুলি বৃহত্তর কাচের টার্মিনালগুলিকে বাস্তুচ্যুত করে এবং বিটম্যাপ করা গ্রাফিকগুলিকে একটি আদর্শ বৈশিষ্ট্য তৈরি করার আগে, সেখানে ব্যয়বহুল গ্রাফিক্স টার্মিনাল ছিল যা উপরে বর্ণিত এস্কেপ সিকোয়েন্সগুলির অনুরূপ পাঠ্য কমান্ডগুলির প্রতিক্রিয়াতে পর্দায় গ্রাফিকগুলি আঁকত। সম্ভবত এর মধ্যে সর্বাধিক জনপ্রিয় ছিল টেকট্রনিক্স 4010 সিরিজ।
তারা ব্যবহার করতে বেশ মজা ছিল। আপনি একটি প্রোগ্রাম লিখতে পারেন যা গ্রাফিক আঁকতে পারে তবে তারপরে আপনার স্থানীয় টার্মিনালে আঁকতে কেবল এটি চালানোর পরিবর্তে আপনি এর আউটপুট কোনও ফাইলে পুনর্নির্দেশ করতে পারেন:
$ ./my4014program > my-neat-graphic
তারপরে আপনি ফাইলটি অন্য কারও কাছে প্রেরণ করতে cat
পারেন এবং তারা আপনার টেক টার্মিনালে আপনার প্রোগ্রাম না করে গ্রাফিকটি দেখতে পেত। এই টার্মিনালগুলি অঙ্কনের ক্ষেত্রে কতটা ধীরগতির ছিল মনোমুগ্ধকর অংশ, আপনি গ্রাফিকটিকে কয়েক সেকেন্ডের মধ্যে বাড়তি দেখতে পেলেন।
আজ ইউনিক্স টার্মিনাল এমুলেশন নিয়ে কাজ করা
আপনি পরিবেশের পরিবর্তনশীলটি curses
দেখে লাইব্রেরিগুলি কোন টার্মিনাল স্ট্যান্ডার্ডটি ব্যবহার করতে চান তা জানতে পারবেন TERM
:
$ echo $TERM
xterm-color
আপনি যখন ssh
অন্য সিস্টেমে যান, TERM
চলকটি বরাবর বহন করা হয় তাই দূরবর্তী ইউনিক্স বাক্সটি কীভাবে আপনার স্থানীয় টার্মিনালের সাথে যোগাযোগ করবেন তা জানে।
যেহেতু এই প্রোটোকলগুলির মধ্যে অনেকগুলি এএনএসআই এক্স 3.64 বৈকল্পিক এবং সর্বব্যাপী এএসসিআইআই এবং ইউটিএফ -8 অক্ষর কোডিং মানগুলি এত বেশি যত্ন নেয় তাই একটি ভুল TERM
ভেরিয়েবল সাধারণত বিপর্যয়কর নয়। যে জিনিসগুলি ভাঙ্গার প্রবণতা তা হ'ল বাড়ানো এবং কীভাবে বাড়ানো কীগুলি, আল্ট-যা-কী কী সংমিশ্রণগুলি এবং রঙ, বোল্ডফেস ইত্যাদি টাইপোগ্রাফিক ডিসপ্লে বৈশিষ্ট্য are
পাদটিকা:
সর্বাধিক সাধারণত, ncurses ।
এসআই -ল্যাংয়েরcurses
মতো এপিআই- তে সরাসরি প্রতিযোগীও রয়েছে ।
এটিএন্ডটি terminfo
বিএসডি এর termcap
ডেটাবেসগুলির প্রতিস্থাপন হিসাবে ঘোষণা করেছিল এবং এটি প্রতিস্থাপনে এটি বেশিরভাগ ক্ষেত্রে সফল হয়েছিল, তবে এখনও সেখানে প্রোগ্রাম রয়েছে যা এখনও পুরানো termcap
ডাটাবেস ব্যবহার করে। এটি এখনও অনেক আধুনিক বিএসডি বনাম এটি এবং টি পার্থক্যগুলির মধ্যে একটি যা আপনি এখনও আধুনিক সিস্টেমে খুঁজে পেতে পারেন।
আমার ম্যাকোস বাক্সটি নেই /etc/termcap
, তবে এটি রয়েছে /usr/share/terminfo
, যেখানে ফ্রিবিএসডি-র একটি স্ট্যান্ডার্ড ইনস্টলেশনটি প্রায় বিপরীত পথে, যদিও এই দুটি ওএস কমান্ড লাইন স্তরে প্রায়শই একই রকম হয়।
minicom
, xterm
, mintty
, গনোম টার্মিনাল , Terminal.app , ইত্যাদি
যথাযথভাবে লিখিত ইউনিক্স প্রোগ্রামগুলি সরাসরি এই পালানোর ক্রমগুলি নির্গত করে না । পরিবর্তে, তারা উপরে বর্ণিত একটি গ্রন্থাগার ব্যবহার করে এটি "কার্সারকে অবস্থানের (1,1)" বা অন্য যে কোনও স্থানে নিয়ে যেতে বলে এবং লাইব্রেরিটি আপনার TERM
পরিবেশ পরিবর্তনশীল সেটিংয়ের উপর ভিত্তি করে প্রয়োজনীয় টার্মিনাল নিয়ন্ত্রণ কোড নির্গত করে । আপনি কোন টার্মিনালটিতে এটি চালান তা বিবেচনা করেই প্রোগ্রামটি সঠিকভাবে কাজ করতে দেয়।
পুরানো পাঠ্য টার্মিনালগুলিতে প্রচুর অদ্ভুত বৈশিষ্ট্য রয়েছে যা প্রোগ্রামগুলি দ্বারা প্রচুর ব্যবহার পায় না, তাই অনেক জনপ্রিয় টার্মিনাল এমুলেটর প্রোগ্রাম কেবল এই বৈশিষ্ট্যগুলি প্রয়োগ করে না। সাধারণ বাদ দেওয়াগুলি সিক্সেল গ্রাফিক্স এবং ডাবল-প্রস্থ / ডাবল-উচ্চতার পাঠ্য মোডের জন্য সমর্থন।
রক্ষণাবেক্ষণকারী xterm
একটি প্রোগ্রাম লিখেছিলেন vttest
যেমন ভিটি টার্মিনাল এমুলেটর পরীক্ষা করার জন্য xterm
। তারা অন্যান্য বৈশিষ্ট্যগুলি সমর্থন করে না তা খুঁজে পেতে আপনি এটি অন্যান্য টার্মিনাল এমুলেটরগুলির বিরুদ্ধে চালাতে পারেন।