禁止在 tmux 中重命名窗口

禁止在 tmux 中重命名窗口

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

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

"root@pelleplutt: /hom" 10:51 17-Mar-17

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

(0)  0: ksh93* "root@pelleplutt: /home/ubuntu" 

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

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

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

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

set-window-option -g allow-rename off
set-window-option -g automatic-rename off

在我的.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]]

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

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

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.

设置printf "\ektest\e\\"底部显示的文本左边test如果allow-rename是则为on,但如果设置为 则不off

答案1

tmux-users 列表中的一个线程询问此问题

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

Prefix在+ 的输出中w

(0)  0: ksh93* "root@pelleplutt: /home/ubuntu" 

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

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

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

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

答案2

它已更改选项名称。所以输入“man tmux”并需要检查命令。

$ tmux -V
tmux 3.1b

$ man tmux

 ...
 ...

 automatic-rename [on | off]
         Control automatic window renaming.  When this setting is enabled, tmux will rename the window automatically
         using the format specified by automatic-rename-format.  This flag is automatically disabled for an individual
         window when a name is specified at creation with new-window or new-session, or later with rename-window, or
         with a terminal escape sequence.  It may be switched off globally with:

               set-option -wg automatic-rename off

相关内容