urxvt-256의 tmux에서 배경 이미지를 변경하려면 printf 명령을 사용하십시오.

urxvt-256의 tmux에서 배경 이미지를 변경하려면 printf 명령을 사용하십시오.

tmux에서는 printf 명령을 사용할 수 없습니다.

배경을 동적으로 변경하는 명령은 다음과 같습니다.

printf "\e]20;/home/alexsson/Downloads/alternativ.png;\a"

urxvt에서 직접 이 작업을 수행할 수 있습니다.

여기에 이미지 설명을 입력하세요.

그리고 화면 내에서:

여기에 이미지 설명을 입력하세요.

하지만 이 printf 명령은 tmux에서는 전혀 작동하지 않습니다.

여기에 이미지 설명을 입력하세요.

tmux에서 어떻게 작동하게 할 수 있는지 아시나요?

추신: 여기에도 비슷한 질문이 있습니다.tmux 및 제어 시퀀스 문자 문제. 그러나 올바른 검색어를 사용하지 않으면 문제를 찾기가 어려울 수 있습니다. 나는 어떤 검색어를 사용해야 할지 모르지만 더 일반적인(단순한 배경 변경과 같이) 더 많은 사용자에게 내 게시물이 흥미로울 것이라고 생각했습니다. 이에 대한 문서도 많지 않습니다.

답변1

urxvt, 세 가지 터미널 에뮬레이터가 tmux있는데 screen, 첫 번째는 X11을 디스플레이/입력용 백엔드로 사용하고 나머지 두 개는 호스트 터미널을 사용합니다.

tmux실제 터미널 에뮬레이터 이며 screen일부 이스케이프 시퀀스(굵은 문자 속성, 화면 지우기 등)로 활성화되는 많은 기능을 구현합니다.배경 그림지원되는 기능이 아닙니다.

또한 screen/ tmux세션은 모든 유형의 호스트 터미널에 연결될 수 있으며 심지어 여러 호스트 터미널에 동시에 연결될 수도 있습니다( 를 사용하여 -x). 일부는 이 기능을 지원할 수도 있고 일부는 지원하지 않을 수도 있습니다.

screen인식하지 못하는 이스케이프 시퀀스를 전달합니다 tmux. OSC( )로 시작하는 시퀀스는 \e]BEL( / )로 끝납니다. a가 보일 때까지(또는 다음 이스케이프 시퀀스)를 읽고, 시퀀스를 인식하지 못하면 해당 시퀀스를 버립니다.\a^Gtmux\e]\a

하지만,tmux 호스트 터미널에 임의의 텍스트를 그대로 전달하는 것을 지원합니다.주문 으로 \ePtmux;\e<text>\e\. 여기서는 다음과 같이 할 수 있습니다.

printf '\ePtmux;\e\e]20;/home/alexsson/Downloads/alternativ.png;\a\e\\'

그럼에도 불구하고 이는 다소 위험한 기능이라는 점을 유의하시기 바랍니다 rxvt. 예를 들어, rxvtLinux에서 루트로 실행 중이고 cat malicious-file이와 유사한 파일을 실행하는 경우 \e]20;/dev/watchdog\a(워치독이 있는 시스템에서) 시스템은 몇 초 후에 재부팅됩니다.

관련 정보