এই ভেরিয়েবলগুলির একটি গুচ্ছ সেট করার সময় আমি ম্যানপেজে এই সুন্দর রঙগুলি কম দেখি । তাদের অর্থ কী, ডকুমেন্টেশন কোথায়? এটি কম বা টার্মক্যাপ দ্বারা ব্যাখ্যা করা হয়?
এই ভেরিয়েবলগুলির একটি গুচ্ছ সেট করার সময় আমি ম্যানপেজে এই সুন্দর রঙগুলি কম দেখি । তাদের অর্থ কী, ডকুমেন্টেশন কোথায়? এটি কম বা টার্মক্যাপ দ্বারা ব্যাখ্যা করা হয়?
উত্তর:
Termcap একটি লাইব্রেরি যা টার্মিনাল অ্যাক্সেস করতে কম ব্যবহার করে। টার্মিন্যাপ মূলত অপ্রচলিত, টার্মিনফো দ্বারা প্রতিস্থাপন করা হয়েছে , তবে টার্মিনফো অ্যাপ্লিকেশনগুলিতে টার্মক্যাপের সামঞ্জস্যতা ইন্টারফেস সরবরাহ করে। টার্মক্যাপ ইন্টারফেসে কম বিষয়বস্তু এবং এটি ব্যবহার করে।
টার্মক্যাপ লাইব্রেরি টার্মিনালের সুবিধাগুলির বিবরণ। প্রতিটি সুবিধা একটি দ্বি-বর্ণ (বা আরও সাধারণভাবে দুটি-অক্ষর) কোড দ্বারা চিহ্নিত করা হয়। উদাহরণস্বরূপ, hc
হার্ডকপি টার্মিনাল সনাক্ত করে (অর্থাত্ মুদ্রকগুলি, পর্দা নয়); co
কলামের সংখ্যা; md
গা bold় পাঠ্য প্রদর্শন করা শুরু করে। প্রতিটি সক্ষমতার একটি মান থাকে যা একটি বুলিয়ান (যেমন হিসাবে hc
), একটি পূর্ণসংখ্যা (যেমন হিসাবে co
) বা স্ট্রিং (যেমন হিসাবে md
) হতে পারে। স্ট্রিংগুলির মধ্যে অনেকগুলি এস্কেপ সিকোয়েন্স হয় যা নির্দিষ্ট প্রভাব অর্জনের জন্য অ্যাপ্লিকেশনগুলি টার্মিনালে প্রেরণ করতে পারে।
সিকোয়েন্স ক্রম কেন? কারণ টার্মিনাল এবং অ্যাপ্লিকেশনগুলির মধ্যে ইন্টারফেসটি একটি অক্ষর প্রবাহ (আরও স্পষ্টভাবে, প্রতিটি দিকের একটি অক্ষর প্রবাহ: ব্যবহারকারী ইনপুট জন্য একটি, আউটপুট প্রদর্শন করার জন্য একটি)। যখন কোনও অ্যাপ্লিকেশন টার্মিনালে একটি অক্ষর লিখবে, এটি সাধারণত প্রদর্শিত হয়। কয়েকটি চরিত্রের একটি আলাদা আচরণ রয়েছে: এগুলি হ'ল কন্ট্রোল ক্যারেক্টার, যা কার্সারকে চারদিকে ঘুরিয়ে দেওয়া, প্রদর্শন বৈশিষ্ট্যগুলি স্যুইচ করা ইত্যাদির মতো করে control একটি বিশেষ চরিত্র (প্রায়শই পালানোর চরিত্র, তাই নাম)
উদাহরণস্বরূপ, কম যখন কিছু গা bold় পাঠ্য প্রদর্শন করতে চায়, তখন এটি md
সক্ষমতার মানটি দেখায় । এটি একটি স্ট্রিং, যা কম টার্মিনালে লিখেছে। টার্মিনালটি এই স্ট্রিংটিকে একটি পালানোর ক্রম হিসাবে স্বীকৃতি দেয় এবং এর অভ্যন্তরীণ অবস্থাটি সামঞ্জস্য করে যাতে পরবর্তী অক্ষরগুলি সাহসের সাথে প্রদর্শিত হবে।
হার্ডওয়্যার টার্মিনালের প্রথম দিনগুলিতে, বিভিন্ন ব্র্যান্ডের বিভিন্ন পালানোর ক্রম এবং ক্ষমতা ছিল; টার্মক্যাপ ডাটাবেস এবং ইন্টারফেস উদ্ভাবিত হয়েছিল যাতে অ্যাপ্লিকেশনগুলিকে প্রতিটি টার্মিনাল মডেল সম্পর্কে জানতে না হয়। আজকাল বেশিরভাগ টার্মিনাল এমুলেটরগুলির খুব একই রকমের ক্ষমতা রয়েছে তবে টার্মক্যাপ বা টার্মিনফো ডাটাবেসটি এখনও সামান্য পার্থক্য মোকাবেলায় দরকারী।
LESS_TERMCAP_*
ভেরিয়েবল পরিবেশে বা নির্ধারণ করা যাবে .lesskey
ফাইল । এটি টার্মিনাল সক্ষমতার জন্য বিকল্প মানের সাথে কম সরবরাহ করে। কম যখন একটি টার্মিনাল ক্ষমতা ব্যবহার করতে চায়, সাহসী হয়ে বলুন, কোনও LESS_TERMCAP_md
ভেরিয়েবল আছে কিনা তা এটি প্রথমে পরীক্ষা করে । যদি এই ভেরিয়েবলটি বিদ্যমান থাকে তবে কম তার ভ্যালুতে স্যুইচ করতে পালাবার ক্রম হিসাবে এর মানটি ব্যবহার করে। যদি তা না হয় তবে এটি Termcap ডাটাবেস থেকে মানটি ব্যবহার করে। এই প্রক্রিয়াটি ব্যবহারকারীকে কমের জন্য Termcap ডাটাবেস সেটিংস ওভাররাইড করতে দেয়।
সর্বাধিক দরকারী LESS_TERMCAP_*
সেটিংস হ'ল এস্কেপ সিকোয়েন্স। আপনি বিভিন্ন বৈশিষ্ট্যের বৈশিষ্ট্যগুলি মানচিত্র করতে পারেন। আপনি tput
সিস্টেমের টার্মক্যাপ বা টার্মিনফো ডাটাবেসে বর্তমান টার্মিনালের জন্য সক্ষমতাটির মান অনুসন্ধান করতে কমান্ডটি ব্যবহার করতে পারেন । আপনি যদি টার্মিনাল নির্ভর নির্ভর না করে তবে আপনি সরাসরি পালানোর সিকোয়েন্স ব্যবহার করতে পারেন। উদাহরণস্বরূপ, এই সেটিংটি গা bold়ভাবে প্রদর্শন করার নির্দেশ দেওয়া হলে গা bold় লালতে কম দেখাতে বলে:
LESS_TERMCAP_md=$(tput md; tput AF 1)
অথবা যদি আপনার tput
আদেশটি Termcap নামগুলি সমর্থন করে না:
LESS_TERMCAP_md=$(tput bold; tput setaf 1)
ম্যান কিছু খুব সাধারণ বিন্যাস সহ কম পাঠ্য পাঠায় যা কেবল সাহসী এবং তির্যক প্রকাশ করতে পারে। এছাড়াও, কম তার অভ্যন্তরীণ ব্যবহারের জন্য বিভিন্ন ফর্ম্যাটিং ক্ষমতা ব্যবহার করে যেমন অনুসন্ধানের ফলাফলগুলি হাইলাইট করতে এবং নীচে মোড লাইনটি প্রদর্শন করতে। এখানে কয়েকটি অব্যাহতি ক্রম রয়েছে যা কম ব্যবহার করে (আমি কেবল এমন ক্ষমতাগুলি তালিকাবদ্ধ করি যা এটি পুনর্নির্মাণের জন্য যুক্তিসঙ্গতভাবে কার্যকর):
termcap terminfo
ks smkx make the keypad send commands
ke rmkx make the keypad send digits
vb flash emit visual bell
mb blink start blink
md bold start bold
me sgr0 turn off bold, blink and underline
so smso start standout (reverse video)
se rmso stop standout
us smul start underline
ue rmul stop underline
রঙে আউটপুট দেখানোর জন্য, setaf
ক্ষমতা (বা AF
টার্মক্যাপ সহ) ব্যবহার করুন।
LESS_TERMCAP_*
সেটিংস উল্লেখ করা হয় নি LESS
ডকুমেন্টেশন। আমি দিতে পারেন সেরা রেফারেন্স আমার উত্তর এখানে ।
LESS_TERMCAP_*
tput
গিলসের উত্তরটি দুর্দান্ত, তবে এটি আমাকে কৌতূহলযুক্ত করেছিল:
টার্মিন্যাপ মূলত অপ্রচলিত, টার্মিনফো দ্বারা প্রতিস্থাপিত হয়েছে
যদি টার্মক্যাপ অপ্রচলিত হয় তবে আমি টার্মিনফোতে স্যুইচ করতে চাই
আমি Termcap থেকে সরে যেতে চাই কারণ আমি একটি বাগ পেয়েছি। বলুন আপনি নিজের ~/.profile
বা অনুরূপ একটি টার্মক্যাপ ভেরিয়েবল রেখেছেন :
export LESS_TERMCAP_so=$(printf '\33[5;30;43m')
export LESS_TERMCAP_se=$(printf '\33[m')
এর পরে যদি আপনি প্রবেশ করেন set
তবে Termcap ভেরিয়েবলগুলি আপনার রঙের আউটপুটকে বিশৃঙ্খলা করে।
টার্মিনফোতে পরিবর্তন করতে, আপনি একটি ফাইল তৈরি করতে পারেন xterm-pretty.ti
:
xterm-pretty|xterm with pretty colors,
# exit standout mode
rmso=\e[m,
# begin standout mode
smso=\e[5;30;43m,
# similar terminal
use=xterm,
ফাইলটি সংকলন এবং ইনস্টল করুন:
tic xterm-pretty.ti
এর সাথে লাইন যুক্ত করুন ~/.profile
বা অনুরূপ:
TERM=xterm-pretty