Как изменить имя терминала 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 Terminal и изменить заголовок окна, вам придется использовать PS1. Ниже вы найдете информацию о том, как это сделать.


Терминал Gnome 2 был форкнут как mate-terminal, встроенный в Ubuntu 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 Введенооблако-initкоторый может управлять настройкой имени хоста, поэтому 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

Смотрите также:Как изменить имя хоста без перезагрузки?

Связанный контент