~에 따르면Bash 팁: 색상 및 형식(ANSI/VT100 제어 시퀀스)내 프로그램에서 깜박임 코드를 활성화하려고 시도했지만 깜박임 코드가 제거되었을 수 있습니다. 이거 진짜야?
그렇지 않은 경우 깜박임 코드를 도와주세요.
답변1
이것깜박거리다기능은 터미널(또는 터미널 에뮬레이터)에 따라 다릅니다. 사용하게 될 대부분의 터미널은 VT100 호환성과 같이 ECMA-48에 문서화된 제어 시퀀스를 허용합니다. 제어 시퀀스는
- 특정 터미널에서 깜박임이 발생하거나
- 특정 색상으로 표시되거나
- 주어진 터미널에서는 단순히 무시됩니다
응용 프로그램은 일반적으로 터미널 설명(terminfo 또는 termcap)을 사용합니다. 터미널 설명에 깜박이는 방법이 나와 있지 않으면 애플리케이션도 이를 알 수 없습니다.
컴퓨터에 해당 항목 infocmp
(terminfo용)이 있으면 표시됩니다.능력터미널 설명에 나열되어 있습니다. bash
찾기 전용 blink
- termcap 애플리케이션이므로 termcap 이름을 사용합니다. 더 일반적으로, terminfo는 깜박임을 사용하는 방법을 설명할 수도 있습니다 sgr
(termcap 설명에서는 사용할 수 없음).
예를 들어 다음은 terminfo 설명입니다 vt100
.
> infocmp vt100
# Reconstructed via infocmp from file: /usr/local/ncurses/share/terminfo/v/vt100
vt100|vt100-am|dec vt100 (w/advanced video),
am, mc5i, msgr, xenl, xon,
cols#80, it#8, lines#24, vt#3,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
clear=\E[H\E[J$<50>, 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$<2>,
cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq,
ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD,
kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy,
kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt,
kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, lf1=pf1, lf2=pf2,
lf3=pf3, lf4=pf4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8,
rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
해당 termcap은 다음과 같습니다.
> infocmp -Cr vt100
# Reconstructed via infocmp from file: /usr/local/ncurses/share/terminfo/v/vt100
vt100|vt100-am|dec vt100 (w/advanced video):\
:5i:am:bs:ms:xn:xo:\
:co#80:it#8:li#24:vt#3:\
:@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\
:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\
:ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
:ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\
:eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\
:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\
:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\
:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\
:ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\
:..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>:\
:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\
:up=\E[A:us=\E[4m:
( 설명에서 볼 수 있듯이 termcap의 이름은 blink
입니다 .)mb
그러니까...못 봤다면깜박거리다(a) 터미널 자체 또는 (b) 터미널 설명일 수 있는 텍스트입니다.
추가 자료:
답변2
printf '\033[5mHello\033[0m\n'
생산하다:
깜박이는 텍스트
- 멋진 레트로 용어 1.1.1
- 기본 터미널 5.3.4
- 그놈 터미널 3.32.1
- konsole5 18.12.3
- 페어링 단자 1.22.1
- 네모터미널 4.0.0
- q터미널 0.14.0
- rxvt-유니코드 9.22
- 세인트 0.8.1
- 터미네이터 1.91
- xfce4-터미널 0.8.7.4
- xterm 344
- 우시 3.0.5
- macOS: 터미널 및 iTerm2(프로필 > 텍스트 > 텍스트 렌더링에서 활성화된 경우)
배경색으로 강조 표시
- FreeBSD 12 콘솔
- 에템
- Windows: mintty(Cygwin에서 사용), PuTTY
전경색으로 강조 표시
- 이맥스 터미널 5.3.4
- Windows: TeraTerm
역방향 비디오 입력
- 미스터 xvt
효과 없음
- 리눅스 콘솔
- 솔라리스 11.4 콘솔
- 구아케 0.8.8
- LilyTerms 0.9.9.2
- 용어 1.5.1
- LX 터미널 0.3.2
- RoxTerm 3.7.3
- 흰개미 2.9.6
- macOS: iTerm2(명시적으로 활성화되지 않은 경우)
답변3
때로는 설정이 숨겨져 있습니다.깊은터미널 에뮬레이터의 설정에서.
ITerm2에서:
- 우선 사항( ⌘,)
- 프로필
- 어두움 (->현재 프로필)
- 텍스트
- 텍스트 렌더링
- ✓ 깜박이는 텍스트 허용
답변4
나는 이것을 찾고 있었다. 저는 레드햇 리눅스를 사용하고 있습니다. 많은 실험 끝에 echo -e "\e[5m Hello world \e[0m" 은 그래픽 모드(예: Ctrl+alt+F7)에서 깜박이지 않는 것으로 나타났습니다. ctrl+alt+F1부터 ctrl+alt+F6까지의 명령줄 모드에서만 작동합니다.