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

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

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

하지만 깜박이는 속도, 색상, 모양 등을 변경하고 싶습니다(커서가 항상 블록이기를 원함). 나는 사람들이 이런 일을 하는 것을 본 적이 있습니다. 나는 그 사람들에게 어떻게 하는지 물어볼 기회가 없었습니다.

터미널 에뮬레이터 창을 말하는 것이 아니라 Ctrl++를 사용하여 Alt액세스 할 수 있는 Linux 텍스트 콘솔을 말하는 것입니다.F-key

저는 현재 Debian에서 파생된 Linux Mint를 사용하고 있습니다. 그러나 Fedora에서 이 작업을 수행하는 방법도 알고 싶습니다.


편집하다:내가 뭔가 하고 있을지도 몰라

나는 그것으로부터 배웠다이 웹사이트, 필요한 변경을 수행하는 방법. 하지만 아직 끝나지 않았습니다.

이제 사용하기로 결정했지만 echo -e "\e[?16;0;200c"문제가 발생했습니다. 또는 스크린 세션을 첨부하는 것과 같은 응용 프로그램을 실행할 때 vim커서 irssi가 깜박이는 회색 밑줄로 되돌아갑니다.

물론 이 콘솔에서만 작동하며 tty다른 모든 텍스트 콘솔은 영향을 받지 않습니다.

그렇다면 이러한 변경 사항을 어떻게 영구적으로 만들 수 있습니까? 다른 콘솔에 어떻게 입력할 수 있나요?

답변1

GitHub 요점: 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

대부분의 응용 프로그램은 cnorm 함수를 사용하여 커서를 "정상" 상태로 다시 설정합니다. 기본적으로 이는 깜박이는 밑줄입니다. 하지만 terminfo에서 이를 재정의할 수 있습니다. 이렇게 하면 대부분의 애플리케이션(vim, tmux 등)이 수정됩니다. 다음 명령을 실행하십시오.

infocmp linux | sed 's/cnorm=[^,]*/cnorm=\\E[?25h\\E[?48;0;32c/' | tic -

이렇게 하면 대부분의 터미널 응용 프로그램이 다음에 실행될 때 선택하게 될 ~/.terminfo/l/linux가 생성됩니다.

답변3

Bash를 사용하는 경우 각 명령 다음에 명령을 실행하는 PROMPT_COMMAND를 사용할 수 있습니다. .bashrc에 다음을 입력하세요.

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

답변4

/sys/module/vt/parameters/cur_defaultGNU/Linux를 사용하고 루트 액세스 권한이 있다고 가정하면 파일을 수정하여 tty 모드에서 커서를 수정할 수 있습니다 . 함으로써

echo 0 > /sys/module/vt/parameters/cur_default

"블록 커서"가 설정됩니다.

0-7다른 모양을 얻으려면 값을 변경해야 할 수도 있습니다 . (Mint 19.3, Ubuntu 16.04 및 기타 일부 Debian 배포판에서 테스트했으며 (요청한 대로) tty에서 작동하지만 몇 가지 경우에는 작동하지 않습니다. 위의 내용을 우연히 발견했습니다. setterm@를 시도했습니다. user13742의 제안( 나는 이것이 setterm 의 파일을 수정함으로써 달성된 것으로 의심합니다 /sys/module/vt/parameter).

원천: 현재 "setterm" 값/설정 표시

https://bbs.archlinux.org/viewtopic.php?id=154433

관련 정보