답변:
명령:
스크립트 는 기본 우분투 터미널 인 gnome-terminal을 사용하고 있다고 간주합니다 .
스크립트를 실행하기 전에 gnome-terminal을 열고 원하는 다른 설정 (배경색, 텍스트 색, ..)으로 일부 프로파일 (편집> 기본 설정> 프로필)을 만드십시오. 이름을 Profile1, Profile2, Profile3 등으로 지정할 수 있습니다. 열려는 터미널 수를 포괄 할 수있는 충분한 프로파일을 작성하십시오. 그러나 더 많은 수의 터미널을 열면 기본 프로파일이 사용됩니다.
이 스크립트는 ~ / .Bash_Color_Changer 파일을 생성하는데,이 파일 은 터미널이 정기적으로 열렸는지 또는 .bashrc 호출 후 스크립트에 알리기 때문에 파일에 의존합니다 .
~ / .bashrc 파일 끝에 스크립트를 추가 하십시오.
스크립트:
추가 .bashrc
:
#Change color according to the number of Bash shells opened
#Creates the .Bash_Color_Changer file if it's not present
if ! [ -f ~/.Bash_Color_Changer ]; then
echo ORIGINAL > ~/.Bash_Color_Changer
fi
#Array holding the name of the profiles: Substitute it for the names you're using
Color_counter=(Profile1 Profile2 Profile3)
#Finds out the number of opened bashs counting the lines containing "bash"
#in the pstree function. (-c deactivates compact display to avoid it showing
#lines with "2*[bash]" instead of one for each bash)
Number_of_bashs=$(($(pstree -c | grep "bash" | wc -l)-1))
#Checks if the terminal being opened was opened by the user or by
#the script, and act according to it
if [ $(cat ~/.Bash_Color_Changer) = ORIGINAL ]; then
if ((Number_of_bashs < ${#Color_counter[*]})); then
echo COPY > ~/.Bash_Color_Changer
gnome-terminal --tab-with-profile-internal-id=${Color_counter[${Number_of_bashs}]}
exit
fi
else
echo ORIGINAL > ~/.Bash_Color_Changer
fi
테스트되었지만 광범위하지는 않습니다. 즐겨!
exit
같은 파일 을 기반으로 조건부를 추가합니다 ~/bashcolor.txt
. 열린 bash가 "원본"인지 "복사본"인지 말할 줄이있을 수 있습니다. 따라서 cat ~/bashcolor.txt
"ORIGINAL"을 반환하면 exit
명령이 실행 echo COPY > ~/bashcolor.txt
됩니다. 그렇지 않으면 엑시트가 실행되지 않지만 파일은 원래 ( echo ORIGINAL > ~/bashcolor.txt
) 로 돌아갑니다 . 깜박이는 터미널 문제를 해결합니다.
Number_of_bashs=$(($(($(pstree -c | grep "bash" | wc -l)-1))%${#Color_counter[@]}))
하나의 옵션으로 사용할 수 있습니다 xfce4-terminal
. 기본 우분투 터미널 ( gnome-terminal
)과 매우 유사 하며 많은 종속 패키지가 gtk 구성 요소를 사용하므로 적합한 대안입니다.
먼저 설치
sudo apt-get install xfce4-terminal
그런 다음 파일을 열고 편집 -> 환경 설정으로 이동하여 색상 탭을 선택 하고 각 탭의 배경색을 바꾼 다음 지금 종료 옵션을 확인하십시오 .
기본 터미널을 만들 xfce4-terminal
거나 바로 가기를 변경하여 Ctrl-Alt-T
엽니 다.
유용한 링크:
하하, 매우 흥미 롭습니다. 나도 이것을 시도 할 수 있습니다. 나는 주로 여러 터미널과 브라우저를 실행합니다.
그래서 나는 둘러보고 이것을 발견했습니다 -https : //github.com/sos4nt/dynamic-colors . 원하는 것의 일부를 달성하는 데 도움이되는 매우 깔끔한 작은 프로젝트.
이제 colorschemes/
해당 프로젝트 의 디렉토리 에 현재 4 가지 색 구성표가 있음을 알 수 있습니다. 필요 / 원하는만큼 추가 할 수 있습니다.
다른 색 구성표를 선택하는 모든 터미널을 얻을 그래서, 나는에 기능을 추가 할 내 .bash_profile
또는 .bashrc
어디든지, 함수가 다음과 같은 두 가지 작업을 수행하도록 :
dynamic-colors switch colorscheme-name
(1)에 따라 명령을.도움이 되었기를 바랍니다!
추신 : 나는 당신을 위해 스크립트를 작성하지만 숟가락 수유를 싫어하고 게으른 af입니다. :)
gnome-terminal --load-config=FILE
Konsole은 실제로이 기능을 기본적으로 지원합니다. Konsole은 실제로 강력하고 사용자 정의가 가능합니다.
Konsole이 없다면 간단히 sudo apt install konsole