Тепер я досліджував це на більшу частину дня і, нарешті, знайшов спосіб встановити цю назву. Це робиться через послідовності втечі, які починаються з \ e] 0; і закінчується символом BEL (= \ 007 = \ a). В відміну я вже говорилося вище, повідомлення від задньої оболонки до терміналу застосування є можливо, дуже обмежена, з допомогою таких керуючих послідовностей (є дещо більше).
Про це зверху:
PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'
Це може працювати, але це не завжди. PROMPT_COMMAND
- це змінна, вміст якої виконується щоразу, коли ви надсилаєте команду, тому вона також надсилає цю послідовність запуску. Однак це може бути замінено послідовністю евакуації в змінній PS1, яка встановлює рядок командного рядка. Ось чому вищесказане тут не мало ефекту.
Зі старішої установки Ubuntu я схопив це, що встановлює командний рядок (права частина, після ]
), а також надсилає необхідну послідовність відходу (ліва частина, до та включаючи ]
):
PS1="\[\e]0;\u@\h: \w\a\]\u@\h:\w\$ "
Це, ймовірно, справляється краще, тому що не потрібно $PROMPT_COMMAND
щоразу тлумачити . У нього також є багато інших варіантів, тому що Bash має більше послідовностей евакуації, наприклад, \u
для поточного імені користувача, \W
для поточного імені каталога або \w
для всього шляху поточного робочого каталогу, необов'язково обрізаного лише за останні кілька за числом у $PROMPT_DIRTRIM
. Дивіться розділ PROMPTING
на сторінці чоловіка Баша. Також врахуйте, що послідовність втечі додатково повинна бути оточена \[
і \]
тут.
Щоб встановити фіксовану назву, це працює:
PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
Насолоджуйтесь!
Під час мого розслідування я також намагався зрозуміти вихідний код gnome-terminal, який призводить до вихідного коду vte, і там підтримка налаштування заголовка та зчитування послідовностей виходу вважається ризиком безпеки: Дивіться тут (випадок 20, випадок 21) та тут ("Звіт про назву вікна").