我使用 ssh 连接到远程计算机并在远程计算机上启动 byobu session 。每当我在 byobu 窗口中更改目录时,该窗口都会重命名为 username@remote-pc:~/.../.../... 。当我使用 F8 重命名窗口时,该名称将持续到下一个 cd

我怎样才能防止这种情况?

最佳答案

我在 Fedora 上遇到了同样的问题。

在每个bash session 中,PROMPT_COMMAND/etc/bashrc中默认设置为__vte_prompt_commandman 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)"
}

为了防止这种情况,您可以在 unset PROMPT_COMMAND 中采购 /etc/bashrc 后添加 ~/.bashrc
您可能还想仅在 byobu session 中执行此操作,您可以为此测试 byobu 环境变量( BYOBU_RUN_DIR ?)

关于ssh - byobu 在 ssh session 中重命名窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28475335/

10-11 21:42