Вы можете отправить escape-последовательность изнутри tmux на содержащий терминал, преобразовав вашу escape-последовательность следующим образом:
- удвоить все случаи
\e
- перед именем
\ePtmux;
- присоединять
\e\\
Например, используя st в качестве моего эмулятора терминала, я могу переопределить цвет # 1 (красный) его палитры, выполнив
printf '\e]4;1;#aa0000\a'
Чтобы сделать то же самое из Tmux, я должен использовать
printf '\ePtmux;\e\e]4;1;#aa0000\a\e\\'
При использовании сценария / функции оболочки для переключения цветов проверьте $TMUX
переменную среды. Если он не пустой, значит вы внутри tmux.