【发布时间】:2015-02-12 10:41:13
【问题描述】:
我使用ssh 连接到远程计算机并在远程计算机上启动byobu 会话。每当我在 byobu 窗口中更改目录时,窗口都会重命名为 username@remote-pc:~/.../.../...。当我使用F8 重命名窗口时,该名称将持续到下一个cd。
如何防止这种情况发生?
【问题讨论】:
我使用ssh 连接到远程计算机并在远程计算机上启动byobu 会话。每当我在 byobu 窗口中更改目录时,窗口都会重命名为 username@remote-pc:~/.../.../...。当我使用F8 重命名窗口时,该名称将持续到下一个cd。
如何防止这种情况发生?
【问题讨论】:
我在 Fedora 上遇到了同样的问题。
在每个 bash 会话中,PROMPT_COMMAND 默认在 /etc/bashrc 中设置为 __vte_prompt_command
man bash 说
PROMPT_COMMAND
If set, the value is executed as a command prior to issuing each primary prompt.
__vte_prompt_command 定义在/etc/profile.d/vte.sh
type __vte_prompt_command给了
__vte_prompt_command is a function
__vte_prompt_command ()
{
local pwd='~';
[ "$PWD" != "$HOME" ] && pwd=${PWD/#$HOME\//\~\/};
printf "\033]0;%s@%s:%s\007%s" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)"
}
为防止这种情况,您可以在 ~/.bashrc 中采购 /etc/bashrc 后添加 unset PROMPT_COMMAND
您可能还希望仅在 byobu 会话中执行此操作,您可以为此测试 byobu 环境变量 (BYOBU_RUN_DIR?)
【讨论】:
此答案适用于 zsh 用户。
我现在用 zsh 发生过两次这种情况。令人沮丧。在这里发帖,以便我可以在未来寻找解决方案(并希望能帮助任何其他迷失的灵魂)。
在~/.zshrc你会发现
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
取消注释 DISABLE_AUTO_TITLE="true" 使其看起来像
# Uncomment the following line to disable auto-setting terminal title.
DISABLE_AUTO_TITLE="true"
别担心,未来的我
【讨论】:
在使用 tmux 时,您可以通过在~/.byobu/.tmux.conf 中添加以下内容来防止任何程序重命名窗口:
set-option -g allow-rename off
【讨论】: