當前位置: 首頁>>技術教程>>正文


如何在 ubuntu 16.04 中更改終端標題

, ,

問題描述

當我使用 ubuntu 14.04 時,設置標題很容易。隻需按 F2 或將鼠標移動到頂部菜單。但是 ubuntu 16.04 上沒有菜單,按 F2 不能更改標題。我應該怎麽辦?

最佳回答

許多程序會覆蓋標題,因此您不能依賴標題被固定或不被其他窗口複製。對於 gnome-terminal 中的遠程 ssh 會話尤其如此。它仍然有很大幫助,但它對於窗口管理器進行匹配還不夠可靠(這就是我認為他們刪除它的原因。(Amias Channer 的補充))所以這個能力已經被最新的 gnome-terminal 取消了,但是仍然有更改標題的可能性,您可以通過命令進行。要實現這一點,請輕鬆編輯您的 ~/.bashrc 文件並添加以下行:

# function to set terminal title
function set-title(){
  if [[ -z "$ORIG" ]]; then
    ORIG="$PS1"
  fi
  TITLE="\[\e]2;$*\a\]"
  PS1="${ORIG}${TITLE}"
}

有了這個,您可以通過簡單地使用命令 set-title <name you want to set it to> 來設置終端窗口的標題。由於 ANSI 轉義碼,這是可能的,因此任何程序都可以輸出它們,而不管代碼在哪裏運行。這就是 \\e 和 \\a 位的作用。 (由 Amias Channer 補充)。

solution I found here 並自己使用它,因為我在 16.04 LTS 上運行。

次佳回答

Videonauth 的解決方案是 bash-specific,這意味著如果您使用其他一些 shell(例如 korn shell 或 c shell 或 mksh 或 tcsh),它將無法正常工作。它還通過編輯 PS1 提示設置標題(由於某種原因,這對 bash 中的標題有影響)。下麵是帶有 mksh 的 gnome-terminal 示例:

我個人使用的是這樣的:

setTitle() {
    echo -e "\033]0;$@\007" 
}

該命令使用轉義序列並且是 shell-agnostic ,這意味著它可以在 bash 以外的 shell 中使用。小缺點是如果你想調整它,你需要知道 ASCII 轉義序列。

第三種回答

這是我在 ~/.bashrc 文件中使用的函數:

function termtitle() { PS1="${PS1/\\u@\\h: \\w/$@}"; }

添加(或更改)後,您必須為文件提供資源:

. ~/.bashrc

要使用它,請鍵入以下內容:

termtitle Special Projects

更改一次標題後,您必須再次更改它:

. ~/.bashrc
termtitle My new title

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/12983.html,未經允許,請勿轉載。