लिनक्स कंसोल के कर्सर के आकार, रंग और ब्लिंक्रेट को कैसे बदलें?


23

मुझे पता है कि मैं लिनक्स कंसोल की कुछ मूलभूत सेटिंग्स को बदल सकता हूं, उदाहरण के लिए, फोंट जैसी चीजें dpkg-reconfigure console-setup

लेकिन मैं पलक झपकते, रंग और आकार जैसी चीजों को बदलना चाहता हूं (मैं चाहता हूं कि मेरा कर्सर हर समय एक ब्लॉक हो)। मैंने लोगों को इसे पूरा करते देखा है। मुझे कभी उन लोगों से पूछने का मौका नहीं मिला कि मैं ऐसा कैसे कर सकता हूं।

मेरा मतलब टर्मिनल एमुलेटर विंडो नहीं है, मेरा मतलब है कि लिनक्स टेक्स्ट कंसोल, आप Ctrl+ Alt+ के साथ पहुँचते हैंF-key

मैं इस समय लिनक्स मिंट का उपयोग कर रहा हूं, जो डेबियन व्युत्पन्न है। मैं जानना चाहता हूं कि फेडोरा में भी ऐसा कैसे करना है, हालांकि।


संपादित करें: मैं कुछ पर हो सकता है

मैंने इस वेबसाइट से सीखा , मुझे उन परिवर्तनों को कैसे करना है जो मुझे चाहिए। लेकिन मैं अभी खत्म नहीं हुआ हूं।

मैं का उपयोग कर पर बसे गया है echo -e "\e[?16;0;200c"अब के लिए, लेकिन मैं एक समस्या है: जब चल अनुप्रयोगों की तरह vimया irssi, या एक स्क्रीन सत्र संलग्न, कर्सर वापस आ जाता एक निमिष ग्रे अंडरस्कोर होने के लिए वापस।

और हां, यह केवल इस पर काम करता है कि ttyअन्य सभी पाठ कंसोल अप्रभावित हैं।

तो मैं उन परिवर्तनों को स्थायी कैसे बना सकता हूं? मैं उन्हें अन्य कंसोल में कैसे पॉप्युलेट कर सकता हूं?


1
आप जांच कर सकते हैं setterm(1)और set(1P)

@ और कैसे बिल्कुल? मैं settermकंसोल बीप को बंद करने के लिए उपयोग करता हूं , लेकिन मुझे कर्सर आकार कैसे सेट करना चाहिए? वास्तव में, settermपहला स्थान था जो मैंने भागने के क्रम को खोजने से पहले देखा था।
पोलीमोन

मैं बस एक निराला टर्मिनल को बहाल करने का एक त्वरित तरीका चाहता था। @ user13742 की टिप्पणी ने मेरे लिए काम किया: सेटरम-कर्सर ऑन
क्यूनील

जवाबों:


12

GitHub Gist: लिनक्स कंसोल के कर्सर के आकार, रंग और ब्लिंक्रेट को कैसे बदलें

मैं अपनी .bashrcफ़ाइल में (या /etc/bashrc) निम्नलिखित कर्सर स्वरूपण सेटिंग्स को परिभाषित करता हूं :

##############
# pretty prompt and font colors
##############

# alter the default colors to make them a bit prettier
echo -en "\e]P0000000" #black
echo -en "\e]P1D75F5F" #darkred
echo -en "\e]P287AF5F" #darkgreen
echo -en "\e]P3D7AF87" #brown
echo -en "\e]P48787AF" #darkblue
echo -en "\e]P5BD53A5" #darkmagenta
echo -en "\e]P65FAFAF" #darkcyan
echo -en "\e]P7E5E5E5" #lightgrey
echo -en "\e]P82B2B2B" #darkgrey
echo -en "\e]P9E33636" #red
echo -en "\e]PA98E34D" #green
echo -en "\e]PBFFD75F" #yellow
echo -en "\e]PC7373C9" #blue
echo -en "\e]PDD633B2" #magenta
echo -en "\e]PE44C9C9" #cyan
echo -en "\e]PFFFFFFF" #white
clear #for background artifacting

# set the default text color. this only works in tty (eg $TERM == "linux"), not pts (eg $TERM == "xterm")
setterm -background black -foreground green -store

# http://linuxgazette.net/137/anonymous.html
cursor_style_default=0 # hardware cursor (blinking)
cursor_style_invisible=1 # hardware cursor (blinking)
cursor_style_underscore=2 # hardware cursor (blinking)
cursor_style_lower_third=3 # hardware cursor (blinking)
cursor_style_lower_half=4 # hardware cursor (blinking)
cursor_style_two_thirds=5 # hardware cursor (blinking)
cursor_style_full_block_blinking=6 # hardware cursor (blinking)
cursor_style_full_block=16 # software cursor (non-blinking)

cursor_background_black=0 # same color 0-15 and 128-infinity
cursor_background_blue=16 # same color 16-31
cursor_background_green=32 # same color 32-47
cursor_background_cyan=48 # same color 48-63
cursor_background_red=64 # same color 64-79
cursor_background_magenta=80 # same color 80-95
cursor_background_yellow=96 # same color 96-111
cursor_background_white=112 # same color 112-127

