আমি কোন টার্মিনাল প্রকারটি ব্যবহার করছি?


51

আমি এটি উবুন্টু 12.04 এবং ডেবিয়ান 7 উভয় দিয়ে পরীক্ষা করেছি When

echo $TERM

আমি পাই

xterm

তবে যদি আমি ড্রপডাউন মেনুটি "সহায়তা"> "সম্পর্কে" ব্যবহার করি তবে তা বলে gnome terminal 3.4.1.1

এর অর্থ কি আমি শুধু জিনোম-টার্মিনাল ব্যবহার করছি? নাকি শুধু এক্সটার্ম? নাকি জিনোম-টার্মিনালটি এক্সটার্মের এক্সটেনশন? আমি বিভ্রান্ত

উত্তর:


49

কিসের $TERMজন্য?

$TERMপরিবর্তনশীল যে টার্মিনাল ক্ষমতা সুবিধা গ্রহণ করতে অ্যাপ্লিকেশন দ্বারা ব্যবহারের জন্য।

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

যেভাবে এটি কাজ করে তা হ'ল সিস্টেমটি পরিচিত টার্মিনাল এবং তাদের ক্ষমতাগুলির একটি লাইব্রেরি রাখে। বেশিরভাগ সিস্টেমে এটি রয়েছে /usr/share/terminfo(এতে টার্মক্যাপও রয়েছে, তবে এটি উত্তরাধিকারের বেশি ব্যবহার হয় না)।

সুতরাং আসুন আমরা আপনার কাছে এমন একটি প্রোগ্রাম আছে যা লাল পাঠ্য প্রদর্শন করতে চায়। এটি মূলত terminfo গ্রন্থাগার "বলছেন যে একটি কল করে তোলে আমাকে বাইট আমি xterm টার্মিনাল জন্য লাল পাঠ্যের জন্য পাঠাতে হবে ক্রম দিতে "। তারপরে এটি কেবল those বাইটগুলি নেয় এবং সেগুলি প্রিন্ট করে।
আপনি করছেন এই নিজেকে চেষ্টা করতে পারেন tput setf 4; echo hi। এটি setfটার্মিনফো দক্ষতা পাবে এবং এটির একটি প্যারামিটার দেবে, এটি আপনার পছন্দসই 4রঙ।


কেন জিনোম টার্মিনালটি নিজের সম্পর্কে মিথ্যা:

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

আপনার টার্মিনালটি এর চারপাশে যেভাবে আসে তা হ'ল এটি কে lying সুতরাং আপনার জিনোম টার্মিনালটি " আমি এক্সটার্ম " বলছি

এক্সটারেম একটি খুব বেসিক টার্মিনাল যা এক্স 11 ভোর হওয়ার পর থেকে প্রায় হয়েছে এবং এভাবে বেশিরভাগ টার্মিনাল এমুলেটর এটি সমর্থন করে support সুতরাং জিনোম টার্মিনাল দ্বারা এটি একটি এক্সটার্ম বলে, এটি টার্মিনফো লাইব্রেরিতে সংজ্ঞাযুক্ত হওয়ার সম্ভাবনা বেশি।

আপনার টার্মিনাল প্রকারটি সম্পর্কে মিথ্যা কথাটি হ'ল এক্সটার্মের চেয়ে টার্মিনালটি আসলে অনেক বেশি সমর্থন করতে পারে (উদাহরণস্বরূপ, অনেকগুলি নতুন টার্মিনাল 256 রঙ সমর্থন করে, তবে পুরানো টার্মিনালগুলি কেবল 16 টি সমর্থন করে)। সুতরাং আপনার একটি ট্রেড অফ রয়েছে, আরও বৈশিষ্ট্য পাবেন বা আরও সামঞ্জস্য পাবেন। বেশিরভাগ টার্মিনাল আরও উপযুক্ততার জন্য বেছে নেবে এবং এভাবে তাদের বিজ্ঞাপন হিসাবে বেছে নেবে xterm

আপনি যদি এটিকে ওভাররাইড করতে চান, তবে অনেকগুলি টার্মিনাল আচরণ কনফিগার করার কোনও উপায় সরবরাহ করবে। তবে আপনি ঠিক করতে পারেন export TERM=gnome-terminal


4
কাউকে রফতানির পরামর্শ দেওয়া হচ্ছে $ TERM সত্যিই মনে হয় খোলা
ক্ষতে

1
হাঁ। আমি অনুমান করছি যে জিনোম-টার্মিনাল বাম ডেভেলপারদের $TERMসেট xtermএকটি ভাল কারণ জন্য
mulllhausen

4
@ মুল্লহাউসেন সে কারণটি আমার উত্তরে যথাযথভাবে ব্যাখ্যা করা হয়েছে ...
প্যাট্রিক

27

TERMএনভায়রনমেন্ট ভেরিয়েবল টার্মিনাল ইঙ্গিত টাইপ না টার্মিনাল অ্যাপ্লিকেশনTERMএকটি নির্দিষ্ট উদ্দেশ্য রয়েছে: এটি সেই টার্মিনালটিতে চলমান অ্যাপ্লিকেশনগুলিকে জানায় যে কীভাবে টার্মিনালের সাথে ইন্টারঅ্যাক্ট করতে হয়।

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

