如何更改 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。但即使我更改了PS1

user@linux:~$没问题。我不想更改这个,我只想重命名顶部的终端标题(项目编号 1)

答案1

该功能gnome-terminal --title自 Gnome v3 起已被删除,
如果您想保留 Gnome 终端并更改窗口标题,您将必须使用 PS1,请参阅下面的操作方法。


Gnome 2 终端已分叉为 Mate 终端,捆绑在 Ubuntu Mate 中。title此版本仍提供此选项
sudo apt-get install mate-terminal
在此处输入图片描述


使用 Gnome 终端,设置窗口标题的一种方法是使用 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 配置文件,禁用 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

也可以看看:如何在不重启的情况下更改主机名?

相关内容