Sie können eine Escape-Sequenz von innerhalb von tmux an das übergeordnete Terminal senden, indem Sie Ihre Escape-Sequenz wie folgt transformieren:
- verdopple alle Vorkommen von
\e
- voranstellen
\ePtmux;
- anhängen
\e\\
Wenn Sie beispielsweise st als Terminalemulator verwenden, kann ich Farbe # 1 (rot) der Palette durch Ausführen neu definieren
printf '\e]4;1;#aa0000\a'
Um das gleiche innerhalb von tmux zu machen, muss ich verwenden
printf '\ePtmux;\e\e]4;1;#aa0000\a\e\\'
Wenn Sie ein Shell-Skript / eine Shell-Funktion zum Wechseln der Farben verwenden, überprüfen Sie die $TMUX
Umgebungsvariable. Wenn es nicht leer ist, sind Sie in tmux.