콘솔 색상을 지정하려고 하는데 루트에서 다음과 같은 성공을 거두었습니다 .bash_profile
.
echo -en "\e]P7000000"
echo -en "\e]P0F0F0F0"
clear
문제는 이것이 루트가 처음 로그인할 때만 시작된다는 것입니다. mingetty
올바른 콘솔 색상을 자동으로 설정하는 방법이 있습니까 ? 제안된 솔루션은 대부분의 시스템과 마찬가지로 RHEL6 및 RHEL7(즉, systemd)에서 작동해야 합니다. 이는 터미널 에뮬레이터나 SSH가 아닌 일반 콘솔 색상에 관한 것입니다(전자는 관련이 없으며 후자가 사용자 구성 문제로 간주된다는 데 동의합니다).
답변1
당신은 넣을 수 있습니다단어주석에 제안된 대로 문자를 이스케이프하십시오 /etc/issue
(Red Hat은 때때로 이 작업을 수행합니다). 빠른 테스트 후에는 작동하지만텍스트. 배경은 무색이다. vi에서 텍스트는 다음과 같습니다.
^[]P7000000^[]P0F0F0F0\S
Kernel \r on an \m
결과는 다음과 같습니다.
화면이 지워지면 색상이 창을 채웁니다. 예를 들어,
^[]P7000000^[]P0F0F0F0^[[2J\S
Kernel \r on an \m
그 중에는 vi에 삽입된 ^[
ASCII 문자 와 이스케이프 문자가 있습니다.escapecontrolV
수정은 문제가 발생했을 때 기계에서 수리할 수 있는 /etc/issue
한 비교적 안전합니다 . 로그인하기 전에 파일을 인쇄하세요 .ssh
mingetty
ssh
그러나 같은 방식으로 수정하고 싶을 수도 있습니다 /etc/motd
(결국,저것도 인쇄됩니다.) 그러나 이는 문제를 야기합니다. 스크립트에서 일단 \e
교체하면단어ASCII 이스케이프 문자
echo -en "\e]P7000000"
echo -en "\e]P0F0F0F0"
당신은 얻을 것이다
escape]P7000000
escape]P0F0F0F0
이스케이프 시퀀스 표준(ECMA-48)은 escape]다음 과 같이 명시합니다.운영 체제 명령이것은 ~이 될 것이다문자열 종결자. Linux 콘솔 구현에서는 사용할 수 없습니다. .ssh를 사용하여 잘못 종료된 이스케이프 시퀀스를 인쇄하려고 하면 /etc/motd
ssh에 연결하면 흥미롭고 혼란스러운 터미널 잠금이 발생할 수 있습니다 xterm
. resources 에 해결 방법(적어도 xterm의 경우)이 있습니다 brokenLinuxOSC
.
추가 자료: