저는 X와 dwm과 함께 Arch Linux를 사용하고 있습니다. 나는 단순한 st가 아닌 내가 실행 중인 명령을 반영하는 st(이 형편없는 터미널)의 창 제목을 갖고 싶습니다. 예를 들어, CPU 사용량을 모니터링하기 위해 htop을 실행하는 경우 제목을 htop -st로 지정하고 싶습니다. 어떻게 해야 합니까?
편집: 열려 있는 터미널에서 기능을 캡처하는 대신 Xorg 서버에서 이 작업을 처리하고 싶습니다.
답변1
처럼xterm또는 대부분의 다른 터미널 에뮬레이터:
printf '\033]2;%s\033\\' whatever
나머지는 쉘이 결정합니다. 예를 들어 bash에서는 DEBUG
트랩을 사용할 수 있습니다.
set_title(){
local cmd=$BASH_COMMAND
case $cmd in
fg) cmd=$(jobs %); cmd=${cmd##"${cmd% *} "};;
fg\ *|%*) cmd=$(jobs "${cmd#fg }"); cmd=${cmd##"${cmd% *} "};;
esac
printf '\e]2;%s\e\\' "${TERM%%-*} ${cmd//[$'\e\a']/#}"
}
trap set_title DEBUG
다음을 사용하여 해당 창 속성을 설정할 수도 있습니다.
xprop -id "$WINDOWID" -f _NET_WM_NAME 8u -set _NET_WM_NAME whatever
그러나 이것은 su, ssh, screen, tmux 등에서는 안정적으로 작동하지 않습니다.