많은 사람들이 실망스럽게도 탭/창 제목을 더 이상 설정할 수 없습니다.--title
나는 배쉬를 사용하고 있습니다. 원격 서버에 연결하는 데 사용하는 몇 가지 별칭이 있습니다.
alias c:prod='gnome-terminal --hide-menubar --profile=Production \
--title="Production Server" -e "ssh <url>" &'
GNOME 3.14+에서 제목을 설정하는 해결 방법을 찾았으며 입력한 후 명령줄에서 제대로 작동합니다..bashrc
function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$@\a\]"
PS1=${ORIG}${TITLE}
}
그러나 이는 원격 서버에서 배치하고 호출할 때만 작동하는 것 같습니다. .bashrc
즉, 로그인한 후에만 헤더를 변경할 수 있습니다.
어쨌든 연결하기 전에 새 창의 제목을 변경하려고 하면 아무 효과가 없습니다.
alias c:prod='gnome-terminal --hide-menubar --profile=Production \
-e "bash -c \"source ~/.bashrc;set-title Production;ssh <url>\"" &'
터미널이 내 상자에서 실행 중일 때 리모컨에서 창 제목을 설정하는 것이 잘못된 것처럼 느껴지고 사용자가 이를 넣을 홈 디렉토리가 없는 서버에서 작동하도록 할 수 없습니다 .bashrc
.
나무보다 숲이 보이지 않는 곳이 있나요?
답변1
set-title
기능을 다음에 연결하십시오~/.bashrc
.function set-title() { if [[ -z "$ORIG" ]]; then ORIG=$PS1 fi TITLE="\[\e]2;$@\a\]" PS1=${ORIG}${TITLE} }
expect
그렇지 않은 경우 다음을 설치하십시오.sudo apt-get install expect
콘텐츠로 만들기
ProductionServer.sh
:#!/usr/bin/env expect spawn bash expect -re $ {send -- "set-title \"Production Server\"\rclear\rssh [email protected]\rclear\r"} interact exit
매개변수로 실행
gnome-terminal
:gnome-terminal --hide-menubar -e ~/ProductionServer.sh
어쩌면 이 프로세스를 최적화할 수 있지만 문제는 해결되었습니다.