আজকাল, বেশিরভাগ টার্মিনালগুলি কয়েকটি সাধারণ সেট এক্সটেনশান সহ পালাবার ক্রমের একটি মানক সেট ব্যবহার করে , তাই আপনি এর বিভিন্ন মান দেখতে পাবেন না TERM। বেশিরভাগ জিইউআই টার্মিনাল এমুলেটরগুলি এক্সটারের সাথে সামঞ্জস্যপূর্ণ , ট্র্যাডিশনাল এক্স টার্মিনাল (যা এখনও ব্যবহৃত হয় এবং রক্ষণাবেক্ষণ করা হয়)।

এক্সটারম থেকে পৃথক টার্মিনাল এমুলেটরগুলি নিজের নামে টার্মিনাল ডাটাবেসে তাদের নিজস্ব এন্ট্রি যুক্ত করতে পারে। তবে এটি দূরবর্তী শেলগুলির সাথে ভাল জাল করে না। মেশিন A তে চলছে এমন একটি প্রোগ্রাম যা মেশিন বিতে প্রদর্শিত হচ্ছে, উদাহরণস্বরূপ, কারণ এটি বি থেকে শুরু করে এস-এর মাধ্যমে চালু হয়েছিল, মেশিন এ-তে টার্মিনাল ডাটাবেসটি জিজ্ঞাসা করতে হবে রিমোট লগইন পদ্ধতি যেমন এসএসএস TERMপরিবেশের পরিবর্তনশীলকে বহন করে , তবে এটি কেবল তখনই সহায়ক যখন বি এর টার্মিনাল ডাটাবেসে এ-তে মান ব্যবহারকারীর জন্য একটি এন্ট্রি থাকে তাই অনেক টার্মিনাল এমুলেটর আটকে থাকে TERM=xtermযা সর্বজনীনভাবে পরিচিত।

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

শেলটি কোন টার্মিনালটি চালাচ্ছে তা জানতে শেলটির পিতামাতার দিকে নজর দিন:

ps -p$PPID

রানিং ps -p$PPIDআমাকে বলতে কি টার্মিনাল আমি চলছি মনে হচ্ছে না। বা কমপক্ষে আমি বুঝতে পারি এমনভাবে নয়। আপনার কি আউটপুট / প্রতিক্রিয়া উদাহরণ রয়েছে?
ব্যবহারকারী 3731622

@ ব্যবহারকারীর আউটপুট হ'ল সংখ্যা এবং ক্রিপ্টিক সংক্ষিপ্তসারগুলির পরে কমান্ড লাইন। বেশিরভাগ পরিস্থিতিতে কমান্ড লাইনটিই সেই টার্মিনাল এমুলেটরটি শুরু করে যেখানে শেলটি চলছে।
গিলস

12

পরিবেশ পরিবর্তনশীল TERM এর অর্থ আপনি ব্যবহার করছেন এমন টার্মিনাল নয় the

Gnu.org উদ্ধৃতি :

এনভায়রনমেন্ট ভেরিয়েবল TERM এ টেক্সট উইন্ডোর ক্ষমতার জন্য একটি সনাক্তকারী রয়েছে। আপনি 'ক্যাটাগরিফোন' রেফারেন্স হিসাবে ব্যবহার করে> 'ইনফোক্যাম্প' কমান্ড ব্যবহার করে এই ক্যাবেলিগুলির একটি বিস্তারিত তালিকা পেতে পারেন।

এমবেডেড রঙের নির্দেশাবলী সহ পাঠ্য উত্পাদন করার সময়, # ক্যাটটি টিআরএম ভেরিয়েবলের দিকে নজর দেয়। পাঠ্য উইন্ডোজ আজ সাধারণত কমপক্ষে 8 টি রঙ সমর্থন করে। যদিও প্রায়শই, পাঠ্য উইন্ডোটি 16 বা ততোধিক রঙগুলিকে সমর্থন করে, যদিও টিআরএম ভেরিয়েবলটি কেবলমাত্র 8 টি সমর্থিত রঙগুলি চিহ্নিত করে একটি সনাক্তকারীকে সেট করা হয়। এই ক্ষেত্রে TERM ভেরিয়েবলকে আলাদা মান হিসাবে নির্ধারণ করা মূল্যবান হতে পারে:

xterm বেশিরভাগ ক্ষেত্রে 16 রঙের জন্য সমর্থন দিয়ে নির্মিত। এটি 88 বা 256 রঙের (তবে উভয়ই নয়) সমর্থন করে তৈরি করা যেতে পারে। আপনি TERM কে xterm-16color, xterm-88color বা xterm-256color এ সেট করতে চেষ্টা করতে পারেন। rxvt

rxvt প্রায়শই 16 টি রঙের জন্য সমর্থন দিয়ে নির্মিত হয়। আপনি TERM rxvt-16color এ সেট করার চেষ্টা করতে পারেন। কনসোল

কনসোলও প্রায়শই 16 টি রঙের জন্য সমর্থন করে নির্মিত হয়। আপনি কনসোল -16 কলার বা এক্সটার্ম -16 কোলারের জন্য TERM সেট করার চেষ্টা করতে পারেন।

TERM সেট করার পরে, আপনি এটি 'msgcat --color = পরীক্ষা' করে এবং আউটপুটটি যুক্তিসঙ্গত রঙের মানচিত্রের মতো দেখায় কিনা তা যাচাই করে দেখতে পারেন। এনভায়রনমেন্ট ভেরিয়েবল TERM এ টেক্সট উইন্ডোর ক্ষমতার জন্য একটি সনাক্তকারী রয়েছে। রেফারেন্স হিসাবে 'ম্যান 5 টার্মিনফো' ব্যবহার করে আপনি 'ইনফোক্যাম্প' কমান্ড ব্যবহার করে এই ক্যাবিলিটির বিস্তারিত তালিকা পেতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.