कैसे मैं tty में htop के लिए फंक्शन कीज़ पास कर सकता हूँ?


9

मैं htoptty1 में उपयोग करने की कोशिश कर रहा हूँ । हालाँकि, कुछ फ़ंक्शन कुंजियाँ सामान्य के रूप में काम नहीं करती हैं। F1और F2कुछ भी न करें, और F3सेटअप को ट्रिगर करने के लिए लगता है (जिसे सामान्य रूप से ट्रिगर किया जाना चाहिए F2)। इसके अलावा, F4और F5काम नहीं करते। इसके अलावा, जब मैं कोशिश करता हूं और Escइन स्क्रीन से बाहर निकलने के लिए प्रेस करता हूं, तो मुझे इसे दो बार दबाना होगा।

एक सामान्य टर्मिनल ( terminator) में, फ़ंक्शन कुंजियाँ ठीक काम करती हैं। हालांकि, मुझे Escयहां भी दो बार प्रेस करना है, इसलिए शायद यह एक लाल हेरिंग है।

मैं tty1 में इन फ़ंक्शन कुंजियों का उपयोग कैसे कर सकता हूं?

संपादित करें

TTY1 में, अगर मैं प्रेस Ctrl+ vतो F1करने के लिए F5, आदि मैं निम्नलिखित उत्पादन प्राप्त करें:

