man bash
예를 들어 xterm
또는 에서 X 내부에서 작업을 수행 하면 mate-terminal
일부 단어에 밑줄이 표시됩니다.
가상 터미널에서 이 작업을 수행 하면 man bash
단어에 동일한 색상이 표시됩니다.
X에서 같은 색상을 얻을 수 있나요?
두 남자 사이에 이러한 행동 차이가 나타나는 이유는 무엇입니까?
답변1
less
페이지 뷰어 로 설정 하면 특수 변수를 사용하여 표준 색상을 재정의 man
할 수 있습니다 .less
내 설정의 예:
export LESS_TERMCAP_mb=$'\e[6m' # begin blinking
export LESS_TERMCAP_md=$'\e[34m' # begin bold
export LESS_TERMCAP_us=$'\e[4;32m' # begin underline
export LESS_TERMCAP_so=$'\e[1;33;41m' # begin standout-mode - info box
export LESS_TERMCAP_me=$'\e[m' # end mode
export LESS_TERMCAP_ue=$'\e[m' # end underline
export LESS_TERMCAP_se=$'\e[m' # end standout-mode
또한 다음을 설정해야 할 수도 있습니다.
export GROFF_NO_SGR=''
"새로운" 동작 groff
의 일부 버그 로 인해.
내 Linux 상자를 확인했고 콘솔에서 설정했다면
export LESS_TERMCAP_md=$'\e[4m'
그런 다음 코드는 실제로 밑줄이 그어진 대신 연한 파란색으로 해석됩니다(콘솔에서는 불가능함).
답변2
답변3
사실 대답은 간단합니다. EGA-VGA 컬러 텍스트 모드는 간단합니다.강조하는 능력이 부족하다. 그러므로 groff
적합하다고 판단되는 대체품을 사용하십시오.
fbdev
기술적으로 에뮬레이션은 VGA 제한에 구속되지 않지만 (호환성을 위해) 동일한 의미를 지닌 동일한 화면 버퍼 형식을 사용합니다.
일부 전경/배경 조합을 밑줄로 유지하기 위해 Linux 프레임 버퍼 TUI 에뮬레이터의 코드를 변경할 수 있습니다. 그러나 그 결과는 다음과 같습니다.
- 호환성 문제;
- 커널 확장;
linux
가상의 "새 Linux 콘솔"의 기능은 기존 TERM=linux와 다르기 때문에 새로운 terminfo $TERM 키를 개발해야 합니다( 에 추가로 ).- 로그인 쉘이 그에 따라 $TERM을 설정하는지 확인해야 합니다.
답변4
다른 답변은 흥미롭지만 OP의 질문에 대한 답변은 없습니다. 특정 사용자 정의가 부족한데 일부 터미널이 다른 동작을 보이는 이유는 무엇입니까?
Linux 콘솔은 오랜 역사를 가지고 있습니다(1990년대 초반부터).디스플레이 색상흥미로운 비디오 속성의 경우 지원되지 않습니다. @Incnis Mrsi가 이에 대해 언급했습니다(더 나은 소스가 많이 있지만).
- 그러나 groff는 밑줄을 긋는 능력이 부족하다는 사실을 인식하지 못합니다. 터미널 설명에는 groff가 이를 무시하기 때문에 좋다고 나와 있습니다(하드코딩된 이스케이프를 사용함). 그러나 Linux 콘솔은 이를 다음과 같이 렌더링합니다.그것선택하다.
- 환경 변수에 대한 참고 사항은
less
흥미롭지만 일반적으로 사용되지는 않습니다.
일부 다른 터미널은 비디오 속성을 색상으로 렌더링할 수 있습니다. xterm은 다음을 설정하여 이를 수행할 수 있습니다.자원 colorUL
그리고 colorULMode
(Red Hat 기반 배포판은 일반적으로 이런 식으로 구성되는 것 같습니다). 비슷하게,가치를 얻다예(리소스 기반이기도 하지만 구성 가능성은 낮음).