Linux 콘솔의 커서 모양, 색상 및 깜박임을 변경하는 방법은 무엇입니까?


23

글꼴과 같은 Linux 콘솔의 기본 설정을 변경할 수 있음을 알고 있습니다 dpkg-reconfigure console-setup.

그러나 깜박임, 색상 및 모양과 같은 것을 변경하고 싶습니다 (커서가 항상 블록이되기를 원합니다). 나는 사람들이 이것을 달성하는 것을 보았다. 나는 그 사람들에게 그 방법을 물어볼 기회가 없었습니다.

내가하지 평균 터미널 에뮬레이터 창을, 나는 리눅스 텍스트 콘솔을 의미, 당신이 도달 Ctrl+ Alt+F-key

나는 현재 Linux Mint를 사용하고 있는데, 이는 데비안 파생물입니다. 그래도 Fedora에서도 그렇게하는 방법을 알고 싶습니다.


편집 : 나는 뭔가에있을 수 있습니다

이 웹 사이트 에서 필요한 변경을 수행하는 방법을 배웠습니다 . 그러나 아직 끝나지 않았습니다.

내가 사용에 정착 한 echo -e "\e[?16;0;200c"지금,하지만 문제가 생겼어요 : 실행중인 응용 프로그램을 좋아하는 경우 vimirssi, 또는 화면 세션을 연결, 커서로 복귀 깜박이는 회색으로 밑줄 인에 백업 할 수 있습니다.

물론 tty다른 모든 텍스트 콘솔에는 영향을 미치지 않습니다.

어떻게 변경 사항을 영구적으로 만들 수 있습니까? 다른 콘솔에 어떻게 채울 수 있습니까?


1
당신은 체크 아웃 할 수 있습니다 setterm(1)set(1P).

@ htor와 정확히 어떻게? setterm콘솔 경고음을 끄는 데 사용 하지만 커서 모양을 어떻게 설정해야합니까? 사실, setterm탈출 시퀀스를 찾기 전에 내가 처음 보았던 곳이었습니다.
polemon

나는 막힌 터미널을 복원하는 빠른 방법을 원했습니다. @ user13742 님의 댓글이 저에게 효과적입니다 : setterm
-cursor

답변:


12

GitHub Gist : Linux 콘솔의 커서 모양, 색상 및 깜박임을 변경하는 방법

.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. 고마워요!
polemon

1
내 경우에는 파란색은 32녹색 64, 빨간색은 빨간색이었다 128. 다른 색상을 얻으려면 간단히 추가하면됩니다. 예를 들어, cyan = blue + green입니다. 따라서 청록색을 얻으려면 32 + 64 = 96을 작성해야합니다 96. 흰색 = 빨간색 + 녹색 + 파란색. 따라서 제 경우에는 흰색이 32 + 64 + 128 = 224입니다.
Utku

-bash: setterm: command not foundmacOS Mojave 10.14.2의 오류 ?
Dut A.

7

대부분의 앱은 cnorm 기능을 사용하여 커서를 "정상"상태로 다시 설정합니다. 기본적으로 이것은 밑줄이 깜박입니다. 그러나 terminfo에서 이것을 무시할 수 있습니다. 대부분의 응용 프로그램 (vim, 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

bash를 사용하면 PROMPT_COMMAND를 사용하여 각 명령 후에 명령을 실행할 수 있습니다. .bashrc에 다음을 넣으십시오.

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

나는 거의 그런 식으로 정착하고 있었지만 커널 옵션이나 다른 것으로 원하는 것을 성취 할 수 있다고 확신합니다.
polemon

또는 PROMPT_COMMAND='echo -e "\033[?16;0;224c"'주황색 블록 대신 깜박이지 않는 흰색 블록을 원할 경우 넣으십시오 .
Utku
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.