如何更改Ubuntu的終端名稱

如何更改Ubuntu的終端名稱

在此輸入影像描述

我一直在讀關於這個主題的文章這裡並嘗試了更改終端名稱的解決方案(請參閱第1項的圖片)

但他們都不能更改終端的名稱(第 1 項)。

user@linux:~$ gnome-terminal --title="SOME TITLE HERE"
user@linux:~$ 

user@linux:~$ PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'
user@linux:~$ 

user@linux:~$ echo -ne "\033]0;SOME TITLE HERE\007"
user@linux:~$ 

我知道第 2 項可以用 更改PS1。但即使我更改了標題(項目編號1)仍然沒有改變PS1

user@linux:~$很好。我不想更改此設置,我只想重命名頂部的終端標題(項目編號 1)

答案1

此功能gnome-terminal --title自 Gnome v3 起已刪除



Gnome 2 終端已分叉為 Ubuntu Mate 中捆綁的 mate 終端。該title選項在此版本中仍然可用
sudo apt-get install mate-terminal
在此輸入影像描述


使用 Gnome Terminal,設定視窗標題的一種方法是使用 PS1
您可以向檔案新增函數.bashrc並呼叫它來更改視窗/選項卡標題

nano ~/.bashrc
新增功能

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

source ~/.bashrc重新加載
set-title Some new title以更改視窗/選項卡標題

在此輸入影像描述

限制:當程式變更 PS1 時,​​標題也可能會變更(例如:ssh 到另一台主機將重設自訂標題)

答案2

hostnamectl set-hostname在 13.10+ 桌面上

如果您有 systemd(13.10 以上版本)且 cloud-init 未啟動(請參閱下文),這是最好的方法:

hostnamectl set-hostname 'new-hostname'

它:

  • 不需要重新啟動
  • 重啟後仍然存在

更多資訊請見:https://askubuntu.com/a/516898/52975

18.04 及以後:cloud-init

18.04 推出雲端初始化它可以控制主機名稱的設置,因此hostnamectl如果安裝了 cloud-init,則更改在重新啟動後不會保留。 TODO:如何檢查它是否已安裝,是預設安裝在桌面映像上還是僅安裝在伺服器上?

如果您希望hostnamectl更改在重新啟動後保留,那麼您需要編輯雲端初始化設定檔,停用 cloud-init主機名稱設定/更新模組

sudo sed -i 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg

或完全停用 cloud-init:

sudo touch /etc/cloud/cloud-init.disabled

也可以看看:如何在不重新啟動的情況下更改主機名稱?

相關內容