如何修改byobu設定的終端機標題?

如何修改byobu設定的終端機標題?

使用 byobu 時,我的終端選項卡的標題設定為user@fqdn (IP) - byobu,根據網域的不同,該標題可能會很長。我怎麼才能將其限制為更短的內容,例如user@hostname,或者更好的是,讓我們zsh設定標題?我嘗試過設置BYOBU_NO_TITLE=1,如下這個錯誤,但是我認為,這允許本地 shell 設定標題,而不是遠端 shell。

這可能非常煩人,因為終結者將每個選項卡標題的長度設為相同,因此一個很長的標題足以使所有選項卡都變得很長。最糟糕的情況是,如果我可以簡單地將其中一些修剪到最大長度(例如user@f ... byobu),我希望它。

我已經添加了一個函數來.zshrc設定標題:

case $TERM in
    xterm*|screen*)
        if [[ -n $SSH_TTY ]]
        then
            precmd () {print -Pn "\e]0;%m: %~\a"}
        else
            precmd () {print -Pn "\e]0;%~\a"}
        fi
        ;;
esac

如果我不使用 byobu,這會起作用:

在此輸入影像描述

左邊的選項卡是沒有 byobu 的 SSH 會話,右邊的選項卡是帶有 byobu 的 SSH 會話。

根據 Serg 設定IP_EXTERNAL為 1 的建議,我可以去掉 IP,縮短標題。我更喜歡將 zsh (或其他應用程序,例如 Vim)設定的標題傳遞到終端的解決方案 - 看起來 byobu/tmux 阻止了它們。

答案1

更新:2015 年 4 月 10 日

我當前的不依賴 shell 或終端的使用的解決方案是wmctrl從腳本中使用,並將腳本的完整路徑放在.byoburc.適用於 gnome-terminal、terminator、sakura - 幾乎任何 termimal 這是腳本:

#!/bin/bash
# Description: byobu always has string ") - byobu" in it's window title
# like user@hostname (192.168.0.2) - byobu
# So why not find windows with exact same string, and tell wmctrl to
# set the title for us ? That's all we do here

BYOBU_WINDOW=$( wmctrl -lx | awk '/) - byobu/ {print $1}' )
sleep 0.5
wmctrl -ir $BYOBU_WINDOW -N "MYTITLEHERE"

原帖

就目前而言gnome-terminal,您可以設定個人資料首選項以保留個人資料設定中指定的初始標題。下面是我的 byuobu 的螢幕截圖,其中保留初始標題選項,並替換初始標題選項

截圖1

在此輸入影像描述

至於終結者,我會下載並看看是否同樣適用於它。

答案2

我發現 byobu 在後端使用 tmux。並且 tmux 確實有一些方法可以使用以下行來設定終端標題.byoubu/.tmux.conf

set -g set-titles on
set -g set-titles-string "#(pwd)"

#(pwd)其設定為工作目錄的選項範圍可以在 tmux 手冊頁的格式部分下找到

深入挖掘一下,似乎 byobu 預設情況下正好註釋這兩行以/usr/share/byobu/profiles/tmux設定自己的自訂標題

相關內容