Назад | Перейти на главную страницу

автоматически изменить "заголовок" gnome-terminal для окна

Попытка изменить заголовок текущего gnome-терминала (аналогично «установить заголовок», который вы можете сделать вручную »)

Система работает под управлением Fedora 9. HowTo Xterm-Title обсуждает, как установить подсказку для xterm. Пытался реализовать escape-последовательности безуспешно. (может быть что-то странное ..)

Пытался использовать gconftool для сброса / изменения / загрузки измененных атрибутов conf, и снова безуспешно. Кроме того, установите PROMPT_COMMAND на тот случай, если команда подсказки каким-то образом изменила заголовок (что весьма сомнительно)

Поиск в сети показывает, что несколько человек безуспешно пытались решить эту проблему ...

Я также хотел бы выяснить, как создать новый gnome-терминал с уникальным заданным заголовком ...

как только это будет решено, я с радостью создам быструю рецензию / сообщение о том, как это сделать для других ...

Спасибо

Чтобы изменить заголовок текущего окна:

wmctrl -r :ACTIVE: -N "MyWindowTitle"

Взгляните на свой / etc / bashrc (или аналогичный). В современных дистрибутивах Linux это уже есть - возможно, вам просто нужно включить его.

Например, в openSuSE это обрабатывается функцией bash:

ppwd () 
{ 
    local _t="$1" _w _x _u="$USER" _h="$HOST";
    test -n "$_t" || return;
    test "${_t#tty}" = $_t && _t=pts/$_t;
    test -O /dev/$_t || return;
    _w="$(dirs +0)";
    _x=$((${#_w}-18));
    test ${#_w} -le 18 || _w="...${_w#$(printf "%.*s" $_x "$_w")}";
    printf "\e]2;%s@%s:%s\007\e]1;%s\007" "$_u" "$_h" "$_w" "$_h" > /dev/$_t
}

а мой PS1:

$(ppwd \l)\u@\h:\w>

Это приводит к тому, что мой заголовок xterm & gnome-terminal устанавливается на user @ host: / smartpath каждый раз, когда отображается приглашение.

Если вы дочитали до этого места, вы должны знать, что простой способ задать заголовок один раз:

echo -e '\e]2;Title Text\007\e]1;\007'

Основываясь на ответе MikeyB выше, я создал этот краткий скрипт csh, title чтобы изменить заголовок:

#!/bin/csh
echo -n "\e]2;$1\007\e]1;\007"

Это можно вызвать как: ./title "My New Title"

Я получил изменение названия, работая в скрипте с помощью xtitle. При возврате из сценария gnome-terminal подсказка изменяет заголовок обратно на то, что было.

Вот командная строка для изменения приглашения (и заголовка):

PS1="\[\e]0;NewTitleHere\a\]\u@\h:\w\$ "

и вот сценарий, который я использую:

#!/bin/bash
xtitle ServerName
ssh user@server.doma.in
gnome-terminal --title="My New Terminal" &

Может запускать бесконечное создание терминальных процессов, которые приведут к остановке вашей машины. Удалите это сообщение пользователя.

Попробуйте вместо этого

printf '\033]0;SOME TITLE HERE\007' #set Terminal title

Последовательности xterm отлично работают для gnome-terminal. Какую оболочку вы используете и что вы добавили в файл конфигурации оболочки?

Чтобы создать новый gnome-терминал с уникальным заданным заголовком, вы можете указать заголовок в командной строке:

gnome-terminal --title="My New Terminal" &

Ох, столько ответов ...

Я пробовал wmctrl, который почти работал, за исключением того, что я не мог заставить его изменить заголовок значка, по крайней мере, не навсегда.

Решение заключается в том, что PS1 в ubuntu устанавливает заголовок.

По умолчанию PS1

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 

... который устанавливает заголовок в первой escape-последовательности.

Таким образом, есть два решения:

Решение 1. упростите PS1, затем используйте PROMPT_COMMAND

Измените PS1 на что-нибудь попроще:

PS1="\u@\h:\w\$ "

... затем используйте PROMPT_COMMAND:

PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'

Решение 2: напрямую изменить PS1

Просто измените PS1 с новым названием:

PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '