我在 OpenBSD 中使用tmux
(tmux
在 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
允许重命名影响窗口名称而不是标题。
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