^[[[A
^[[[B
^[[[C
^[[[D
^[[[E

में terminator, मुझे मिलता है

^[OP
^[OQ
^[OR
^[OS
^[[15~

इसके ऊपर फ़ंक्शन कुंजियाँ समतुल्य हैं (उदाहरण के ^[[17~लिए F6)।

EDIT 2

स्टीफन चेज़लस की टिप्पणी के जवाब में ।

  • $TERMtty1 में मेरे "सामान्य", वर्किंग टर्मिनल के समान ही है। यह है xterm-256color।
  • मैं स्क्रीन या tmux का उपयोग नहीं कर रहा हूँ।
  • मैं htop1.0.3 का उपयोग कर रहा हूं , हालांकि मेरा पहला संपादन यह मुद्दा है कि यह एक मुद्दा है htop।

"क्या infocmp -L1 | grep key_fआपके लिए वे चाबियां भेजते हैं?

मुझे यकीन नहीं है कि आप "मैच से क्या मतलब रखते हैं जो उन चाबियाँ आपके लिए भेजते हैं", लेकिन मैंने अपने सामान्य टर्मिनल और tty1 दोनों में इस कमांड को चलाया, और आउटपुट समान था, नीचे के रूप में।

key_f1=\EOP,
key_f10=\E[21~,
key_f11=\E[23~,
key_f12=\E[24~,
key_f13=\E[1;2P,
key_f14=\E[1;2Q,
key_f15=\E[1;2R,
key_f16=\E[1;2S,
key_f17=\E[15;2~,
key_f18=\E[17;2~,
key_f19=\E[18;2~,
key_f2=\EOQ,
key_f20=\E[19;2~,
key_f21=\E[20;2~,
key_f22=\E[21;2~,
key_f23=\E[23;2~,
key_f24=\E[24;2~,
key_f25=\E[1;5P,
key_f26=\E[1;5Q,
key_f27=\E[1;5R,
key_f28=\E[1;5S,
key_f29=\E[15;5~,
key_f3=\EOR,
key_f30=\E[17;5~,
key_f31=\E[18;5~,
key_f32=\E[19;5~,
key_f33=\E[20;5~,
key_f34=\E[21;5~,
key_f35=\E[23;5~,
key_f36=\E[24;5~,
key_f37=\E[1;6P,
key_f38=\E[1;6Q,
key_f39=\E[1;6R,
key_f4=\EOS,
key_f40=\E[1;6S,
key_f41=\E[15;6~,
key_f42=\E[17;6~,
key_f43=\E[18;6~,
key_f44=\E[19;6~,
key_f45=\E[20;6~,
key_f46=\E[21;6~,
key_f47=\E[23;6~,
key_f48=\E[24;6~,
key_f49=\E[1;3P,
key_f5=\E[15~,
key_f50=\E[1;3Q,
key_f51=\E[1;3R,
key_f52=\E[1;3S,
key_f53=\E[15;3~,
key_f54=\E[17;3~,
key_f55=\E[18;3~,
key_f56=\E[19;3~,
key_f57=\E[20;3~,
key_f58=\E[21;3~,
key_f59=\E[23;3~,
key_f6=\E[17~,
key_f60=\E[24;3~,
key_f61=\E[1;4P,
key_f62=\E[1;4Q,
key_f63=\E[1;4R,
key_f7=\E[18~,
key_f8=\E[19~,
key_f9=\E[20~,

1
Tty1 पर, शेल प्रॉम्प्ट पर, Ctrl+Vफिर दबाएँ F1, और देखें कि क्या डाला जाता है। के लिए दोहराएँ F2, F3, F4और F5, और फिर टर्मिनेटर में भी ऐसा ही। हमें बताओ कि तुम क्या देखते हो।
— गिल्स एसओ- बुराई को रोकना '

@ प्रश्न प्रश्न संपादित किया गया है।
— स्परहॉक

$TERMवहां का मूल्य क्या है ? क्या आप स्क्रीन या tmux का उपयोग कर रहे हैं? Htop का क्या संस्करण? क्या infocmp -L1 | grep key_fआपके लिए वे चाबियां भेजते हैं जो मेल खाती हैं?
— स्टीफन चेज़लस

@ स्टीफनचेलजैस मैंने प्रश्न संपादित किया है।
— स्पार्कहॉक

2
यह TERM = linux होना चाहिए, linux virtual कंसोल का शायद ही xterm से कोई लेना-देना है। गेट्टी को आपके लिए $ TERM सेट करना चाहिए, आपको इसे ओवरराइट नहीं करना चाहिए।
— स्टीफन चेज़लस

जवाबों:


4

व्यवस्थित करके:

export TERM=xterm-256color

आप बता रहे हैं htop(और हर दूसरे विज़ुअल टर्मिनल एप्लिकेशन जो टर्मकैप या टर्मोफ़ डेटाबेस का उपयोग करता है) कि आपका टर्मिनल 256 रंग का xterm है न कि लिनक्स वर्चुअल कंसोल।

htopवर्णों के अनुक्रम को किस आधार पर भेजा जाता है F1, यह जानने के लिए टर्मोफ़ डेटाबेस की क्वेरी की जाएगी F2... लेकिन इसके लिए उन्हें मिलेगा xterm।

xtermउन कुंजियों के लिए लिनक्स वर्चुअल कंसोल की तुलना में अलग-अलग अनुक्रम भेजता है जिन्हें आप infocmpउदाहरण के लिए हाथ से टर्मो डेटाबेस को क्वेरी करके सत्यापित कर सकते हैं :

$ infocmp -L1 xterm-256color | grep 'key_f[1-5]='
        key_f1=\EOP,
        key_f2=\EOQ,
        key_f3=\EOR,
        key_f4=\EOS,
        key_f5=\E[15~,
$ infocmp -L1 linux | grep 'key_f[1-5]='
        key_f1=\E[[A,
        key_f2=\E[[B,
        key_f3=\E[[C,
        key_f4=\E[[D,
        key_f5=\E[[E,

तो एक के रूप में htopनहीं पहचाना जाएगा , यह उस के लिए उम्मीद करेंगे।\E[[AF1\EOP

यहाँ, आप $TERMमें मान निर्दिष्ट नहीं करना चाहते हैं ~/.bashrc। $TERMटर्मिनल एमुलेटर ( xterm, terminator) द्वारा खुद को और gettyलिनक्स वर्चुअल कंसोल ( linuxवहां होना चाहिए ) द्वारा सेट किया जाना चाहिए ।

यदि आप उस मूल्य से खुश नहीं हैं जो किसी विशेष टर्मिनल एमुलेटर के लिए चुनता है $TERM, तो उस टर्मिनल एमुलेटर का कॉन्फ़िगरेशन जिसे आपको अपडेट करना चाहिए।


मैक पर, बस टर्मिनल प्राथमिकताएं खोलें और "एएनएसआई" से बदल दें xterm-256color।
— Xeoncross

विस्तृत विवरण के लिए धन्यवाद। मेरे मामले में, KiTTY (PuTTY का कांटा) सेटिंग $TERMकर रहा xterm-256colorथा, लेकिन ESC[n~फ़ंक्शन कुंजियों का उपयोग करने के लिए सेट किया गया था । मैंने XTerm R6सेटिंग्स और उसके सभी काम में उपयोग करने के लिए फ़ंक्शन कुंजियों को बदल दिया है ।
— एलन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.