Могу ли я изменить имя вкладки guake, чтобы показать текущую команду?

Я очень активно использую guake и использую ssh на более чем 3 компьютерах в любой момент времени. У меня также есть демоны, работающие на некоторых вкладках (терминалах). Что я хочу знать, возможно ли иметь имя текущей команды в качестве имени терминала? Если щелкнуть правой кнопкой мыши вкладку и изменить ее имя, это можно сделать следующим образом: (посмотрите на вкладку после терминала 5)

Look at the tab after Terminal 5

Спасибо.

13
задан 30 December 2010 в 08:30

6 ответов

Немного хак, но это переименует текущий терминал во все, что вы ssh'ed.

function ssh() {
    guake -r "$@";
    /usr/bin/ssh $@
}

Также, если вы обновите свой PROMPT_COMMAND, у вас может быть функция для обновления имени терминала каждый раз. Хотя это не сработает для вашей проблемы с ssh, так как оно меняет имя только после выполнения команды.

, например,

export PROMPT_COMMAND=renameTerminal

function renameTerminal() {
    guake -r "$SOMENAME";
}
0
ответ дан 30 December 2010 в 08:30

Если вы измените свою оболочку на zsh, вы можете добавить ее в ~/.zshrc:

preexec() {
    echo -n '\e]0;'
    echo -nE "$1"
    print -nP '  (%~)'
    echo -n '\a'
}

, и она покажет текущую команду и текущий рабочий каталог. Это работает для всех терминальных эмуляторов, а не только для guake.

Чтобы установить zsh:

sudo apt-get install zsh

, чтобы попробовать, просто скажите

zsh

, чтобы сделать его по умолчанию для новых терминалов:

chsh -s /bin/zsh 
0
ответ дан 30 December 2010 в 08:30

Когда я хочу изменить имя вкладки в guake, я просто щелкаю правой кнопкой мыши по имени вкладки и щелкаю левой кнопкой мыши по имени. Откроется всплывающее окно для ввода нового имени.

0
ответ дан 30 December 2010 в 08:30

Вы можете просто изменить имя вкладки с помощью

guake -r newtabname

. Если вы хотите получить последнюю запущенную команду, используйте, например,

echo "!!" | cut -f 1 -d " "

!!. введи это. Он не расширяется путем подстановки псевдонимов. Таким образом, вы должны использовать встроенный history, чтобы выполнить расширение, чтобы поместить его в псевдоним:

alias setguaketitle='guake -r $(echo "$(history -p !! )"| cut -f 1 -d " ")'

, когда вашей последней командой была

echo this is a test

, а затем вызывается

]
setguaketitle

установит заголовок на «эхо».

0
ответ дан 30 December 2010 в 08:30

Я не уверен, что это работает для guake, оно работает для большинства эмуляторов терминала. Вы можете включить эхо в свои скрипты, чтобы изменить заголовок терминала:

echo -ne "\033]0;your_title_here\007"
0
ответ дан 30 December 2010 в 08:30

Это ошибка в guake (0.4.1). Я просто вижу и решаю эту проблему через этот отчет об ошибках, хотя автор говорит, что это не лучший метод: https://github.com/Guake/guake/issues/205

[ 113] Я обнаружил, что перемещение кода уничтожения диалога (строка 983 guake.py) вниз после кода, который устанавливает метку вкладки (строка 986), фактически решает проблему. поэтому код, который работает для меня, выглядит следующим образом:

    response = dialog.run()
    # dialog.destroy() 

    if response == gtk.RESPONSE_ACCEPT:
        self.selected_tab.set_label(entry.get_text())

    dialog.destroy()

, возможно, есть некоторая проблема с gtk и диалогами, но я не нашел никаких изменений кода, связанных с gtk, в версии 0.4.1 diff .

РЕДАКТИРОВАТЬ : guake 0.4.2 может правильно изменить имя вкладки

0
ответ дан 30 December 2010 в 08:30

Другие вопросы по тегам:

Похожие вопросы: