我一直在阅读关于这个话题的文章这里并尝试给出的解决方案来更改终端名称(参见项目编号 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
也可以看看:如何在不重启的情况下更改主机名?