cursor_foreground_default=0 # same color as the other terminal text
cursor_foreground_cyan=1
cursor_foreground_black=2
cursor_foreground_grey=3
cursor_foreground_lightyellow=4
cursor_foreground_white=5
cursor_foreground_lightred=6
cursor_foreground_magenta=7
cursor_foreground_green=8
cursor_foreground_darkgreen=9
cursor_foreground_darkblue=10
cursor_foreground_purple=11
cursor_foreground_yellow=12
cursor_foreground_white=13
cursor_foreground_red=14
cursor_foreground_pink=15

cursor_styles="\e[?${cursor_style_full_block};${cursor_foreground_black};${cursor_background_green};c" # only seems to work in tty

# http://www.bashguru.com/2010/01/shell-colors-colorizing-shell-scripts.html
prompt_foreground_black=30
prompt_foreground_red=31
prompt_foreground_green=32
prompt_foreground_yellow=33
prompt_foreground_blue=34
prompt_foreground_magenta=35
prompt_foreground_cyan=36
prompt_foreground_white=37

prompt_background_black=40
prompt_background_red=41
prompt_background_green=42
prompt_background_yellow=43
prompt_background_blue=44
prompt_background_magenta=45
prompt_background_cyan=46
prompt_background_white=47

prompt_chars_normal=0
prompt_chars_bold=1
prompt_chars_underlined=4 # doesn't seem to work in tty
prompt_chars_blinking=5 # doesn't seem to work in tty
prompt_chars_reverse=7

prompt_reset=0

#start_prompt_coloring="\e[${prompt_chars_bold};${prompt_foreground_black};${prompt_background_green}m"
start_prompt_styles="\e[${prompt_chars_bold}m" # just use default background and foreground colors
end_prompt_styles="\e[${prompt_reset}m"

PS1="${start_prompt_styles}[\u@\h \W] \$${end_prompt_styles}${cursor_styles} "

##############
# end pretty prompt and font colors
##############

2
किसी के साथ आने से पहले मुझे सचमुच वर्षों तक प्रतीक्षा करने के लिए +1। धन्यवाद दोस्त!
पोलीमोन

1
मेरे मामले में नीला था 32, हरा था 64और लाल था 128। अन्य रंगों को प्राप्त करने के लिए, आप बस उन्हें जोड़ते हैं। उदाहरण के लिए, सियान = नीला + हरा। इसलिए, सियान पाने के लिए 32 + 64 = 96, इसलिए, आपको लिखने की आवश्यकता है 96। सफेद = लाल + हरा + नीला। इसलिए, मेरे मामले में, सफेद है 32 + 64 + 128 = 224
उत्कु

-bash: setterm: command not foundMacOS Mojave पर त्रुटि 10.14.2 ?
दुत ए।

7

अधिकांश एप्लिकेशन कर्सर को "सामान्य" स्थिति में वापस सेट करने के लिए cnorm क्षमता का उपयोग करते हैं। डिफ़ॉल्ट रूप से यह ब्लिंकिंग अंडरलाइन है। लेकिन आप इसे अपने कार्यकाल में ओवरराइड कर सकते हैं। यह अधिकांश अनुप्रयोगों (विम, tmux, आदि) को ठीक करना चाहिए। इन आदेशों को जारी करें:

infocmp -A /usr/share/terminfo linux > linux
patch -lp1 <<EOF
--- a/linux
+++ b/linux
@@ -4,7 +4,7 @@ linux|linux console,
    colors#8, it#8, ncv#18, pairs#64,
    acsc=+\020\,\021-\030.^Y0\333\`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
    bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l\E[?1c,
-   clear=\E[H\E[J, cnorm=\E[?25h\E[?0c, cr=^M,
+   clear=\E[H\E[J, cnorm=\E[?25h\E[?48;0;32c, cr=^M,
    csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
    cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
    cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
EOF
tic linux
rm linux

अपनी आवश्यकताओं के लिए उपरोक्त पैच को संशोधित करें। यह ~ / .terminfo / l / linux बनाना चाहिए जिसे अधिकांश टर्मिनल ऐप द्वारा उठाया जाना चाहिए।


3

यदि आप बैश का उपयोग करते हैं, तो आप PROMPT_COMMAND का उपयोग कर सकते हैं जो प्रत्येक कमांड के बाद एक कमांड निष्पादित करेगा। निम्नलिखित को अपने .bashrc में रखें

PROMPT_COMMAND='echo -e "\e[?16;0;200c"'

मैं लगभग उस तरह से कुछ कर रहा था, लेकिन मुझे पूरा यकीन है कि मैं एक कर्नेल विकल्प की तरह या जो कुछ भी चाहता हूं उसे पूरा कर सकता हूं।
पोलीमोन

या PROMPT_COMMAND='echo -e "\033[?16;0;224c"'अगर आप एक नारंगी ब्लॉक के बजाय एक गैर निमिष ठोस सफेद ब्लॉक चाहते हैं।
उत्कु
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.