禁止在 tmux 中重命名窗口

Kus*_*nda 5 tmux window-title

tmux在 OpenBSD 中使用(tmux在 OpenBSD 6.1-beta 的基础系统中),并在 Linux 主机上进行一些开发。

每当我登录 Linux 主机时,它都会重命名当前tmux窗口。这是我的窗口右下角显示的内容tmux

"root@pelleplutt: /hom" 10:51 17-Mar-17
Run Code Online (Sandbox Code Playgroud)

prefix-W将完整窗口名称显示为

(0)  0: ksh93* "root@pelleplutt: /home/ubuntu" 
Run Code Online (Sandbox Code Playgroud)

(这是在登录到我当前正在使用的 lxc 容器之后)。

即使在退出 Linux 主机后,这也是窗口的名称,而且它仍然存在,这有点烦人。

我希望它要么(自动)改回登录 Linux 主机之前设置的状态,要么根本不改变。

我试图通过使用来禁止窗口重命名

set-window-option -g allow-rename off
set-window-option -g automatic-rename off
Run Code Online (Sandbox Code Playgroud)

在我的.tmux.conf文件中,但这似乎并不能阻止设置窗口名称的任何内容。

我有什么想法可以正确地禁止窗口重命名tmux吗?


附加信息:

OpenBSDtmux不告诉版本:

$ command -v tmux
/usr/bin/tmux

$ tmux -V
tmux: unknown option -- V
usage: tmux [-2Cluv] [-c shell-command] [-f file] [-L socket-name]
            [-S socket-path] [command [flags]]
Run Code Online (Sandbox Code Playgroud)

Linux 主机(lxc 容器中的 Ubuntu 16.04)上的变量PS1设置为

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Run Code Online (Sandbox Code Playgroud)

allow-rename手册部分tmux

allow-rename [on | off]
    Allow programs to change the window name using a terminal
    escape sequence (\ek...\e\\).  The default is on.
Run Code Online (Sandbox Code Playgroud)

如果是,则将左下角printf "\ektest\e\\"显示的文本设置为,但如果设置为,则不设置。testallow-renameonoff

Jig*_*aga 4

来自tmux-users 列表中询问此问题的线程

允许重命名影响窗口名称而不是标题。

Prefix在+的输出中w

(0)  0: ksh93* "root@pelleplutt: /home/ubuntu" 
Run Code Online (Sandbox Code Playgroud)

该部分考虑的"ksh93"窗口名称。它可以通过转义序列设置,并通过选项保护。tmux\033k...\033\\allow-rename

"root@pelleplutt: ..."部分就是标题。它是由转义序列设置的\033[2;...\033\\,并且tmux没有选项来保护它。

为了防止远程系统更改标题,您可以从PS1变量中删除该序列:

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
Run Code Online (Sandbox Code Playgroud)