我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\\"
显示的文本设置为,但如果设置为,则不设置。test
allow-rename
on
off
允许重命名影响窗口名称而不是标题。
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)